实验原理
绘制圆弧组成花瓣,旋转组合形成樱花,利用递归函数实现花团。
实验代码
//花树实现代码
var a = 40;
var t;
var bg;
function setup(){
bg = loadImage("bg.bmp");
createCanvas(500,438);
noStroke();
}
function draw(){
background(bg);
translate(windowWidth/9, windowHeight/5);
scale(0.7);
FLOWER(a);
}
function FLOWER(x){
t = 53.1301024 / 360 * 2 * PI;
//渐变填充
fill(248,59,59,map(x, 0, a, 40, 240));
flower(x);
if(x <= 3) return 0;
push();
rotate(PI / 2 -t);
translate((3/2)*x,-3*x);
FLOWER(x/5*4);
pop();
push();
rotate( - t);
translate((-3/2)*x,-3*x);
FLOWER(x/5*3);
pop();
}
function flower(x)
{
for(var i = 0; i < 5 ; i++)
{
arc(0, -40, x, 2*x,(-1/2)*PI, (1/2)*PI);
arc(0, -40, x, 2*x,(1/2)*PI, (-1/2)*PI);
rotate(PI * 2 / 5);
}
}
以及没有任何技术含量的小黄人绘制代码:
function cuteGuy()
{
//body
fill(255,215,0,180);