p5。js毕达哥拉斯树的实现代码

  

本文介绍了p5。js毕达哥拉斯树的实现代码,分享给大家,具体如下:
  

  

效果如下:

  

 p5。js毕达哥拉斯树的实现代码

  

<强>主要方法

  
      <李>翻译()   <李>旋转()   <李>矩形()   <李> push()   <李> pop()   <李> map()   
  

<强>主要思想

  

递归
  

  

<强>草图

  

 p5。js毕达哥拉斯树的实现代码

  

  

<强>一,毕达哥拉斯树的递归函数

        函数Pythagorian (x) {   noStroke ();   填满(107,142,35岁的地图(x, 0, 150, 255));//根据正方形边长设置填充色   矩形(0,0,x, x);//绘制当前的正方形      如果(x & lt;=3)返回0;//当正方形边长小于3时,结束递归/*绘制右上角的正方形*/push ();   旋转(π/2 - t);//坐标轴顺时针旋转约37度   翻译(0,- x/5 * 3 - x/5 * 4);//坐标轴向上平移3边+ 4边的长度   Pythagorian (x/5 * 4);//递归调用毕达哥拉斯函数   pop ();/*绘制左上角的正方形*/push ();   旋转(- t);//坐标轴逆时针旋转约53度   翻译(0,- x/5 * 3);//坐标轴向上平移3边的长度   Pythagorian (x/5 * 3);//递归调用毕达哥拉斯函数   pop ();      }      之前      

<强>二、声明变量,创建画布

        var=100;//最大正方形边长   var t;//4边所对应的角度   函数设置(){   t=53.1301024/360 * 2 *π;//约为53度   createCanvas (windowWidth windowHeight);//创建画布   背景(255);   noLoop();//画()函数只执行一次   }      

<强>三,开始绘制毕达哥拉斯树

        函数画(){   翻译(windowWidth/2, windowHeight - * 2);//将坐标系平移至画布中间底部   Pythagorian (a);//调用毕达哥拉斯递归函数   }   之前      

绘制毕达哥拉斯树完整代码

        var=100;   var t;   函数设置(){   t=53.1301024/360 * 2 *π;   createCanvas (windowWidth windowHeight);   背景(255);   noLoop ();   }   函数画(){   翻译(windowWidth/2, windowHeight - * 2);   Pythagorian(一个);      }   函数Pythagorian (x) {   noStroke ();   填满(107,142,35岁的地图(x, 0, 150, 255));   矩形(0,0,x, x);      如果(x & lt;=3)返回0;      push ();   旋转(π/2 - t);   翻译(0,- x/5 * 3 - x/5 * 4);   Pythagorian (x/5 * 4);   pop ();      push ();   旋转(- t);   翻译(0,- x/5 * 3);   Pythagorian (x/5 * 3);   pop ();      }      

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

p5。js毕达哥拉斯树的实现代码