我正在尝试作为任务来创建20个大小为500x500px的正方形图案,并在600x600px的屏幕尺寸中间。将每个图像稍微变小并旋转1o,每个图像的alpha值都为40。我已附加了图像的外观。我不知道如何启动它,可能需要很多帮助。预先感谢。
答案 0 :(得分:1)
通过循环使用功能rect
绘制矩形。
使用Alpha通道设置填充颜色。由于默认的带状模式是BLEND
,因此对象是blendend。这意味着,如果在同一位置绘制更多对象,则该部分的场景将变得更加饱和。
使用scale
和rotate
连续更改模型矩阵,但在每次循环迭代开始时通过resetMatrix
重置模型矩阵。
旋转角度的数量并没有线性增加,但是随着索引i
的增加而增加。
void setup(){
size(500,500);
}
float angle_degree = 1.1;
float scale_percent = 3.7;
float size = 400;
void draw() {
background(255);
stroke(0);
fill(0,0,255,40);
float current_ang = 0;
float current_scale = 1.0;
for( int i=0;i < 20; ++i ) {
resetMatrix();
translate(width/2, height/2);
scale(current_scale);
rotate(current_ang);
rect(-size/2, -size/2, size, size);
current_scale -= scale_percent / 100.0;
current_ang -= i * angle_degree * PI/180.0;
}
}
预览: