Как рассчитать объем solid оборота многоугольника с boost :: geometry? - PullRequest
0 голосов
/ 16 января 2020

С учетом многоугольника типа:

boost::geometry::model::polygon shape;

Как рассчитать объем solid или поворот shape относительно оси OX?

Ответы [ 2 ]

1 голос
/ 16 января 2020

Объем, представленный вращающимся отрезком линии вокруг OX (т. Е. Участок конической поверхности c), определяется как 2π (Y0²+Y0.Y1+Y1²)(X1 - X0)/3. Чтобы получить полный объем, вы просто накапливаете вклады всех ребер многоугольника (некоторые термины будут отрицательными).

ВНИМАНИЕ: это работает только с многоугольником с положительной стороны OX. Если необходимо, обрежьте его.

0 голосов
/ 19 января 2020

Ответ: 2*pi*R*A, где R - расстояние центроида многоугольника от оси вращения, а A - площадь многоугольника.

Объяснение: Если вы считаете dA чтобы быть бесконечно малым элементом площади внутри многоугольника, то объем кольца, которое вы получите, вращаясь dA, равен 2.pi.R.dA, где R - это расстояние элемента площади от оси вращения. Если вы интегрируете этот эксперимент по всей площади многоугольника, вы получите нужный объем. Но вместо этого вы также можете найти среднее значение R по площади многоугольника и использовать его вместо этого. Это среднее значение будет расстоянием от центра тяжести до оси.

...