[AI CS3 и ранее] Волна (эффект Zig Zag) с переменными

Veniamin-kHz

Участник
Топикстартер
Сообщения
163
Реакции
18
Нужно получить подобную форму, но в которой амплитуда "волн" и их ширина не будет повторяться (будет варьироваться в заданном диапазоне в каждом элементе, т. е. одна "волна" ниже, другая выше и шире и т. д.). Существует ли готовое решение (какой-нибудь скрипт)? Поиском ничего похожего найти не удалось (отрисовывать вручную - не вариант, в крайнем случае подойдет скрипт на Lazy Nezumi, если такой есть).
 

Вложения

  • 2021-02-20_14-34-10.png
    2021-02-20_14-34-10.png
    4 КБ · Просм.: 274
Первое что приходит на ум без кодинга - нарисовать плоскую волну нужных параметров, создать из нее кисть, применить к окружности, сплющить кисть
 
Сложно. На стыке разных волн будет не гладкая линия, а ломанная.
В таком мелом размере это, наверное, не будет заметно, но всё же...
 
Воспользоваться родным иллюстраторовским инструментом Radar Graph Tool. В свойствах прописать в столбик значения с необходимым разбегом, например
121
122
120
и т.д. Отделить полученную кривую и сгладить ей углы.
 
  • Спасибо
Реакции: afalbert
Тогда уж родной Star Tool, потом сгладить углы. Комбинирование разных амплитуд/частот моделировать наложением и последующим сложением шейпов различных многоугольников
 
Воспользоваться родным иллюстраторовским инструментом Radar Graph Tool. В свойствах прописать в столбик значения с необходимым разбегом, например
121
122
120
и т.д. Отделить полученную кривую и сгладить ей углы.
Так, вроде, только амплитуда меняется, шаг волн получается одинаковой. Но способ интересный, как вариант на заметку пойдет.
Тогда уж родной Star Tool, потом сгладить углы. Комбинирование разных амплитуд/частот моделировать наложением и последующим сложением шейпов различных многоугольников
Какой-то сложный способ, мне бы минимизировать ручную работу, т. к. предполагается, что таких элементов будет МНОГО и каждый раз нужны случайные значения.
 
Так, вроде, только амплитуда меняется, шаг волн получается одинаковой. Но способ интересный, как вариант на заметку пойдет.

Какой-то сложный способ, мне бы минимизировать ручную работу, т. к. предполагается, что таких элементов будет МНОГО и каждый раз нужны случайные значения.
Не вижу ничего сложного, нагенерить много разных звездочек на лист, потом каждый раз выбрать несколько случайных и нажать на кнопку экшна - решение почти однокликовое. Быстрее только кастомным скриптом
 
В общем: нашел я достаточно простое и гибкое решение, поэкспериментирую еще и выложу решение. Пока результат:
 

Вложения

  • 2021-02-20_20-52-52.png
    2021-02-20_20-52-52.png
    6.4 КБ · Просм.: 309

Не по теме:
Когда тема останавливается таким образом, всегда вспоминается это:
Знаешь как заинтересовать идиота?
- Как?
- Завтра расскажу.

 
Невозможно разложить куб на два куба, биквадрат на два биквадрата и вообще никакую степень, большую квадрата, на две степени с тем же показателем. Я нашёл этому поистине чудесное доказательство, но поля книги слишком узки для него.
;)
 
- Завтра расскажу.
Я не забыл, просто нынешний вариант не совсем универсальный (пусть и решает мою задачу) и я надеюсь, что человек к которому я обратился за помощью всё-таки найдет время на написание скрипта. Но если очень надо прямо сейчас то решение такое: делаем фигуру с нужным количеством опорных точек (я использовал многоугольник), затем применяем скрипт "Dup At Selected Anchors" от Hiroyuki Sato, убираем лишнее (оставляем только объекты которые разместились на опорных точках), затем смещаем их случайным образом при помощи "Transform Each", запускаем скрипт "connect_centers_nearest" от того же Hiroyuki Sato и к полученному результату применяем "Zig Zag". Звучит страшно и сложно, но делается за минуту.
 
Звучит просто чудовищно. Как минимум напрашивается оптимизация нескольких первых этапов через blend. А вообще, конечно, прямым решением был бы скрипт, разбивающий окружность на ноды случайным образом с заданным допуском и случайным образом двигающий эти ноды от центра.
 
Звучит просто чудовищно. Как минимум напрашивается оптимизация нескольких первых этапов через blend. А вообще, конечно, прямым решением был бы скрипт, разбивающий окружность на ноды случайным образом с заданным допуском и случайным образом двигающий эти ноды от центра.
Мне не хватает фантазии представить: как Blend в этом случае может упростить процесс :). Да и смысла особого тоже не вижу, в моем варианте работа руками - это несколько щелчков и движений мышью. А скрипт, в моем представлении, должен работать на любом <Path>, не только на окружностях (это частный случай), если уж его и писать.
 
Мне не хватает фантазии представить: как Blend в этом случае может упростить процесс
делаем фигуру с нужным количеством опорных точек (я использовал многоугольник), затем применяем скрипт "Dup At Selected Anchors" от Hiroyuki Sato, убираем лишнее (оставляем только объекты которые разместились на опорных точках),
Это разве не заменяется на Blend? Причем по любой кривой, необязательно окружности
Кстати, я так и не понял, как ваш вариант борется с петлями, вероятность появления которых при случайном движении неслабая
 
Так этап разбиения окружности на нужное количество точек никуда не делся, в чем тогда упрощение?
 
Не надо ничего разбивать, в том-то и дело. Просто изначально нужно делать не окружность, а многоугольник из нужного числа вершин.
 
Последнее редактирование: