Соединение двух плоскостей в 3d - PullRequest
3 голосов
/ 29 августа 2009

Учитывая две плоскости, расположенные и повернутые произвольно друг к другу, я пытаюсь определить, какие вершины должны быть связаны. Изображение ниже (плоскости в черном, соединительные края в красном) иллюстрирует два примера того, как могут выглядеть плоскости:

Connecting planes in 3d

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

Ответы [ 2 ]

3 голосов
/ 29 августа 2009

Убедившись, что ваши прямоугольники не пересекаются и не ортогональны, попробуйте минимизировать общее расстояние между парными точками. Существует только 24 способа сопряжения вершин, поэтому разумное решение, вероятно, не требуется. Другой очевидный способ приблизиться к этому - убедиться, что 4 новые грани, образованные соединением вершин, не пересекаются, т.е. вы сформировали топологически простое тело.

1 голос
/ 29 августа 2009

Кажется, что вы хотите сделать, это спроецировать вершины одной плоскости на другую, а затем сопоставить вершины плоскости A с вершинами плоскости B в соответствии с правилом, которое хорошо работает для вашей задачи. (На ваших чертежах выглядит так, будто фигуры на плоскости не только переведены и повернуты относительно друг друга, но и масштабированы.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...