收缩螺旋方管-加工

时间:2018-10-09 20:05:15

标签: processing

我正在尝试作为任务来创建20个大小为500x500px的正方形图案,并在600x600px的屏幕尺寸中间。将每个图像稍微变小并旋转1o,每个图像的alpha值都为40。我已附加了图像的外观。我不知道如何启动它,可能需要很多帮助。预先感谢。

enter image description here

1 个答案:

答案 0 :(得分:1)

通过循环使用功能rect绘制矩形。
使用Alpha通道设置填充颜色。由于默认的带状模式是BLEND,因此对象是blendend。这意味着,如果在同一位置绘制更多对象,则该部分的场景将变得更加饱和。
使用scalerotate连续更改模型矩阵,但在每次循环迭代开始时通过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;
    }
}

预览: