Заказать копланарные точки для их рисования - PullRequest
0 голосов
/ 21 октября 2019

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

enter image description here

Если вершина неупорядочена, этот результат может быть получен: enter image description here

Редактировать: Я нашел этот вопрос , но я не знаю, как кодировать его в Python, и это не совсем то, что япотребность

1 Ответ

1 голос
/ 22 октября 2019

Если точки были построены как пересечения между плоскостью и краями куба, то они образуют выпуклый многоугольник.

Чтобы правильно расположить вершины этого многоугольника, сделайте проекцию на некоторую плоскость - или на плоскость сечения, или на одну из плоскостей OXY, OXZ, OYZ - просто выберите одну, не нормальную к плоскости сечения, и установите соответствующий компонент равным нулю.

Затем выберите крайнюю левую точку в этой плоскости в качестве базы и отсортируйте другие точки по полярному углу относительно базы.

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