ホームページ  >  記事  >  ウェブフロントエンド  >  p5.j​​s はピタゴラス ツリーを実装します (コード付き)

p5.j​​s はピタゴラス ツリーを実装します (コード付き)

php中世界最好的语言
php中世界最好的语言オリジナル
2018-05-09 09:45:242079ブラウズ

今回は、p5.jsでピタゴラスツリーを実装する方法(コード付き)をお届けします。 p5.jsでピタゴラスツリーを実装する際の注意点は何ですか? 以下は実際的なケースです。

効果は次のとおりです:

メインメソッド

  1. translate()

  2. rect()

  3. push ()

  4. ポップ()

  5. マップ()

  6. メインアイデア

再帰

スケッチ

プロセスの内訳

1. ピタゴラス木の再帰関数

function Pythagorian(x){
 noStroke();
 fill(107, 142, 35,map(x, 0, a, 150, 255));//根据正方形边长设置填充色
 rect(0,0,x,x);//绘制当前的正方形
 if(x <= 3) return 0;//当正方形边长小于3时,结束递归
 /* 绘制右上角的正方形 */ 
 push();
 rotate(PI / 2 - t);//坐标轴顺时针旋转约37deg
 translate(0,-x/5 * 3 - x/5*4);//坐标轴向上平移3边+4边的长度
 Pythagorian(x/5*4);//递归调用毕达哥拉斯函数
 pop();
 /* 绘制左上角的正方形 */
 push();
 rotate( - t);//坐标轴逆时针旋转约53deg
 translate(0,-x/5 * 3);//坐标轴向上平移3边的长度
 Pythagorian(x/5*3);//递归调用毕达哥拉斯函数
 pop(); 
}
2. 変数を宣言し、キャンバスを作成します
var a = 100; //最大正方形边长
var t;//4边所对应的角度
function setup(){
 t = 53.1301024 / 360 * 2 * PI;//约为53deg
 createCanvas(windowWidth, windowHeight);//创建画布
 background(255);
 noLoop();//draw()函数只执行一次
}

3. ピタゴラス ツリーの描画を開始します

function draw(){
 translate(windowWidth/2, windowHeight - a * 2);//将坐标系平移至画布中间底部
 Pythagorian(a);//调用毕达哥拉斯递归函数
}
のケースを読んだ後は、それをマスターできたと思います。この記事 さらにエキサイティングな方法については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

JSは正規表現を使用して生年月日を決定します

JSは元の値と参照値をどのように保存しますか

以上がp5.j​​s はピタゴラス ツリーを実装します (コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。