Re[4]: сечение трехмерной фигуры плоскостью
От: Ev.  
Дата: 25.08.10 04:35
Оценка:
Здравствуйте, akochnev, Вы писали:

A>http://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%9C%D0%BE%D0%BD%D1%82%D0%B5-%D0%9A%D0%B0%D1%80%D0%BB%D0%BE


A>Если коротко, то выбираем случайным образом n точек из некоторого куба, который содержит тело. Считаем количество точек k, которое попало в нужный кусок тела. Объем куска тела будет относиться к объему куба как k/n. Соответственно, нужно уметь определять принадлежит ли данная точка телу. Примерный алгоритм я и привел выше.



Вы видимо не внимательно прочитали условие задачи.

У нас есть тело, описанное 8-ю точками (кубом оно может являться только в очень редких случаях). Нужно это тело отсечь тремя произвольными плоскостями.
В итоге, у нас получится какое-то новое тело, описанное уже другим набором точек. Дак вот, нужно посчитать точный объем этого тела.
Сложность данной задачи состоит в том, что даже если представить, что мы не отсекаем первоначальное тело, подсчитать его объем также проблематично.
Сейчас, для подсчета объема тела описанного 8 точками, я использую 2 алгоритма.
1. Если тело — куб, то объем = высота * ширина * глубина
2. Если тело — искаженный куб, то разбиваем тело на 6 тетраэдров и считаем в них объем по формуле 1/3*S*h, где S — площадь грани тетраэдра, h — высота, опущенная на эту грань. Затем суммируем объемы 6-ти тетраэдров

Если тело вывернуто, то тут пока проблемы.

Соответственно, если тело после отсечения принимает новую неизвестную форму, совершенно не ясно как подсчитать его объем.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.