2023年9月28日 星期四

week03

 


WEEK 03-1


1.寫入繪畫程式碼


2.多加程式讓執行視窗可畫出線條



3.多加背景顏色設定,只看到白點在移動


4.添加迴圈程式來增加白點的數量


5.添加新的迴圈 並讓白點靠近時會有連線的特性

程式碼

for(int i=0; i<20; i++)

  {

    ellipse(x[i],y[i],5,5);

    for(int k=0;k<20;k++)

    {

     stroke(255,0,0);

     if(dist(x[i],y[i],x[k],y[k])<100)

     {

       line(x[i],y[i],x[k],y[k]);

     }

    }

    x[i]+=dx[i];

    y[i]+=dy[i];

    if(x[i]<0||x[i]>500)dx[i]=-dx[i];

    if(y[i]<0||y[i]>500)dy[i]=-dy[i];

  }




WEEK 03-2


1.添加代數N來改變白點及連線密集數量



2.增加顏色改變程式

     float d = dist(x[i],y[i],x[k],y[k]);

     stroke(2.55*(100-d));


3.增加調整白點線條間的吸引力程式

       dx[i]+=(x[k]-x[i])*0.00001;

       dy[i]+=(y[k]-y[i])*0.00001;



WEEK 03-3


1.開新檔後 利用顏色選擇器選擇想要的顏色,並把顏色代碼打上背景

background(#12CDFA) ;




2.多加一個新的顏色模式 colorMode

在background的顏色宣告中打上隨意顏色的RGB數值

添加frameCount%會讓背景顏色持續變化

void setup()

{

   size(500,500); 

   colorMode(HSB,360,100,100);

}

void draw()

{

   background(frameCount%191,83,95) ;

}



3.開新程式並利用HSB色彩模式弄出彩虹

size(400,400); 

colorMode(HSB,400);

for(int i=0;i<400;i++)

{

    for(int j=0;j<400;j++)

    {

       stroke(i,400,400);

       point(i,j);

    }

}


4.開新程式,寫讓球體並排排列的程式

且每次顏色會隨機選擇一種呈現


5.新增點擊時會讓顏色隨機呈現


6.增加會讓一顆顏色不重複的程式

void setup()

{

   size(300,300); 

   colorMode(HSB,360,100,100);

   chooseColor();

}

void mousePressed()

{

   chooseColor(); 

}

int I,J;

float h,s,b,dh,ds,db;

void chooseColor()

{

   h=random(360);

   s=random(50,100);

   b=random(50,100);

   I=int(random(5));

   J=int(random(5));

   dh=random(-10,+10);

   ds=random(-10,+10);

   db=random(-10,+10);

}

void draw()

{

   background(203,63,65);

   for(int i=0;i<5;i++)

   {

    for(int j=0;j<5;j++)

    {

        if(i==I&&j==J) fill(h+dh,s+ds,b+db);

        else fill(h,s,b);

       ellipse(30+j*60,30+i*60,60,60); 

    }

   }

}




































沒有留言:

張貼留言