Создаем алгоритм для быстрой генерации

закольцованных греческих меандров.

Два года назад, когда я работал над одним из подвесов Astery Jewelry, я встал перед необходимостью создания замкнутого орнамента по типу греческого меандра. Орнамент нужен был один, но вариантов как обычно — чем больше, тем лучше😁 Так что я полез в YouTube искать, как сделать такое в Grasshopper, ведь очевидно, что выстраивать и тестировать на размеры каждый такой вариант — это надо быть сумасшедшим.

Однако там меня ожидало полное разочарование!

К своему удивлению я обнаружил материал лишь одного русскоговорящего автора на эту тему, а в англоязычном Ютубе — и вовсе ни одного! Но метод того автора мне не подходил из-за целого ряда ограничений, в частности, это неизменяемый паттерн, что для меня было критически важно. Что ж, пришлось изобрести свой, более универсальный вариант. Ну а раз , так то вот и тема для урока — точнее, даже двух!

Часть 1. Создаем базовый алгоритм.

Итак, в первом уроке мы приступим к созданию базовой версии алгоритма. В частности, эта базовая версия будет уметь создавать на основе элементов разной формы орнаментальную ленту постоянной ширины и бесшовно растягивать ее вдоль плоской замкнутой кривой, выдавая на выходе плоскую лофтовую полиповерхность. И базовым инструментом здесь у нас выступит нода Flow — одновременный аналог штатных инструментов Flow Along Curve и Flow Along Surface.

Здесь стоит ненадолго отвлечься и упомянуть о том, что некоторое время назад я по счастливому совпадению как раз записывал отдельное подробное видео по работе Flow Along Curve, и если Вы еще новичок в нашем нелегком тридэшном деле, то сперва имеет смысл ознакомиться с этим видео и только потом возвращаться сюда и продолжать. Также, возможно вам сперва понадобится инструкция по установке Grasshopper на Rhino 5. Ну а теперь возвращаемся к самому видео.

Краткое содержание видео:
  • О чем пойдет речь, предыстория и задача.
  • Демонстрация работы готового алгоритма.
  • Разбираем логику работы готового алгоритма.
  • Приступаем к созданию базовой версии алгоритма.
  • Создаем базовую конструкцию для генерации и переноса орнамента с прямой на окружность.
  • Задаем и оптимизируем отступы от центральной линии орнамента, дорабатываем алгоритм.
  • Ремарка относительно требований к геометрии прототипов орнамента.

Часть 2. Совершенствуем алгоритм.

Теперь, когда у нас есть работающий базовый алгоритм, мы можем заняться его усовершенствованием — устранить некоторые баги и добавить дополнительные опции, тем самым сделав его более универсальным.

Краткое содержание видео:
  • Саммари предыдущего урока и план на текущий.
  • Апгрейд №1. Согласовываем оффсетные кривые для большей универсальности.
  • Апгрейд №2. Добавляем опцию генерации орнамента с прямолинейными сегментами.
  • Апгрейд №3. Добавляем опцию переключения между типами сегментов орнамента.
  • Апгрейд №4. Добавляем опцию регулирования ширины орнаментальной ленты.
  • Апгрейд №5. Добавляем орнаменту толщину и опцию ее регулирования.
  • Обсуждаем недостатки полученного алгоритма.
  • Скрытая дополнительная возможность алгоритма.

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

И кстати, уже только сейчас, после публикации видео мне пришла в голову еще одна идея — проверить, сработает ли базовый алгоритм на кольцах, если просто повернуть орнамент или плоскость конструирования на 90 градусов! Надо будет проверить, ну а вы пока делитесь в комментариях, сталкивались ли вы с подобным заданием, и если да, то как его решили? Пользовались ли средствами чистого Rhino или тоже задействовали Grasshopper?

P.S:

К слову, два года назад, когда я непосредственно занимался моделированием этого подвеса (у него, кстати, даже есть название — Radiantum), по завершении работы я опубликовал подробный разбор процесса его создания с разбивкой на этапы и указанием времени, затраченного на каждый из этих этапов. И таких разборов у меня на блоге уже несколько — они публикуются в рубриках Техпроцесс и Оплата труда ювелиров 3D-модельеров. Уверен, многим из вас такие разборы могут оказаться весьма полезными.

P.S.S:

А вообще этот Radiantum, как уже было сказано в начале статьи, делался для молодого бренда моего давнего ученика и товарища — Astery Jewelry — и это весьма интересная и необычная история, в которую я вписался в 2023 году в качестве эксперимента, в рамках которого мы создали первую в мире NFT витрину массового ювелирного бренда!

И хотя на данный момент это не не принесло ни мне лично, ни самому этому ювелирному бренду абсолютно ничего, кроме, разве что, некоторой толики престижа и заслуженного права зваться новаторами от ювелирки, все же эксперимент этот оказался действительно крайне необычным для индустрии электронной коммерции, и возможно, у тех из вас, кто, как и я, интересуется прикладными аспектами новых технологий, статьи на эту тему тоже вызовут интерес.

Курсы Rhinoceros
Мои курсы, которые помогут вам стать профи ювелирного 3D!

Не тратьте время на бессистемный поиск информации и самостоятельное набивание шишек — эти курсы шаг за шагом сделают из вас профессионала в Rhinoceros!

Насколько полезным был этот материал?

Понравился пост? Присоединяйтесь к нам в соцсетях!

Жаль, что материал Вам не понравился :(((