2014-12-09 3 views
1

У меня есть точки трехмерного выпуклого корпуса, я хочу узнать объем выпуклой оболочки. Кто-нибудь знает какие-либо методы для этого? Было бы очень приятно сообщить мне о любой библиотеке C++, которая может это сделать для меня.Объем 3D выпуклого корпуса

+0

Если бы я был вами, я бы поставил два вопроса, если бы у меня было два вопроса. – aioobe

+0

Я не могу этого сделать, потому что я могу задать один вопрос каждые 90 минут. – mmostajab

+0

Вы так спешите, что вам нужны оба ответа в течение 90 минут? Вы уверены, что получите ответ, переварили его и выполнили первый ответ и перешли к второму ответу в течение 90 минут? – aioobe

ответ

1

Для тома просто см. wikipedia, под «Ориентируемые полиэдры». Вы хотите получить формулу с volume = 1/3 * sum...

1

Если ваш ввод представляет собой всего лишь несколько точек, вам понадобятся грань выпуклого корпуса, чтобы применить формулу ниже. Это реализовано в CGAL или qhull. Как только вычислена выпуклая оболочка, вам просто нужно перечислить все грани (это легко в CGAL) и добавить их объем.

Смежные вопросы