Algorithm 带孔闭合曲线面积的计算算法
我们的应用程序允许用户跟踪由直线和圆弧组成的闭合曲线。这些闭合曲线内可以有孔,这些孔也由直线和圆弧组成。大概是这样的: 圆弧段和直线段的数量、位置、方向、直径和扫掠/角度是可变的Algorithm 带孔闭合曲线面积的计算算法,algorithm,graphics,geometry,curve,Algorithm,Graphics,Geometry,Curve,我们的应用程序允许用户跟踪由直线和圆弧组成的闭合曲线。这些闭合曲线内可以有孔,这些孔也由直线和圆弧组成。大概是这样的: 圆弧段和直线段的数量、位置、方向、直径和扫掠/角度是可变的 如何计算闭合曲线内的面积(不包括孔的面积)?我知道如何用一系列线段来近似圆弧。但是有没有更好、更精确的算法呢?你有一个复杂的形状,你无法给出它的面积。你需要做的是把它分解成你能给出面积的形状。我建议使用矩形、三角形和一条边被圆弧代替的三角形。从顶部垂直操作,每次碰到顶点或坡度在正负之间变化的圆弧点时定义一条水平线。计
如何计算闭合曲线内的面积(不包括孔的面积)?我知道如何用一系列线段来近似圆弧。但是有没有更好、更精确的算法呢?你有一个复杂的形状,你无法给出它的面积。你需要做的是把它分解成你能给出面积的形状。我建议使用矩形、三角形和一条边被圆弧代替的三角形。从顶部垂直操作,每次碰到顶点或坡度在正负之间变化的圆弧点时定义一条水平线。计算连续水平线之间生成的所有形状的面积。您有一个无法给出面积的复杂形状。你需要做的是把它分解成你能给出面积的形状。我建议使用矩形、三角形和一条边被圆弧代替的三角形。从顶部垂直操作,每次碰到顶点或坡度在正负之间变化的圆弧点时定义一条水平线。计算连续水平线之间生成的所有形状的面积。看起来您可以找到多边形、圆、椭圆和圆弧的面积。用多边形近似圆弧。除了弧架是直的。如果您在GDI+中使用图形路径,一个选项是从图形路径获取多边形点。否则,请查找曲线的多边形近似。 可能使用GraphicsPath.PathPoints
看起来您可以找到多边形、圆、椭圆和圆弧的面积。用多边形近似圆弧。除了弧架是直的。如果您在GDI+中使用图形路径,一个选项是从图形路径获取多边形点。否则,请查找曲线的多边形近似。 可能使用GraphicsPath.PathPoints
我认为您有几种选择:
我认为你有几个选择:
OAB
的有符号面积之和,该三角形由所讨论多边形的点O(0,0)
和点a
和B
构成。在这种情况下,区域的符号表示当OAB
为逆时针三角形时,区域应为正,否则为负。有关如何计算多边形面积的图示,请参见
为了使这个公式适应您的情况,您必须找到一种方法来计算“广义三角形”的有符号面积:一个伪三角形OAB
,其中OA
和OB
是直线段,而AB
可以是圆弧。这是一个非常简单的问题,完全可以解决