简明教程 Processing数组生成图形gif

本文介绍了使用Processing 3.2.3实现了一个名为“万物皆数”的视觉效果,通过简单的代码展示了数字背后隐喻的艺术形式。作者从一位朋友分享的作品获得灵感,使用Processing进行了复现,并提供了一份可运行的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前天快睡了,有位传媒学院的朋友,给我转发链接,问我如何实现的,万物皆数 - 数字背后的隐喻《AIN - 0.1》。我一看,挺有意思的,以前本科也玩过vvvv,挺喜欢这种新媒体艺术相关的形式。
原作者效果实现得很完整,我就下了个processing模仿了一下其万物皆数的概念。后来才发现作者好像是用openframeworks写的,公众号里还有很多有意思的实用教程,原作者Github主页

一、实现过程

本人代码如下,放入processing直接能跑,读者可以将其重写,i值存成数组,增强其可玩性。

int updatei = 0;
int pausei = 0;
int r = 30;
int R = 300;
int backcolor = 150;

void setup() {
  background(backcolor);
  size(500, 500);
}

void draw() {
  if (updatei==R)
  {
    updatei=0;
    background(backcolor);
  }  
  if(updatei%r==0)
  {
    if(pausei<r)
    {
      pausei++;
    }
    else
    {
      pausei=0;
      updatei++;
    }
  }else
  {
    updatei++;
  }
  stroke(255-updatei/r*10);
  noFill();
  ellipse(250, 250, updatei, updatei);  
}

大功告成!

于是心满意足地卸载,睡觉了~
.
.
.

Q&A

Q: 版本
A: processing-3.2.3,Java

Processing是一款非常适合做图形艺术和算法实验的开源编程语言,它可以帮助我们创建交互式视觉效果。要使用Processing生成二维数组形式的迷宫,通常会采用深度优先搜索(Depth First Search, DFS)或广度优先搜索(Breadth First Search, BFS)算法。 以下是基本步骤: 1. 定义一个二维数组来表示地图,其中0代表墙(不可通行),1代表空地(可通行)。 2. 初始化迷宫的起点和终点,以及边界条件。 3. **DFS**方法:从起点开始,随机选择相邻的空地,将其标记为已访问,并尝试继续向四周扩散。如果到达终点或者遇到墙壁,就回溯到最近的未访问置,直到遍历完所有路径为止。 4. **BFS**方法:类似地,从起点放入一个队列中,每次取出一个置,将其周围的空地标记并入队列,直到找到终点或队列为空。 下面是一个简单的示例代码片段: ```processing int[][] maze = new int[width][height]; // width和height是数组大小 maze[startX][startY] = 1; // 设置起点 void generateMaze() { if (isMazeGenerated()) return; // 如果已经生成,不再生成 if (atEnd()) { // 到达终点 fill(0); // 标记终点为黑色 } else { randomizeNeighbour(); // 随机选择一个邻居 maze[currentX][currentY] = 1; // 访问当前置 generateMaze(currentX + dx[currentDirection], currentY + dy[currentDirection]); // 递归处理相邻置 } } // ...其他辅助函数和变量... void setup() { size(width, height); generateMaze(); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值