【No.01】八份简约经典的生成设计入门案例

本文介绍了八份简约而经典的生成设计案例,包括平铺的线条、快乐分裂、无序立方等,通过p5.js实现,详细阐述了每个案例的实现思路,并提供了代码示例。
摘要由CSDN通过智能技术生成

八份简约经典的生成设计入门案例

嗨,感谢你看到我,我是升卿。

已经很久很久没有写博客了。今朝大梦初觉,不由生出“洞中才数月,世上已千年 ”之感。

为了表示 OUT 之后的良心难安外加痛心疾首,我决定将博客的频率提高至一周双更。这真的是一场肥肠痛苦的改革!

现在,我想和你分享几个既简约又经典的生成设计案例。

◉ 平铺的线条(Tiled Lines)
◉ 快乐分裂(Joy Division)
◉ 无序立方(Cubic Disarray)
◉ 一二三(Un Deux Trois)
◉ 催眠方块(Hypnotic Squares)
◉ 圆形填充(Circle Packing)
◉ 皮特·蒙德里安(Piet Mondrian)
◉ 三角网格(Triangular Mesh)

在这里插入图片描述

平铺的线条(Tiled Lines)

“Tiled Lines” 最早的实现是由 Commodore 64(1982 年推出的 8 位家用电脑)编码的艺术作品 “10 PRINT”。

简单的设计思路,惊艳的视觉效果,令其备受关注。

在这里插入图片描述

“Tiled Lines” 的实现思路,★ 升卿

这也是我将其置于前列的原因了:

Tiled Lines,升卿

Tiled Lines,2020/06/21,【升卿版】

这里有最硬核的代码

/* 绘制平铺的线条(Tiled Lines)。*/
function drawTiledLines() {
   
	for (let x = 0; x < width; x += step) {
   
		for (let y = 0; y < height; y += step) {
   
			let leftToRight = random() > 0.5; // 是否从左上角绘制到右下角。
			if (leftToRight) {
   
				// 左上角与右下角连线。
				line(x, y, x + step, y + step);
			} else {
   
				// 右上角与左下角连线。
				line(x + step, y, x, y + step);
			}
		}
	}
}

在这里插入图片描述

快乐分裂(Joy Division)

“Joy Division” 是一支英国摇滚乐队。1979 年,他们发行了首张录音室专辑《Unknown Pleasures》。

在这里插入图片描述

Joy Division - Unknown Pleasures Album Cover Poster

专辑封面由艺术家彼得•萨维尔(Peter Saville)设计,是个数据推动艺术的绝佳案例。

“Joy Division” 的实现思路,★ 升卿

Joy Division,2020/06/21,【升卿版】

这里有最硬核的代码

/* 绘制快乐分裂(Joy Division)。*/
function drawJoyDivision() {
   
	for (let y = 80 * step; y < height; y += 6 * step) {
   
		beginShape();
		for (let x = 0; x <= width; x += step) {
   
			// 连点成线。
			// vertex(x, y);

			// Perlin 噪音。
			// vertex(x, y - 30 * step * noise(x / 50, y));

			// 集中区域。
			vertex(x, y - 100 * step / (1 + pow(x - width / 2, 4) /
				pow(width / 2, 3)) * noise(x / 50, y));
		}
		endShape();
	}
}

收到了一份高级写法,瑟瑟发抖:

f=0
setup=draw=_=>{
   
  createCanvas(300,b=500)
	v=vertex
	f++
	background(0)
	fill(0)
	stroke(b) 
	for(y=100;y<b;y+=5) {
   
		beginShape()
		for(x=0;x<b;++x)
			v(x,y-80/(1+pow(x-150,4)/8e6)*noise(x/30+f/50+y))
		
  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值