выровнять сетки по их углам - PullRequest
0 голосов
/ 24 марта 2020

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

enter image description here

1: Выбранный объект перемещается из угловой точки (1) в угловую точку (2).

2: Выбранный объект поворачивается (1 и 3) так, чтобы он совпал с целевым объектом ( 2 и 4).

3: Затем выбранный объект снова поворачивается (3 и 5), чтобы он выровнялся с целевым объектом (4 и 6).

Переместить угол пирамиды в угол ящика легко ( 1: ). Но как мне получить величину вращения, которую пирамида должна выполнить, чтобы выровнять на коробке программно ( 2: )? Моя идея состоит в том, чтобы проверить вектор нормали верхней поверхности коробки. Оттуда целью было бы сделать нижнюю поверхность пирамиды лицом к противоположному вектору. Примерно так: currentPyramideRotation * x = theGoalVector (?)

Есть идеи?

Точка ( 2: ) - это то, что беспокоит меня в настоящее время больше всего

...