Я на некоторое время застрял в главе, и я подумал, что могу попросить помощи здесь.
Я делаю скрипт генератора деревьев для Maya (программное обеспечение для 3D-моделирования) с Python Дерево в окне просмотра Maya , и в настоящее время я хочу, чтобы ветви сгибались вдоль своих соседей.
Для каждого объекта класса филиала я знаю:
- Его локальное и мировое вращение
- Его конечная и начальная точка в локальном и мировом пространстве.
- Его родительские и дочерние ветви
- Индексы в 2D-массиве (ветви создаются при нажатии кнопки, а список результатов добавляется в список наборов).
На основе данных о средних дочерних элементах и родительских данных я хочу добавить 1 промежуточную точку к каждой размещаемой кривой, чтобы мои ветви хорошо сгибались вдоль их пути. Я также должен был бы обратить внимание на концевые и оконечные ветви.
Подводя итог моей проблеме, я сделал для вас небольшой GIF.
Предоставленный файл GIF
Я ищу математическую реализацию, которую легко перенести в свой проект.
Мой вопрос близок к этой решенной проблеме , за исключением того, что моей проблеме потребуется более ручная реализация.