Processing教室:递增迭代

时事   2024-11-09 22:33   云南  

日本艺术家ひさだん的开源作品,代码如下👇

float r, p, d=500, t;

void setup() {

size(800, 800, P3D);

}

void draw() {

background(#F0E0D0);

noStroke();

fill(0, 30);

camera(900, 800, 700, 0, 0, 0, 0, 0, -1);

for (r=0; r<TAU; r+=PI/99) {

for (p=0; p<PI; p+=PI/99) {

push();

rotateX(r);

rotateY(p);

translate(d*sin(r)*cos(p+t), d*cos(r)*cos(p), d*sin(p+t));

box(30);

pop();

}

}

t+=PI/250;

}

讲解👇

  1. 变量声明:

    float r, p, d = 500, t;
  • 声明了四个浮点数变量:r(圆周角),p(极角),d(距离,初始化为500),和t(时间变量)。

  • 设置函数 setup():

    void setup() {
    size(800, 800, P3D);
    }
    • setup() 函数用于初始化设置,这里设置窗口的大小为800x800,并使用P3D模型以支持3D绘图。

  • 绘图函数 draw():

    void draw() {
    background(#F0E0D0);
    noStroke();
    fill(0, 30);
    camera(900, 800, 700, 0, 0, 0, 0, 0, -1);
    • draw() 函数会不断被调用,负责绘制每帧的内容。

    • background(#F0E0D0); 设置背景颜色。

    • noStroke(); 不绘制形状的边框。

    • fill(0, 30); 设置形状的填充颜色为半透明黑色。

    • camera(900, 800, 700, 0, 0, 0, 0, 0, -1); 设置相机的位置和朝向。

  • 嵌套循环:

    for (r = 0; r < TAU; r += PI / 99) {
    for (p = 0; p < PI; p += PI / 99) {
    • 外层循环通过r控制圆周角的变化(从0到两个PI),内层循环通过p控制极角的变化(从0到PI),以便生成一个三维空间中的点。

  • 绘制盒子:

    push();
    rotateX(r);
    rotateY(p);
    translate(d * sin(r) * cos(p + t), d * cos(r) * cos(p), d * sin(p + t));
    box(30);
    pop();
    • push(); 和 pop(); 用于保存和恢复坐标系统的状态。

    • rotateX(r); 和 rotateY(p); 分别根据角度rp旋转坐标系。

    • translate(...) 根据计算的位置在3D空间中平移(应用圆和极坐标)。

    • box(30); 在当前坐标绘制一个边长为30的立方体。

  • 时间变量更新:

    t += PI / 250;
    • 每帧结束后,时间变量t递增,使得在下一帧中,t会影响位置的计算,从而产生时间变化的效果。

    整体来看,这段代码实现了一个动态的3D立方体展示,显示在一个3D空间中,随着时间的推移,立方体的位置不断变化。


    如果对这种生成艺术感兴趣,欢迎关注我的Processing课程


    我们的工作是探索编程和数学在艺术和设计中一切可能性,形式不限,艺术创作,跨界合作,展览展示,品牌活动等等。位于大洋彼岸的洛杉矶,我们的使命是建设和维护全球华人创意编程和算法艺术社群,形式有开展线上教学,举办社群活动,策划举办艺术展览,挖掘发现本地社群里值得被传播的人和事通过自媒体进行传播。

    我们建了一个读者群

    想进群和其他读者进行精神交流朋友

    加联系微信(推送末尾)

    联 系 我 们

    算法艺术实验室

    探索数学与编程在设计与艺术中一切之可能

    用运算和美学让你变更酷

    主营业务

    科学艺术咨询 | 公共艺术 | 未来舞台美术 | 大数据可视化 | 设计人才猎头 | 品牌Event | 教育

    算法艺术实验室AALab
    探索数学与编程在设计和艺术中的一切可能性
     最新文章