2019 - оценка объема облака точек с помощью c ++ - PullRequest
0 голосов
/ 11 апреля 2019

у меня есть облако точек (массив вершин - x, y, z), мы можем показать облако точек, используя - with three.js / webgl.

мы бы использовали это устройство:
https://www.sparkfun.com/products/14032
https://www.youtube.com/watch?v=gCpCGkwwy8I

так что нам нужно делать, кроме оценки объема облака точек.

У вас есть указания, как это сделать, надеюсь, с примерами? (я бы начал с облака точек и перешел к оценке объема)

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

Ответы [ 2 ]

1 голос
/ 15 апреля 2019

Чтобы вычислить объем облака точек, вам нужно трехмерное сетчатое представление облака точек.

Поскольку вы добавили c++ к тегу вопроса, рассматривали ли вы вопрос об использовании PCL?

PCL предлагает алгоритмы восстановления поверхности, такие как здесь .

Получив трехмерную сетку облака точек, вы можете вычислить объем сетки следующим образом: Как рассчитать объем трехмерного сетчатого объекта, поверхность которого состоит из треугольников

Надеюсь, это вам немного поможет!

1 голос
/ 11 апреля 2019

Мой простой метод предполагает линейную интерполяцию.

Представьте себе глобус, и датчик находится в центре ядра Земли.Каждая точка в облаке точек соответствует высоте над поверхностью.Когда мы соединяем 3 ближайших точки вместе, они образуют треугольный участок земли.Спроецируйте 3 угла назад на датчик, и мы получим очень высокую пирамиду на основе треугольника, также известную как тетраэдр.

Затем мы можем использовать формулу для объема тетраэдра (1/3 основания * высота), чтобыполучить этот объем.Суммируйте все тетраэдры, и мы должны получить объем облака точек.

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

...