所临摹图片
该图的特点:
可以看出它是由不同数量的小圆组成一个大圆
这个静止的图形从里到外按颜色区分有8个圆
从里到外每一圈小圆的数量都是递增4个
每一圈的小圆形均匀分布
每一圈的转动速度略微有所减少
代码部分
var midx=300;
var midy=300;
var PI=3.1415;
var thta=24/180*PI;
var th=0.7/180*PI;
var R=50;
var count=0;
var flag=0;
//var th=[0.3/180*PI,0.5/180*PI,0.7/180*PI,0.9/180*PI,1.1/180*PI,1.3/180*PI,1.5/180*PI,1./180*PI]
function setup() {
createCanvas(600, 600);
}
function draw() {
var X=0;
var Y=0;
var i,j;
R=10;
//var th=0.3/180*PI;
background(0,0,0,150);
for(j=0;j<8;j++)
{
thta=(360/(4*(j+1)))/180*PI;
for(i=0;i<(4*(j+1));i++)
{
var rota=th*(9-j)*0.09;
fill(red,yellow,blue,220);
ellipse(midx+R*sin(i*thta+rota),midy-R*cos(i*thta+rota),8,7);
//th=th+0.1/180*PI;
}
th=th+0.7/180*PI;
R=R+13;
}
}
拓展部分
将颜色赋予sin以及cos函数,圆圈的颜色就会变化
fill(55*sin(th)+105*sin(i),55*sin(th)+55*cos(i),55*sin(th)+55*cos(i));
将圆形改成椭圆生成的效果更加好看
ellipse(midx+R*sin(i*thta+rota),midy-R*cos(i*thta+rota),sin(i*thta+rota)*12,cos(i*thta+rota)*12);