Processing学习记录(一)

Processing学习记录(一)

代码

float r=30;  //半径

Qiu[] qiu1=new Qiu[100];   

void setup()
{
  size(800,800);    //画布大小
  
  for(int i=0;i<qiu1.length;i++)
  {
    qiu1[i]=new Qiu(random(0+r/2,width-r/2),random(0+r/2,height-r/2));
  }
}

void draw()
{
  background(198);    //背景色
  
  for(int i=0; i<qiu1.length;i++)
  {
    for(int j=0;j<qiu1.length;j++)
    {
      if(dist(qiu1[i].x,qiu1[i].y,qiu1[j].x,qiu1[j].y)<=100)
      {
        stroke(-12303300);    //边框色
        strokeWeight(2);    //边框宽度
        line(qiu1[i].x,qiu1[i].y,qiu1[j].x,qiu1[j].y);    //画条线
      }
    }
  }
  
  for(int i=0;i<qiu1.length;i++)
  {
    qiu1[i].update();
    qiu1[i].display();
  }
}

class Qiu
{
  float x,y;
  float xs,ys;
  
  Qiu(float _x,float _y)
  {
    x=_x;
    y=_y;
    xs=ran();
    ys=ran();
  }
  
  void update()
  {
    x+=xs*2;
    y+=ys*2;
    
    if(x<=0+r/2)
    {
      xs*=-1;
    }
    if(x>=width-r/2)
    {
      xs*=-1;
    }
    if(y<=0+r/2)
    {
      ys*=-1;
    }
    if(y>=height-r/2)
    {
      ys*=-1;
    }
  }
  
  void display()
  {
    stroke(0);
    strokeWeight(2);
    fill(-3618616);    //背景色
    ellipse(x,y,r,r);    //画个圆
  }
  
  float ran()
  {
    return random(-1,1);
  }
}

效果图

效果图

总结

第一次练手作品

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值