Головоломка

Список разделов Blender 3D Моделирование

Описание: Темы, так или иначе связанные с моделированием в Blender
Модератор: exooman

Сообщение #1 nautilus » 09.01.2014, 06:38

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

Приступил к моделированию (скриншоты):
1 - Добавил в сцену икосаэдр и сделал из него додекаэдр.
2 - На каждой грани сделал центр.
3 - Сделал subdivide с значением 2 и удалил ненужные вершины.
4 - Соединил вершины ребрами (как показано на схеме).
5 - Удалил ненужные полигоны и конвертнул меш в кривую.
6 - По средствам bevel object, на кривую наложил квадратное сечение.

Проблема:
Нормаль, одной из граней полученного бруска, должна быть направлена в центр всего объекта, а она направлена не понятно куда.
Вопросы:
1 - Как сделать, чтоб нормаль (одной из граней полученного бруска) была направлена в центр всего объекта?
2 - Правильно ли я подошел к решению задачи? Может есть другой способ моделирования?
nautilus
Аватара
Откуда: Украина, Хмельницкий
Сообщения: 655

Сообщение #2 nautilus » 10.01.2014, 21:00

Забыл добавить скриншот самой проблемы =-)
Изображение
На рис. «неправильно» показана ситуация на данный момент (нормаль направлена не понятно куда.).
На рис. «правильно» показано как надо сделать (нормаль направлена в центр всего объекта).
nautilus
Аватара
Откуда: Украина, Хмельницкий
Сообщения: 655

Re: Головоломка

Сообщение #3 maleficmax » 11.01.2014, 11:20

Не совсем понял вопрос. Судя по постановке вопроса, он сложнее, чем мне кажется. Инвертировать нужную нормаль - не то?
Не стоит путать небо со звездами, отраженными ночью в поверхности пруда. А.Сапковский
Моя свалка | Уроки
maleficmax M
добрый админ
Аватара
Откуда: Україна, Кременчук
Сообщения: 3725


Re: Головоломка

Сообщение #4 nautilus » 11.01.2014, 11:26

нет, не инвертировать. Надо сделать так, чтоб одна из нормалей каждого бруска была направлена в центр всего обьекта.
nautilus
Аватара
Откуда: Украина, Хмельницкий
Сообщения: 655

Сообщение #5 Андрей Кныш » 01.02.2014, 18:28

nautilus, попробуйте сделать это с помощью радиального массива. Бруски идут по кругу относительно центра.
Андрей Кныш M
Аватара
Сообщения: 4

Сообщение #6 maleficmax » 01.02.2014, 18:45

Андрей Кныш, nautilus уже шикарно решил эту задачку. Кстати, будет супер, если он продублирует здесь решение!
Не стоит путать небо со звездами, отраженными ночью в поверхности пруда. А.Сапковский
Моя свалка | Уроки
maleficmax M
добрый админ
Аватара
Откуда: Україна, Кременчук
Сообщения: 3725


Сообщение #7 Андрей Кныш » 01.02.2014, 21:00

Можно взять цилиндр с пятью гранями, бевел каждому ребру отделяющему грани, лишнее удалить, далее экструд образовавшимся полигонам по направлению нормалей. Но массивом вроде быстрее получится. А затем эту группу из пяти брусочков дублируем и поворачиваем сначала по оси Х на 60 градусов, затем по оси Y на 60 градусов. Далее опять дубль группы и опять повороты. Вроде должно получиться. А вообще да, хотелось бы узнать про метод nautilus - a.
Андрей Кныш M
Аватара
Сообщения: 4

Сообщение #8 newman » 01.02.2014, 23:43

Да вроде задачка не сложная (если я правильно понял)
Сначала на вершинах делаем полигоны, а затем по ним дуплифейс
Вот сделал на вершинах кубика. Нормали, автоматом в центр смотрят
Вложения
fr.jpg
newman
Аватара
Сообщения: 979

  • 1

Сообщение #9 nautilus » 02.02.2014, 02:20

Картинки
Головоломка "Солнышко" - http://izdereva.net.ua/?p=1105
Вот еще картинки, похожие вещи:
Изображение Изображение

