跳到主要内容

开始之前

在纸上画直线和曲线,是大多数人从幼儿园起就已经练习过的技能。 在 open clothes 中,我们用代码绘制直线和曲线,这会更抽象一些, 但只要理解几个基础构件,它并不复杂。

理解用代码设计服装纸样所涉及的概念,会在后续开发中持续带来帮助。 因此我们建议你先熟悉以下主题:

注意
不需要一开始就掌握所有内容​

open clothes 位于制作者与开发者两个世界的交汇处。 如果你有开发背景,可能不需要解释 SVG 是什么,但你可能 并不熟悉服装纸样设计。 如果你的背景是缝纫或纸样设计,你可能会疑惑 NodeJS 到底是什么,以及为什么需要了解它。

很少有人同时熟悉这两个领域,所以开始使用 open clothes 时, 你大概率会一路学到一些新知识。

如果遇到问题, Discord 社区 聊天室 是获得帮助的最佳地点。

可缩放矢量图形(SVG)​

纸样会渲染为 SVG(即可缩放矢量图形) 这是一种基于 XML 的矢量图像格式,也是开放标准。 你不需要成为 SVG 专家,但对这种格式有基本了解, 会非常有助于理解 open clothes。

例如,坐标系统和路径的组织方式 都与 SVG 绘图系统相关,而 SVG 绘图系统又与 PostScript 或 PDF 等其他二维绘图技术密切相关。

坐标系统​

open clothes 和 SVG 中的坐标系统遵循与页面文字相同的规则。 起点位于左上角,向右移动时 X 坐标会增加。 向下移动时 Y 坐标会增加。

X Y

SVG 文档中的坐标系统

上图展示了 X 轴和 Y 轴。 在 X 轴上, 20 比 10. 在 Y 轴上, 50 低于 20.

注意

在许多绘图程序中,Y 轴是反向的,原点 (0,0) 位于左下角,而不是左上角。

这是常见的混淆点,所以要记住:Y 轴可能 并不会按你的直觉方式变化。

open clothes 中的单位​

open clothes 使用 毫米(mm) 作为全部内部单位。 系统支持英制和公制单位,界面可显示为 为 cm 或 inch, 但底层始终以毫米处理。

因此,作为版型设计者,你会直接使用 mm。 当你写 1 时,它表示 1 毫米。 当你写 7.8 时,它表示 7.8 mm。

虽然你可以在 open clothes 网站上使用 cm 或 inch,但那只是 内部单位之上的显示层;内部单位始终是 mm。

理解贝塞尔曲线​

在计算机中,直线只需要起点和终点即可存储, 但曲线需要更多信息。 在 open clothes 中 — 和 SVG 以及许多其他计算机应用一样 — 曲线会被存储为 贝塞尔曲线, 这个名称来自法国工程师 Pierre Bézier,他在 20 世纪 60 年代推广了这种曲线的使用。

在 open clothes 中,我们使用所谓的三次贝塞尔曲线,它包含:

  • 起点
  • 与起点关联的第一个控制点
  • 与终点关联的第二个控制点
  • 终点
Path.curve()

使用 Path.curve() 方法绘制的贝塞尔曲线示例

贝塞尔曲线及其 手柄 或 控制点 其实非常直观。 下面的图很好地说明了它们是如何构造的:

How 贝塞尔曲线 are constructed

你不需要理解贝塞尔曲线背后的数学原理。 只要你能直观理解控制点如何影响曲线,就可以继续使用。

注意
更多关于贝塞尔曲线的内容​

维基百科有一篇不错的 贝塞尔曲线介绍. 如果想深入学习,可以查看 《贝塞尔曲线入门》,作者 Pomax。