如何通过boost :: geometry计算多边形的旋转体积?

问题描述 投票:0回答:2

给出像这样的多边形:

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

如何计算固体的体积或shape相对于OX轴的旋转?

c++ geometry computational-geometry volume boost-geometry
2个回答
1
投票

OX给出了围绕2π (Y0²+Y0.Y1+Y1²)(X1 - X0)/3的旋转线段(即圆锥表面的一部分)所包围的体积。要获得完整的体积,您只需累积多边形所有边缘的贡献(某些术语为负)。

注意:这仅适用于OX正侧上的多边形。如有必要,将其剪切。


0
投票

答案:2*pi*R*A,其中R是多边形质心距旋转轴的距离,A是多边形的面积。

说明:如果您认为dA是多边形内的一个无限小的面积元素,则旋转dA所得到的环的体积为2.pi.R.dA,其中R是面积元素与轴心的距离。革命。如果将此表达式集成到多边形的整个区域,则将获得所需的体积。但是,相反,您也可以找到整个多边形区域的R平均值,并使用该平均值。该平均值将是质心距轴的距离。

© www.soinside.com 2019 - 2024. All rights reserved.