WEIRD-A Generative Art System 使用教程
weird Generative art in Common Lisp 项目地址: https://gitcode.com/gh_mirrors/we/weird
1. 项目介绍
WEIRD 是一个用于生成艺术系统的开源项目,它通过使用算法来创造独特的艺术作品。该项目基于 Common Lisp 编程语言,利用了 cl-veq 库来进行二维和三维向量数学计算,并提供了一个简单的无向图数据结构。WEIRD 旨在帮助艺术家和开发者通过算法生成艺术,实现创意想法。
2. 项目快速启动
在开始使用 WEIRD 之前,请确保你已经安装了 Common Lisp 环境,并且能够运行 Lisp 代码。
首先,你需要克隆项目仓库并安装所需的依赖库 cl-veq:
git clone https://github.com/inconvergent/weird.git
cd weird
# 确保你的 Lisp 环境已经设置好,然后加载项目
_SBCL --load compile.sh
在 Lisp 环境中,你可以通过以下代码来启动 WEIRD 系统并进行简单的操作:
(in-package :weird)
(let ((wer (make)))
; 添加三个顶点并连接它们
(loop repeat 3 do
(add-edge! wer
(2add-vert! wer (rnd :2in-circ 200.0))
(2add-vert! wer (veq:f2+ (veq:2rep 500.0) (rnd :2in-circ 200.0)))))
; 移动一个顶点
(2move-vert! wer 0 1.0 2.0))
3. 应用案例和最佳实践
WEIRD 的一个典型应用案例是生成随机的图形结构,例如网络或网格。以下是一个生成随机网络的示例:
(in-package :weird)
(let ((wer (make)))
(loop for i from 0 to 10 do
(add-vert! wer (rnd :2in-rect 1000 1000)))
(loop for i from 0 to 20 do
(let ((v1 (rndi (length (get-verts wer)))))
(let ((v2 (rndi (length (get-verts wer)))))
(when (not (= v1 v2)) (add-edge! wer v1 v2)))))
; 绘制图形
(wsvg:draw wer))
在这个例子中,我们首先创建了一些顶点,然后随机地连接它们形成边。最后,我们使用 wsvg:draw
函数来绘制生成的图形。
4. 典型生态项目
WEIRD 可以与其他生成艺术和图形处理项目结合使用,以下是一些典型的生态项目:
- cl-veq:用于向量数学计算的库,是 WEIRD 的基础依赖之一。
- cl-grph:一个提供了更高级图形数据结构的库,可以作为 WEIRD 的扩展。
- AI 绘图工具:例如基于机器学习的绘图库,可以与 WEIRD 结合,为其生成的图形添加额外的样式或修饰。
通过这些生态项目,你可以进一步扩展 WEIRD 的功能,创造出更加多样化和复杂化的艺术作品。
weird Generative art in Common Lisp 项目地址: https://gitcode.com/gh_mirrors/we/weird
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考