找出規律描繪出三角形的點size(500, 500);
for(int angle=0; angle<360; angle+=120)
{
float angle2 = radians(angle); ---------------radians -> 弧度/徑度
float x = 100+cos(angle2)*50;
float y = 100+sin(angle2)*50;
ellipse(x, y, 2, 2); -----------------------------在每個頂點畫一個小圓當點
}
for(int angle=0; angle<360; angle+=120)
{
float angle2 = radians(angle); ---------------radians -> 弧度/徑度
float x = 100+cos(angle2)*50;
float y = 100+sin(angle2)*50;
ellipse(x, y, 2, 2); -----------------------------在每個頂點畫一個小圓當點
}
將點改為線繪製出封閉的三角形
size(500, 500);
beginShape();
for(int angle=0; angle<360; angle+=120)
{
float angle2 = radians(angle);
float x = 100+cos(angle2)*50;
float y = 100+sin(angle2)*50;
vertex(x,y);
}
endShape(CLOSE);
beginShape();
for(int angle=0; angle<360; angle+=120)
{
float angle2 = radians(angle);
float x = 100+cos(angle2)*50;
float y = 100+sin(angle2)*50;
vertex(x,y);
}
endShape(CLOSE);
讓三角形隨著滑鼠移動而轉動
void setup()
{
size(500, 500);
}
void draw()
{
beginShape();
for(int angle=0; angle<360; angle+=120)
{
float angle2 = radians(angle+mouseX); ------將滑鼠X值加入角度值
float x = 100+cos(angle2)*50;
float y = 100+sin(angle2)*50;
vertex(x,y);
}
endShape(CLOSE);
}
再將三角形隨著滑鼠移動
void setup()
{
size(500, 500);
}
void draw()
{
beginShape();
for(int angle=0; angle<360; angle+=120)
{
float angle2 = radians(angle+mouseX);
float x = mouseX+cos(angle2)*50;
float y = mouseY+sin(angle2)*50;
vertex(x,y);
}
endShape(CLOSE);
}
將三角形的角度改為隨時間轉動
void setup()
{
size(500, 500);
}
void draw()
{
beginShape();
for(int angle=0; angle<360; angle+=120)
{
float angle2 = radians(angle+frameCount); frameCount -> 第幾個frame
float x = mouseX+cos(angle2)*50;
float y = mouseY+sin(angle2)*50;
vertex(x,y);
}
endShape(CLOSE);
}
加分
0427更新
void setup()
{
size(500, 500);
}
void draw()
{
background(255,255,255);
int countX = 0;
int countY = 0;
for(int i=25; i<=500; i+=50)
{
countX += 1;
for(int j=25; j<=500; j+=50)
{
countY += 1;
for(int k=22; k>=5; k-=8)
{
beginShape();
for(int angle=30; angle<360; angle+=120)
{
float angle2 = 0;
if(countX%2 == 0)
{
if(countY%2 == 0)
{
stroke(0,0,0);
angle2 = radians(angle-10);
}
else
{
stroke(255,0,0);
angle2 = radians(angle);
}
}
else
{
if(countY%2 == 0)
{
stroke(255,0,0);
angle2 = radians(angle+10);
}
else
{
stroke(0,0,0);
angle2 = radians(angle);
}
}
float x = i+cos(angle2)*k;
float y = j+sin(angle2)*k;
vertex(x,y);
}
endShape(CLOSE);
}
}
}
}
沒有留言:
張貼留言