Inkscape tutorial: 插值

Inkscape

教程 | 插值

本文档说明了如何使用Inkscape的插值扩展

介绍

插值可以实现在两个或多个选定路径之间进行线性插值计算。从根本上讲,它意味着"填充路径对象之间的空白"并按给定的步骤数量对其进行变换操作。

To use the Interpolate extension, select the paths that you wish to transform, and choose ExtensionsGenerate From PathInterpolate Between Paths from the menu.

Before invoking the extension, the objects that you are going to transform need to be paths. This is done by selecting the object and using PathObject to Path or Ctrl+Shift+C. If your objects are not paths, the extension will do nothing.

在两条完全相同路径之间进行插值计算

插值扩展的最简单用法是在两个完全相同的路径之间进行插值计算。当执行插值扩展命令后,结果是两个路径对象之间的空白被原始路径的变形副本所填充。插值步数定义了生成这些变形副本的数量。

我们使用下面两条路径进行演示:

现在,选中这两个路径,并使用下面所示的设置运行插值扩展。

从上面的结果可以看出,两个圆形路径之间的空间已被6个(插值步数)其他圆形路径填充。另外有一点需要注意,插值扩展会把这些插入的形状组合在一起成为群组。

在两条不同的路径对象之间进行插值计算

当用两条不同的路径进行插值计算时,程序会将一条路径的形状逐渐变化到另一条路径形状。结果是,您在路径之间获得了一个变形的形状序列,其规则由"插值步数"来定义。

我们使用下面两条路径进行演示:

现在,选中两个路径,然后运行插值扩展。结果应该如下面所示:

从上面的结果可以看出,圆形路径和三角形路径之间的空白已经被6个路径对象所填充,这些路径对象其实是在形状上是从一个路径对象渐渐变化到另一个路径对象。

在两条不同的路径上使用插值扩展时,每条路径的起始节点的位置 很重要。要查找路径的起始节点,请点击选中路径,然后切换到节点工具,此时会显示节点,现在按 TAB键(只按一次)。现在路径上的节点中,有一个节点是处于被选中的状态,这个被选中的节点就是该路径的起始节点。

请参考下面的图像,该图像与上一个示例相同,只是显示了节点。每个路径上的绿色的节点是路径的起始节点。

前面的示例(如下图)是使用这些绿色节点作为起始节点来完成的。

现在请注意,下面图形中的三角形路径被做了镜像处理,镜像变化从绿色节点位置可以看到。镜像后重新进行插值计算的结果如下图所示,与之前的变化明显不同。不同的原因是三角形的起始节点位置发生了变化:

插值方式

One of the parameters of the Interpolate extension is the Interpolation Method. There are 2 interpolation methods implemented, and they differ in the way that they calculate the curves of the new shapes. The choices are either Split paths into segments of equal lengths or Discard extra nodes of longer path.

In the examples above, we used the first Interpolation Method (Split paths), and the result was:

Now compare this to Interpolation Method 2 (Ignore nodes):

这些计算结果差异的原理超出了本文档的范围,因此请直接测试效果即可,并根据测试对比来选择最符合您需要的插值方式,暂时不研究计算原理。

指数

The exponent parameter controls the spacing between steps of the interpolation. An exponent of 1 makes the spacing between the copies all even.

Here is the result of another basic example with an exponent of 1.

The same example with an exponent of 0.5:

with an exponent of 0.3:

and with an exponent of 1.5:

在修改指数参数时,选择目标对象的顺序很重要。在上面的示例中,首先选择左侧的星形路径,然后选择右侧的六边形路径。

View the result when the path on the right was selected first. The exponent in this example was set to 0.5:

再制一份终点路径

此参数定义由插值扩展生成的路径组是否包括原始路径的副本

插值样式

此参数是插值扩展功能的一个巧妙之处。它告诉扩展在每个插值步骤中同时逐渐修改路径的样式(填充和描边)。因此,如果起始路径和结束路径的颜色不同,则生成的中间路径的颜色也会逐渐变化。

下面是在有填充的路径对象上勾选了"插值样式"的示例:

插值样式也会影响路径的描边:

当然,进行插值处理的路径对象在形状上也可以不相同:

使用插值功能创建不规则形状的渐变

在Inkscape中还没有网格渐变工具时,是无法创建线性(直线)和径向(圆形)以外的渐变效果的。但是,可以使用插值扩展和插值样式来模仿实现。下面是一个简单的示例 - 绘制两条具有不同描边的线条:

在两个线条对象之间进行插值计算以创建渐变:

总结

如上所示,Inkscape插值扩展是一个功能强大的工具。本教程介绍了此扩展的基础知识,您可以尝试更多的实验以更深入地了解插值功能的使用和价值。

Authors: Josh Andler; Ryan Lerch; Colin Marquardt; Kris De Gussem; Nicolas Dufour; Sylvain Chiron; Gellért Gyuris; Maren Hachmann

Translators: 驿窗 — 2022

Header / footer design: Esteban Capella — 2019