用p5临摹一个作品并加以拓展

所临摹图片

在这里插入图片描述
该图的特点:
可以看出它是由不同数量的小圆组成一个大圆
这个静止的图形从里到外按颜色区分有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);

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值