Изображение Изображение
Фото 1 - фото другой головоломки. Фото 2,3,4 - смоделированы в Google SketchUp и взяты с http://taffgoch.deviantart.com/gallery/?offset=24
Решение #1
После обсуждения выше поставленных вопросов в чате форума, пришли к выводу, что данную задачу было б хорошо реализовать через скрипт (или аддон), но за не имением познаний и навыков программирования — скрипт остается мечтой.
Прискорбно осознавать, что подобные, более сложные вещи реализованы в каком-то googlesketchup-e и продаются по пять баксов за модель, а blender остается в стороне.
Модель заканчивать надо, будем моделировать как умеем и как получается)
И так, приступим:
1,2,3,4 - Делаем как написано выше.
5 - Удаляем ненужные полигоны, выделяем все вершины, нажимаем E, S, alt+M to center. (рис. 6)
6 - Дублируем объект, выделяем один из полигонов, конвертируем выделение, удаляем выделенное. Под средством экструда приводим грань к виду как показано на рис. 7 (сечение подбираем на глаз), лишнее удаляем. Таким же образом делаем еще пару брусков, потом их дублируем и расставляем в нужном порядке.
Нормали всех брусков направлены точно в центр объекта (рис. 8)
Изображение
Головоломка «Солнышко» готова (рис. 9)
п.с. премного благодарен за помощь grayich, sattva, maleficmax.
Решение #2
http://taffgoch.deviantart.com/art/Nexorade-Concept-Illustrated-209480777 - эта картинка не давала мне покоя.

Альтернативный способ (расширенный)

1. Добавляем в сцену икосферу для шаблона: Shitt+A — Mesh — Icosphere (Subdivisions=1, Size=1)

2. Добавляем в сцену пустышку (рис. 1): Shitt+A — Empty — Plain Axes
В N-панели ставим запрет на поворот по оси X и Y.

Изображение

3. Добавляем в сцену плоскость: Shitt+A — Mesh — Plane
Переходим в режим Edit Mode и удаляем две вершины (рис. 2)
Оставшиеся вершины, используя привязку, перемещаем на вершины икосферы, как показано на рис. 3.
Выделяем все вершины и нажимаем W, Subdivide (Number of Cuts=2). Центр вращения ставим на 3D Cursor и нажимаем R+Y+58,28 (рис. 4).
Выходим из режима Edit Mode, переименовываем меш в E01 и нажимаем R+Y+Y+(-58,28), т.е. поворачиваем локально на прежнее место (рис. 5). Конвертируем меш в кривую.

4. Добавляем в сцену плоскость: Shitt+A — Mesh — Plane (Dimensions: X=0,1, Y=0,1, Z=0).
Переходим в режим Edit Mode и нажимаем W, Subdivide (Number of Cuts=1).
Выходим из режима Edit Mode, конвертируем меш в кривую, тип кривой ставим на 2D.
Переименовываем кривую в S01 (рис. 6).

5. Выделяем кривую E01 и в Bevel Object выбираем S01.
Добавляем ограничители Copy Scale и Copy Rotation (настройки - рис. 7)

Изображение

6. Дублируем кривую E01 (выделяем, нажимаем Shitt+D, R+Z+72) и переименовываем в E02.
Перенастраиваем ограничитель Copy Scale (рис. 8).
Дублируем кривую E02 (выделяем, нажимаем Shitt+D, R+Z+72) и переименовываем в E03.
Дублируем кривую E03 (выделяем, нажимаем Shitt+D, R+Z+72) и переименовываем в E04.
Дублируем кривую E04 (выделяем, нажимаем Shitt+D, R+Z+72) и переименовываем в E05.

7. Дублируем кривую E02 (выделяем, нажимаем Shitt+D, R+Z+Z+90, R+X+X+90)и переименовываем в E06.
Дублируем кривую E06 (выделяем, нажимаем Shitt+D, R+Z+72) и переименовываем в E07.
Дублируем кривую E07 (выделяем, нажимаем Shitt+D, R+Z+72) и переименовываем в E08.
Дублируем кривую E08 (выделяем, нажимаем Shitt+D, R+Z+72) и переименовываем в E09.
Дублируем кривую E09 (выделяем, нажимаем Shitt+D, R+Z+72) и переименовываем в E10.

