Voxelize полигональная сетка - PullRequest
0 голосов
/ 04 февраля 2019

Я реализовал алгоритмы Marching Cube и Marching Tetrahedron для преобразования сетки вокселей в полигональную сетку.Теперь я заинтересован в том, чтобы сделать наоборот: взять полигональную сетку и аппроксимировать ее в сетке вокселей.

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

Шаги

  1. Определите, какие кубики находятся внутри, снаружи и на границе.Границу легко определить, поскольку, если куб содержит какие-либо треугольники, он находится на границе.

  2. Оттуда я представляю, что мне нужно следовать нормам треугольника и проецироваться вдоль сетки вокселей, чтобы определить, что происходит внутри / снаружи.Отметить все вершины, которые полностью окружены изнутри, как 1, а все окруженные снаружи как -1.

  3. ??Это часть, в которой я запутался.Мне нужно взять треугольники и каким-то образом интерполировать их значения в значения вершин.Я думаю, мне нужно найти все точки треугольника, которые сталкиваются с AABB воксельной субъединицы или внутри нее, и спроецировать ее на все оси субъединиц.Оттуда мне нужно взять эти накопленные позиции и выяснить, какие значения должны быть основаны, установив значения между [-1,1] так, чтобы интерполяция наиболее близко приближала корпус к граничной единице.<--- эту часть я не понимаю на 100%. </p>

1 Ответ

0 голосов
/ 06 февраля 2019

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

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

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