Как превратить отдельные изогнутые линии в одну правильно залитую фигуру в Inkscape
Чтобы превратить отдельные изогнутые линии в одну залитую фигуру в Inkscape, выделите граничные кривые, выберите Контур → Объединить, а затем инструментом «Узлы» соедините соответствующие конечные узлы. Перед заливкой замкните последнюю пару узлов. Команда «Объединить» создаёт один объект, а соединение узлов образует непрерывную границу. Inkscape: логические операции, Параметры инструмента «Узлы».
Этот способ подойдёт начинающим, которые хотят создать единый силуэт из отдельно нарисованных кривых, например внешний контур персонажа. Цель — получить редактируемый замкнутый контур с заливкой, следующей по задуманной границе.
Почему отдельные кривые заливаются неожиданным образом?
Несколько кривых могут выглядеть как замкнутый контур, хотя на самом деле они не соединены. SVG — формат, используемый Inkscape, — заливает открытый подпуть так, будто между его последней и первой точками проведён прямой замыкающий отрезок. Поэтому отдельные изогнутые фрагменты могут образовать клинья или изогнутые участки вместо заливки пространства, которое вы видите между ними. W3C: рисование — свойства заливки.
Вот почему заливка цветом не позволяет надёжно проверить, замкнут ли контур. Путь может быть залит на большой площади, хотя его конечные узлы остаются несоединёнными. Сначала сформируйте нужную границу, затем проверьте её вид.
Представьте две кривые, образующие верхнюю и нижнюю половины овала. Каждая кривая по отдельности может заливать область между своей дугой и условным прямым отрезком. Соедините соответствующие концы, и эти фрагменты станут нужным вам периметром.
Какие кривые нужно включить?
Сохраните рабочую копию перед изменением рисунка. Определите все кривые, составляющие внешний периметр, и не выделяйте внутренние декоративные линии. Для одного силуэта вы должны иметь возможность непрерывно обвести задуманную границу и вернуться к начальной точке.
Перед началом проверьте следующее:
- Определите, где каждая граничная кривая должна соединяться с соседней.
- Решите, должны ли эти стыки быть скруглёнными или заострёнными.
- Проверьте, нет ли лишних линий, пересекающих внутреннюю область.
- Убедитесь, что все объекты являются редактируемыми контурами, а не геометрическими фигурами.
Если у выделенного эллипса, прямоугольника или другой геометрической фигуры отображаются специальные маркеры фигуры, сначала выберите Контур → Объект в контур, а затем редактируйте его узлы. Преобразование заменяет исходные элементы управления фигурой на инструменты редактирования контура, поэтому полезно сохранить рабочую копию. Уже нарисованные как контуры кривые преобразовывать не нужно. Inkscape: редактирование узлов геометрической фигуры.
Помните о разнице между кривой и её видимым контуром. Обводка оформляется отдельно от заливки, а её ширина и окончания влияют на то, что вы видите. Поэтому соприкосновение толстых обводок лишь подсказывает, как расположена исходная геометрия. Inkscape: обводки.
Что выбрать: «Объединить» или «Сумма»?
Если отдельные кривые должны образовать единый непрерывный периметр, начните с команды Объединить. Она сохраняет фрагменты в одном объекте-контура. До соединения они остаются независимыми подконтурами. Команда Сумма решает другую задачу — объединяет площади существующих фигур. Inkscape: логические операции.
| Исходная ситуация | Подходящий способ |
|---|---|
| Открытые кривые образуют участки одного периметра | «Объединить», затем соединить соответствующие конечные узлы |
| Замкнутые фигуры, площади заливки которых нужно объединить | «Сумма» |
| Внешний контур с намеренно оставленным внутренним отверстием | Сохранить отдельные замкнутые подконтуры и выбрать подходящее правило заливки |
Инструментом «Выделение» отметьте только фрагменты периметра, затем выберите Контур → Объединить. Перед тем как продолжить, проверьте результат: один выбираемый объект ещё не означает, что все его фрагменты соединены. В руководстве отдельно различаются составной контур из нескольких подконтуров и несколько отдельных объектов-контуров. Inkscape: логические операции.
Как соединить кривые и замкнуть границу?
Нажмите N, чтобы включить инструмент «Узлы». Обходите периметр, соединяя по одному стыку за раз:
- Приблизьте первый нужный стык.
- Выберите два конечных узла.
- Используйте команду Соединить выделенные узлы, если они должны слиться в один узел.
- Используйте команду Соединить выделенные конечные узлы новым сегментом, если между ними должен остаться соединительный отрезок.
- Повторите для каждого стыка, включая последнюю пару, которая замыкает контур.
Команда слияния объединяет выбранные узлы в один, стараясь сохранить форму контура. Команда соединения конечных узлов добавляет отрезок. За раз выбирайте одну нужную пару: в руководстве отмечено, что при соединении большего количества узлов могут быть соединены ближайшие конечные узлы, и это могут оказаться не те узлы, которые вы хотели соединить. Inkscape: параметры инструмента «Узлы».
В примере с овальной формой из двух кривых выберите соответствующие левые конечные узлы и соедините их, затем выберите и соедините соответствующие правые. Если соединить только одну сторону, контур останется непрерывным, но открытым. Это соответствует описанной в SVG структуре пути: путь может состоять из соединённых сегментов, а замкнутый подпуть возвращается к начальной точке. W3C: пути.
Если трудно выбрать оба узла, щёлкните один, а затем, удерживая Shift, щёлкните другой или обведите их небольшим прямоугольником выделения узлов. В первоначальной документации инструмента «Узлы» Inkscape описаны оба способа. Вики Inkscape: переработка инструмента «Узлы».
Как сохранить плавность кривых в местах соединения?
После соединения границы проверьте каждый стык: нет ли нежелательного угла или выпуклости. Соединение обеспечивает связность, а тип узла и его управляющие ручки определяют, как контур проходит через стык.
Используйте гладкий узел, если контур должен переходить плавно: его ручки выровнены по одной линии через узел. Выберите угловой узел, если нужна острая вершина или независимая настройка кривизны с каждой стороны. У симметричного узла обе ручки дополнительно имеют одинаковую длину, поэтому выбирайте его, только если это ограничение подходит контуру. Inkscape: о типах узлов.
Выберите узел стыка и задайте нужный тип с помощью соответствующей кнопки, затем настройте ручки, следя за обеими соседними кривыми. Проверяйте стыки по одному, чтобы понять, улучшает ли локальное изменение весь силуэт. Не преобразуйте все узлы в гладкие, если в рисунке есть намеренно острые углы.
Как залить готовую фигуру и устранить оставшиеся проблемы?
Выберите готовый контур и откройте Объект → Заливка и обводка. На вкладке Заливка выберите сплошной цвет и задайте нужный оттенок. В разделе Цвет обводки оставьте контур или нажмите крестик, чтобы отключить его. В диалоговом окне параметры заливки и обводки настраиваются отдельно. Inkscape: диалоговое окно «Заливка и обводка».
Если результат выглядит не так, как ожидалось, выполните диагностику по порядку:
- Диагональный отрезок пересекает нужную внутреннюю область: проверьте соответствующие соединения конечных узлов; возможно, открытый подпуть заливается по условному замыкающему отрезку.
- Осталось неожиданное отверстие: проверьте, нет ли лишнего подконтура, перекрывающейся петли или самопересечения, прежде чем менять правило заливки.
- Объект не виден: убедитесь, что для заливки выбран цвет, а не режим «Без заливки», и проверьте непрозрачность.
- Стык выглядит заострённым: проверьте тип узла и его ручки.
Правила заливки имеют значение, если контуры пересекают сами себя или содержат вложенные подконтуры. При правиле чётный-нечётный вложенный контур может создать отверстие независимо от направления. При правиле ненулевой учитывается также направление пути. Для простого замкнутого контура без самопересечений менять правило не нужно. Сначала исправьте границу, а затем займитесь намеренно оставленными отверстиями. W3C: правило заливки по направлению обхода.
Если заливка невидима, проверьте альфа-канал цвета и общую непрозрачность объекта. В SVG непрозрачность заливки задаётся отдельно, а в Inkscape общий параметр непрозрачности влияет на заливку и обводку вместе. W3C: непрозрачность заливки, Inkscape: диалоговое окно «Заливка и обводка».
Как проверить готовую фигуру?
Инструментом «Узлы» проверьте каждый бывший стык, затем оцените силуэт в предполагаемом размере просмотра. Для описанного здесь цельного контура периметр должен представлять собой одну замкнутую петлю без оставшихся открытых фрагментов. В SVG различаются замкнутый и открытый подконтуры, даже если их конечные узлы находятся в одном месте. Поэтому просто переместить два узла друг к другу недостаточно. W3C: команда closepath.
В завершение проверьте три вещи: граница соединена, кривые имеют нужные углы и переходы, а заливка покрывает нужную внутреннюю область. Когда всё это совпадает с замыслом, сохраните редактируемый SVG, чтобы силуэт было легко дорабатывать.
Источники
- Параметры инструмента «Узлы» — руководство для начинающих по Inkscape
- Логические операции — руководство для начинающих по Inkscape
- Редактирование узлов геометрической фигуры — руководство для начинающих по Inkscape
- Обводки — руководство для начинающих по Inkscape
- О типах узлов — руководство для начинающих по Inkscape
- Диалоговое окно «Заливка и обводка» — руководство для начинающих по Inkscape
- GSoC2009: переработка инструмента «Узлы» — вики Inkscape
- Рисование: заливка, обводка и маркеры — SVG 2, W3C
- Пути — SVG 2, W3C
