Tutorial | Интерполяция Этот раздел учебника описывает использование расширения Inkscape Интерполяция Вступление Интерполяция выполняет линейную интерполяцию между двумя и более выбранными оконтуренными объектами. Суть данной функции — заполнение расстояния между объектами и их трансформация в соответствии с заданным числом шагов. To use the Interpolate extension, select the paths that you wish to transform, and choose ExtensionsGenerate From PathInterpolate 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 Shift+Ctrl+C. If your objects are not paths, the extension will do nothing. Интерполяция между двумя идентичными объектами Самым простым использованием расширения является интерполяция между двумя идентичными объектами. При применении расширения расстояние между двумя объектами заполняется дубликатами оригинальных объектов. Число шагов определяет количество этих дубликатов. Например, возьмём следующие два объекта: Теперь выделите два объекта и запустите интерполяцию с параметрами, показанными на рисунке ниже. Экспонента: 0.0Шагов интерполяции: 6Способ интерполяции: 2Продублировать оконечные контуры: снятоИнтерполировать стиль: снято Как видно из приведённого выше результата, пространство между двумя кругами было заполнено 6-ю (число шагов интерполяции) другими такими же кругами. Также заметим, что расширение сгруппировало их вместе. Интерполяция между двумя различными объектами При интерполяции двух различных объектов программа изменяет форму контура одного объекта в форму контура другого. В результате этого вы получаете промежуточные изменения между объектами, регулярность которых определяется значением шагов интерполяции. Например, возьмём следующие два объекта: Теперь выделите два объекта и запустите интерполяцию. Результат должен быть примерно такой: Экспонента: 0.0Шагов интерполяции: 6Способ интерполяции: 2Продублировать оконечные контуры: снятоИнтерполировать стиль: снято Как видно из приведённого выше результата, пространство между кругом и треугольником заполнено 6-ю объектами, приближающими форму одного контура к другому. Когда расширение Интерполяция используется для двух различных объектов, важно положение начального узла каждого объекта. Чтобы найти начальный узел для объекта, выделите объект, затем выберите инструмент Узлы так, чтобы узлы появились и нажмите TAB. Первый выделенный узел является начальным узлом этого объекта. Посмотрите на изображение ниже. Оно идентично предыдущему примеру, за исключением отображения узловых точек. Зелёный узел на каждом объекте — начальный. Предыдущий пример (см. снова ниже) был создан, исходя из данных положений начального узла. Экспонента: 0.0Шагов интерполяции: 6Способ интерполяции: 2Продублировать оконечные контуры: снятоИнтерполировать стиль: снято Теперь обратите внимание на изменение результата интерполяции, если начальный узел контура треугольника находится в другой позиции: Способ интерполяции Одним из параметров расширения Интерполяция является Cпособ интерполяции. Есть 2 реализованных способа интерполяции и их различие в том, как они вычисляют кривые для новых объектов. Для использования вы можете выбрать способ интерполяции 1 или 2. В приведённых выше примерах мы использовали способ интерполяции 2 и в результате получили: Теперь сравните это с результатом, полученным способом интерполяции 1: Описание различия способов вычисления данного параметра выходит за границы этого документа, так что проще просто попробовать оба способа и использовать тот, который даёт результат, близкий к необходимому. Экспонента Параметр экcпонента контролирует расстояние между шагами интерполяции. Экспонента 0 делает расстояние между копиями объектов равным. Здесь приведён результат другого простого примера с экспонентой 0. Экспонента: 0.0Шагов интерполяции: 6Способ интерполяции: 2Продублировать оконечные контуры: снятоИнтерполировать стиль: снято Тот же пример с экспонентой 1: с экспонентой 2: и с экспонентой -1: Когда имеешь дело с экспонентой в расширении Интерполяция, очень важен порядок выбора объектов. В приведённых выше примерах, звезда слева была выбрана первой, а шестиугольник справа был выбран вторым. Посмотрите результат выбора фигуры справа первой. Экспонента в этом примере была установлена в 1: Продублировать оконечные контуры Этот параметр определяет, будет ли группа сгенерированных расширением объектов содержать копию оригинального контура, к которому применялась интерполяция. Интерполировать стиль Этот параметр является одной из приятных функций эффекта интерполяции. Он предоставляет расширению возможность изменения стиля объектов на каждом шаге. Так что, если начальный и конечный объекты разных цветов, генерируемые объекты будут постепенно меняться. Вот пример, в котором функция Интерполировать стиль была применена по отношению к заливке объекта: Параметр Интерполировать стиль также влияет на обводку объекта: Разумеется, начальный и конечный объекты не обязательно должны быть одинаковыми: Использование интерполяции для имитации нестандартных градиентов At the time when gradient meshes were not implemented in Inkscape, it was not possible to create a gradient other than linear (straight line) or radial (round). However, it could be faked using the Interpolate extension and Interpolate Style. A simple example follows — draw two lines of different strokes: Интерполяция между двумя линиями создаёт градиент: Заключение Как показано выше, расширение Inkscape Интерполяция является мощным инструментом. Этот раздел учебника описывает лишь основы использования этого расширения. Эксперименты являются ключом к дальнейшему изучению интерполяции. Josh Andler; Ryan Lerch; Colin Marquardt; Kris De Gussem; Nicolas Dufour; Sylvain Chiron; Gellért Gyuris Evgenia Sinichenkova — 2012; Artem Zolochevskiy — 2012 Esteban Capella — 2019