Регистрация облака точек с известным соответствием в Unity с C# ⇐ C#
Регистрация облака точек с известным соответствием в Unity с C#
Итак, у меня есть известный набор точек на отсканированной 3D-модели физического объекта (скажем, куба) с именами p1(x,y,z), p2(x,y,z) и p3(x,y,z). г).
Упомянутый ранее физический объект находится перед пользователем, и пользователь собирается коснуться тех же трех точек на физическом кубе (при прохождении квеста 3), которые соответствуют p1, p2, p3, которые являются p1', p2' и р3'. Однако p1', p2' и p3' могут не быть идеальным квадратом, поскольку пользователь - всего лишь человек. Как переместить отсканированную 3D-модель в место физической модели, введенной пользователем?
Вот изображение проблемы
Конечно, я рассматривал методы регистрации облаков точек, такие как метод Умеямы, но лично мне кажется, что их очень сложно реализовать на C#, хотя здесь есть реализация на Python. С этим решением я на самом деле не знал бы, как выполнить перевод полученной матрицы... В поисках более простого решения я нашел другой пост, в котором это делается с 2 точками. Это заставило меня задуматься о том, что, возможно, я могу использовать один и тот же алгоритм для двух точек, p1 и p2, чтобы сопоставить его с p1' и p2', а затем итеративно вращать модель вокруг p1' -> p2', пока точки p3 и p3' не окажутся на одной точке. несколько точная позиция.
Итак, у меня есть известный набор точек на отсканированной 3D-модели физического объекта (скажем, куба) с именами p1(x,y,z), p2(x,y,z) и p3(x,y,z). г).
Упомянутый ранее физический объект находится перед пользователем, и пользователь собирается коснуться тех же трех точек на физическом кубе (при прохождении квеста 3), которые соответствуют p1, p2, p3, которые являются p1', p2' и р3'. Однако p1', p2' и p3' могут не быть идеальным квадратом, поскольку пользователь - всего лишь человек. Как переместить отсканированную 3D-модель в место физической модели, введенной пользователем?
Вот изображение проблемы
Конечно, я рассматривал методы регистрации облаков точек, такие как метод Умеямы, но лично мне кажется, что их очень сложно реализовать на C#, хотя здесь есть реализация на Python. С этим решением я на самом деле не знал бы, как выполнить перевод полученной матрицы... В поисках более простого решения я нашел другой пост, в котором это делается с 2 точками. Это заставило меня задуматься о том, что, возможно, я могу использовать один и тот же алгоритм для двух точек, p1 и p2, чтобы сопоставить его с p1' и p2', а затем итеративно вращать модель вокруг p1' -> p2', пока точки p3 и p3' не окажутся на одной точке. несколько точная позиция.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Unity On Linux удаляет все пакеты при загрузке из хранилища Облака Unity
Anonymous » » в форуме Linux - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Ищу рекомендации по извлечению облака точек и измерений лица из сканированных объектов.
Anonymous » » в форуме IOS - 0 Ответы
- 96 Просмотры
-
Последнее сообщение Anonymous
-