Отбрасывание засоренных точек в облаке точек

У меня есть трехмерное изображение облака точек (см. Ниже).

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

Как мне пойти и решить эту проблему?

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

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

введите описание изображения здесь

5

Решение

Вы не можете скрыть что-то с помощью точки — у нее нет измерений.

Если у вас есть сетка (то есть вы знаете, какие точки «соединяются» с какими), вы можете скрыть вещи, которые скрыты за этой сеткой.

Если вы этого не сделаете, самый простой трюк, который мне известен для достижения чего-то похожего на ваше требование, — это использовать замирание, связанное с z — просто делайте точки на заднем обесцвечивании.

3

Другие решения

Как насчет рендеринга полигональной сетки с текстурой точек? Другим способом является рендеринг полигональной сетки в z-буфер (вам нужна только глубина) и использование его для отбрасывания (дальние точки не пройдут z-тест) точек, находящихся за сеткой.

1

По вопросам рекламы [email protected]