3D Mesh: Как определить, сложена ли поверхность / сетка в соответствии с плоскостью проекции - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть часть программы, которая принимает Mesh и плоскость и проецирует 3D Mesh на плоскость.Тем не менее, программа работает только тогда, когда 3D Mesh не «свернут» в соответствии с заданной плоскостью.

Под «сложенным» здесь я подразумеваю, что как минимум две трехмерные грани / ребра в 3D-сетке проецируются в две пересекающиеся или перекрывающиеся двухмерные грани / ребра на целевой плоскости.

Вот изображение 3D-сетки для иллюстрации.enter image description here

Например, на рисунке, если в качестве входных данных я приведу 3D-сетку, изображенную с горизонтальной плоскостью XY, программа работает хорошо.Тем не менее, я хотел бы создать исключение, если трехмерная сетка, указанная выше, задается с плоскостями XZ или YZ (две вертикальные).Как я могу алгоритмически определить, что 3D-сетка «свернута» по плоскости проекции?

1 Ответ

0 голосов
/ 20 октября 2018

Если нормали поверхности лица последовательно ориентированы в некотором направлении, то у проецируемых граней будут постоянные направления нормали, если не будет «сгибания».В случае хорошо ориентированной входной сетки, просто проверьте, все ли нормали граней результата указывают на одну плоскую сторону.Если нет, то сначала ориентируйте грани поверхности, выбрав одну начальную грань и распределив ее ориентацию.

...