vsketch 使用教程
1. 项目介绍
vsketch 是一个基于 Python 的生成艺术工具包,专为绘图机设计。它注重以下几个核心特性:
- 易用性:vsketch 的 API 设计简单,易于学习和使用,灵感来源于 Processing。
- 零摩擦:vsketch 通过命令行工具 vsk 自动化生成艺术项目的所有环节,减少创作过程中的摩擦。
- 绘图机为中心:vsketch 的功能和设计都是为了满足绘图机用户的需求。
- 互操作性:vsketch 与其他流行的包如 Numpy 和 Shapely 无缝集成,为绘图机生成艺术提供了强大的支持。
vsketch 包含两个主要部分:命令行工具 vsk 和一个易于学习的 API,用于实现用户的生成艺术草图。
2. 项目快速启动
首先,确保你已经安装了 Python。然后使用 pipx 来安装 vsketch:
pipx install vsketch
创建一个新项目:
vsk init my_project
这将在当前目录下创建一个名为 my_project
的目录,其中包含了项目的基本结构。
编辑 my_project/sketch_my_project.py
文件,例如:
import vsketch
class SchotterSketch(vsketch.SketchClass):
def draw(self, vsk: vsketch.Vsketch) -> None:
vsk.size("a4", landscape=False)
vsk.scale("cm")
for j in range(22):
with vsk.pushMatrix():
for i in range(12):
with vsk.pushMatrix():
vsk.rotate(0.03 * vsk.random(-j, j))
vsk.translate(0.01 * vsk.randomGaussian() * j, 0.01 * vsk.randomGaussian() * j)
vsk.rect(0, 0, 1, 1)
vsk.translate(1, 0)
vsk.translate(0, 1)
在终端中运行你的草图:
vsk run my_project
3. 应用案例和最佳实践
以下是一个案例,展示如何在 vsketch 中使用参数:
在 sketch_my_project.py
文件中,添加以下参数:
class SchotterSketch(vsketch.SketchClass):
columns = vsketch.Param(12)
rows = vsketch.Param(22)
fuzziness = vsketch.Param(1.0)
# ...
def draw(self, vsk: vsketch.Vsketch) -> None:
# 修改后的 draw 方法
pass
在绘制方法中使用这些参数,并保存和运行你的草图。你可以实时在浏览器中看到参数变化的效果,并进行调整。
保存你喜欢的配置,并生成多个版本:
vsk save --config "Best config" --seed 0..99 my_project
所有生成的 SVG 文件将保存在项目目录下的 output
子目录中。
4. 典型生态项目
vsketch 生态中的一些项目可能包括用于特定类型生成艺术的模板,集成其他绘图机工具的插件,或者用于展示和分享生成艺术的平台。你可以通过探索 GitHub 上的 vsketch 相关项目来发现更多有趣的应用。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考