8. Дублируем кривую E06 (выделяем, нажимаем Shitt+D, R+Z+Z+90, R+X+X+90)и переименовываем в E11.
Дублируем кривую E11 (выделяем, нажимаем Shitt+D, R+Z+72) и переименовываем в E12.
Дублируем кривую E12 (выделяем, нажимаем Shitt+D, R+Z+72) и переименовываем в E13.
Дублируем кривую E13 (выделяем, нажимаем Shitt+D, R+Z+72) и переименовываем в E14.
Дублируем кривую E14 (выделяем, нажимаем Shitt+D, R+Z+72) и переименовываем в E15.

9. Дублируем кривую E06 (выделяем, нажимаем Shitt+D, R+Z+Z+90, R+X+X+(-90))и переименовываем в E16.
Дублируем кривую E16 (выделяем, нажимаем Shitt+D, R+Z+72) и переименовываем в E17.
Дублируем кривую E17 (выделяем, нажимаем Shitt+D, R+Z+72) и переименовываем в E18.
Дублируем кривую E18 (выделяем, нажимаем Shitt+D, R+Z+72) и переименовываем в E19.
Дублируем кривую E19 (выделяем, нажимаем Shitt+D, R+Z+72) и переименовываем в E20.

10. Дублируем кривую E06 (выделяем, нажимаем Shitt+D, R+Z+Z+90, R+Y+Y+(-90))и переименовываем в E21.
Дублируем кривую E21 (выделяем, нажимаем Shitt+D, R+Z+72) и переименовываем в E22.
Дублируем кривую E22 (выделяем, нажимаем Shitt+D, R+Z+72) и переименовываем в E23.
Дублируем кривую E23 (выделяем, нажимаем Shitt+D, R+Z+72) и переименовываем в E24.
Дублируем кривую E24 (выделяем, нажимаем Shitt+D, R+Z+72) и переименовываем в E25.

11. Дублируем кривую E02 (выделяем, нажимаем Shitt+D, R+Z+Z+90, R+X+X+(-90))и переименовываем в E26.
Дублируем кривую E26 (выделяем, нажимаем Shitt+D, R+Z+72) и переименовываем в E27.
Дублируем кривую E27 (выделяем, нажимаем Shitt+D, R+Z+72) и переименовываем в E28.
Дублируем кривую E28 (выделяем, нажимаем Shitt+D, R+Z+72) и переименовываем в E29.
Дублируем кривую E29 (выделяем, нажимаем Shitt+D, R+Z+72) и переименовываем в E30.

12. Проверяем, чтоб все бруски лежали на гранях икосферы (рис. 9). Когда убедились, что все бруски находятся на своих местах, тогда прячем икосферу (переносим на другой слой или закрываем глаз в outliner).

Изображение Изображение

Настройки:
Размеры бруска — масштабируем E01(если длину, то масштабируем по Y).
Размер, форма сечения — масштабируем, редактируем S01.
Поворот бруска — крутим пустышку по Z.
Для получения головоломки «солнышко» - поворачиваем пустышку на 36 градусов (рис. 10).

GIF анимация:
Изображение
Анимация показывает, что головоломка была образована путем вращения ребер икосаэдра. Каждый новый угол поворота — это новая головоломка.

п.с. можно придумать и смоделировать свою головоломку, взяв за основу не икосаэдр, а любой другой правильный или полуправильный многогранник. Подразделить его сабдивайтом, выбрать необычное сечение и повернуть ребра на свой вкус.
Может вашу головоломку тоже будут разгадывать, как я разгадывал «солнышко»
;)

nautilus
Аватара
Откуда: Украина, Хмельницкий
Сообщения: 655

Сообщение #10 grayich » 02.02.2014, 02:28

newman, не смотрят, обведённый явно мимо центра направлен
Изображение
grayich M
Аватара
Откуда: Харьков
Сообщения: 3138

  • 1

Сообщение #11 nautilus » 02.02.2014, 02:54

maleficmax, пост продублировал, спасибо за добрые и лестные слова :-[
Андрей Кныш, хорошая идея, будет время, попробую реализовать через радиальный массив (другую головоломку). Спасибо за совет :)
newman, пробовал как-то изучить дуплифейс - не осилил, пока с блендером на вы :fool: Спасибо за совет.
grayich, все правильно, обведенная и не должна смотреть, она идет по касательной ;)
nautilus
Аватара
Откуда: Украина, Хмельницкий
Сообщения: 655


Вернуться в Моделирование

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 1 гость