Heim  >  Artikel  >  Web-Frontend  >  So zeichnen Sie einen Baum mit JS-Code

So zeichnen Sie einen Baum mit JS-Code

零到壹度
零到壹度Original
2018-04-14 15:44:173490Durchsuche

Der Inhalt dieses Artikels besteht darin, Ihnen mitzuteilen, wie Sie einen Baum mit JS-Code zeichnen. Er hat einen bestimmten Referenzwert.

Kapitel Ein Schritt zum Erstellen eines neuen HTML-Dokuments:

<html>  
 <head>   
 <style  type="text/css">   
 /*设置body样式*/      
 body{   
   overflow:hidden;     
   background: black; 
 }   
 </style>   
 </head>   
 <!--设置屏幕背景黑色-->   
 <body>     
    <script src="js.js"></script>   
 </body>
</html>

Der zweite Schritt zum Erstellen eines JS-Dokuments:

//创建画布
var mycanvas=document.createElement("canvas");
//设置树的宽度和高度
mycanvas.width=1500;
mycanvas.height=900;
//绘制画布的对象并设置为2D
var context=mycanvas.getContext("2d");
//设置划线的类型颜色
context.strokeStyle="#ff00ff";
//设置线的宽度
context.lineWidth=2;
//将画布添加到窗体上
document.body.appendChild(mycanvas);
///////////////////////////////////////////
/*---------------画图部分----------------*/
///////////////////////////////////////////
//画树深度
var n=10;
//设置初始角度
var th=-Math.PI/2;
//设置初始位置
var x0=700;
var y0=700;
//调用绘图函数
draw(n-1,700,700,100,th);
/*------------绘制树的函数-------------------*/
function draw(n,x0,y0,length,th){//(画树深度,起始位置x0,y0,长度,度数)
      if(n==0)
  return;
      //计算线条末端坐标
  var x1=x0+length*Math.cos(th);
  var y1=y0+length*Math.sin(th);
  //画线
      drawline(x0,y0,x1,y1);
  //画子树递归
  draw(n-1,x1,y1,0.8*length*(Math.random()+0.4),th+(20+Math.random()*5)*Math.PI/180);
  draw(n-1,x1,y1,0.6*length*(Math.random()+0.5),th-(30+Math.random()*5)*Math.PI/180);
}
/*--------------绘制线段-----------------------*/
function drawline(x0,y0,x1,y1){
context.moveTo(x0,y0);//设置绘制的起点
context.lineTo(x1,y1);//设置线段的末尾
context.stroke();     //绘制
}

Das Endergebnis Das Bild ist wie folgt:




Verwandte Empfehlungen:

Python zeichnet Bäume und Wälder

einen Baum zeichnen

Wie zeichnet man einen Baum mit js-Code

Das obige ist der detaillierte Inhalt vonSo zeichnen Sie einen Baum mit JS-Code. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn