weird

用 Lisp 代码轻松生成炫酷艺术图形

weird 是一个用 Common Lisp 编写的生成艺术工具库,旨在通过代码创作视觉艺术作品。它解决了传统艺术创作中重复劳动和灵感枯竭的问题,提供了一套简洁而强大的 API,让艺术家和程序员能够用 Lisp 的宏和函数式特性快速生成复杂的几何图案、分形结构和动态视觉。核心能力包括随机化生成、参数化绘图、输出为 SVG 或 PNG 格式,并支持实时预览和迭代调试。项目强调代码即艺术,鼓励通过修改代码参数探索无限视觉可能,适合用于生成海报、纹理、动画帧等创意内容。

开源 free 设计创意
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1596
维护状态 低维护
是否开源 是
定价模式 free

项目数据

分类设计创意
开发团队inconvergent
所属国家
定价模式free
价格说明开源项目,完全免费,无付费版本。
访问状态
是否开源是
开源协议NOASSERTION
主要语言Common Lisp
技术栈/模型art,common-lisp,generative,generative-art,graph,graph-algorithms,lisp,plotter-art,plotters,svg,vector-graphics
GitHub 星标★ 1596
30天Star增速
HF 下载量
上线时间2021-12-11 00:00:00
最近更新2026-09-23 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数4

使用教程

难度:进阶 约 30 分钟 部署方式:库/依赖 5 步

环境要求

  • Common Lisp 环境(README 的 .sbclrc 写法对应 SBCL)
  • Quicklisp(用于安装 weird.asd 中列出的其它依赖)
  • cl-veq 本地安装,且必须是兼容版本 v4.1.0-beta
  • weird 项目源码放在 ASDF/Quicklisp 能搜索到的目录中

安装与启动步骤

  1. 1准备 Lisp 与 Quicklisp

    先装好 Common Lisp 实现(README 示例使用 SBCL 的 .sbclrc)并配置 Quicklisp,否则后续无法安装依赖。README 未给出具体安装命令。

  2. 2本地安装 cl-veq

    README 强调 weird 依赖 cl-veq,必须本地安装最兼容的版本 v4.1.0-beta,否则系统无法正常工作。

  3. 3加载 weird

    在 REPL 中执行,Quicklisp 会按 weird.asd 自动拉取其它依赖并加载系统。

    (ql:quickload :weird)
  4. 4加载失败时手动加载

    如果 quickload 找不到系统,说明 Quicklisp/ASDF 看不到源码目录,可直接用 asd 文件加载。

    (load "weird.asd")
  5. 5配置长期可用

    把项目所在目录加入 Quicklisp 的本地项目目录,写入 .sbclrc 后每次启动都能找到;cl-veq 也要用同样方式可被找到。

    #+quicklisp
    (push "/path/to/dir/containing/weird" ql:*local-project-directories*)

关键配置

配置项必填说明示例
ql:*local-project-directories*否让 Quicklisp 能发现本地项目的目录列表/path/to/dir/containing/weird
.sbclrc否SBCL 启动时读取的初始化文件,可写入上面的 push 配置#+quicklisp (push "/path/to/dir/containing/weird" ql:*local-
cl-veq 版本是weird 依赖的向量数学库,必须为兼容版本v4.1.0-beta

如何确认成功

在 Lisp REPL 中执行 (ql:quickload :weird) 无报错、系统成功加载即视为安装完成。

常见问题

Q:(ql:quickload :weird) 找不到系统怎么办?

A:说明 Quicklisp 或 ASDF 看不到 weird 的位置,可先试 (load "weird.asd");长期方案是把存放 weird 的目录 push 进 ql:*local-project-directories*(写入 .sbclrc)。

Q:为什么必须手动装 cl-veq?

A:README 明确说明 weird 依赖 cl-veq,且必须本地安装最兼容版本 v4.1.0-beta,同时要保证 cl-veq 也能以相同方式被找到。

Q:这个项目还在维护吗?

A:README 声明作者可能不再更新该仓库,建议参考新项目 auxin(精简版),图数据结构改进版见 cl-grph。

Q:weir 的图结构有替代方案吗?

A:README 提到 weir 包中图结构的改进版本在 cl-grph 中,其结构不可变并支持 Datalog 查询。

注意事项

  • README 明确表示可能不再更新此仓库,新项目请关注 auxin。
  • cl-veq 必须本地安装并保证兼容版本 v4.1.0-beta,否则 weird 无法正常工作。
  • Quicklisp 自身的安装步骤 README 未提供,需自行准备环境。
  • 生成作品可通过 cl-veq 的 examples(examples/ex.lisp)了解向量数学用法。

核心亮点

  • 基于 Common Lisp 的宏系统,代码表达力强,可高度自定义生成逻辑
  • 内置多种随机算法和几何变换,快速产出复杂图案
  • 支持 SVG/PNG 输出,方便集成到网页或打印流程

不足之处

  • Common Lisp 学习曲线陡峭,对新手不友好
  • 文档和示例相对较少,社区规模有限

适用场景

  • 艺术家用代码创作数字艺术品
  • 程序员生成动态壁纸或视觉素材
  • 教学场景演示生成艺术与函数式编程结合

替代项目

Processing、openFrameworks、Quil (Clojure)

项目介绍

weird 是图像领域的开源项目,由 inconvergent 开发,2021 年首次发布。

在全站 13,109 个收录项目中,它的 GitHub 星标数(1,596)位列前 30%,在图像分类的 840 个项目里位列前 11%。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-23。完全免费,无付费版本。

它主要面向的使用场景是:艺术家用代码创作数字艺术品。同类可对比的替代方案包括 Processing、openFrameworks、Quil (Clojure)。

上一篇:retrace.gl

下一篇:ArtLine

同类项目推荐

satori 开源

网页代码一键变高清图,放大不糊,不用截图

Enlightened library to convert HTML and CSS to SVG

★ 13967 2026-08-09
C2GAN 开源

用关键点精准控制图像生成,让AI画出你想要的结构

[ACM MM 2019 Oral] Cycle In Cycle Generative Adversarial Networks for Keypoint-Guide···

★ 70 2026-08-09
imagen-pytorch 开源

说句话生成高清图,放大也不糊

Implementation of Imagen, Google's Text-to-Image Neural Network, in Pytorch

★ 8427 2026-08-09