rockind 发表于 2004-3-17 13:42:00

请问如何计算包围面积

我刚刚开始看arx,由于毕业设计需要


我想实现以下功能:点选几条线以后,输出曲线包围的面积(两条直线,一条曲线)


请问可以实现么?能不能给点思路, (两条直线就是坐标轴,面积是曲线和其中一条轴线所包围的面积).谢谢大家!!!

rockind 发表于 2004-3-17 13:44:00

补充一下,曲线为spline

sophie_wzh 发表于 2004-3-18 17:30:00

用微积分的概念,选取微小步距fstep,从x轴0点开始把区域化分为若干个矩形,然后矩形面积相加。矩形的面积等于fstep乘于曲线的y坐标。y坐标可以通过一条垂直x轴的垂直线与曲线的交点来获得。

chang 发表于 2004-5-17 17:14:00

AcDbPolyline *pPolyline=AcDbPolyline::cast(spline);<BR>                        AcGePoint2d startpt;<BR>                        AcGePoint2d endpt;<BR>                        <BR>                        long double m_S=0;//(startpt.x+endpt.x)*(startpt.y-endpt.y);<BR>                        for (int i=0;i&lt;pPolyline-&gt;numVerts()-1;i++)<BR>                        {<BR>                                pPolyline-&gt;getPointAt(i,startpt);<BR>                                pPolyline-&gt;getPointAt(i+1,endpt);<BR>                                m_S=m_S+(startpt.x+endpt.x)*(startpt.y-endpt.y);<BR>                        }<BR>                        pPolyline-&gt;getPointAt(pPolyline-&gt;numVerts()-1,startpt);<BR>                        pPolyline-&gt;getPointAt(0,endpt);<BR>                        m_S=m_S+(startpt.x+endpt.x)*(startpt.y-endpt.y);

easypower 发表于 2004-5-18 09:30:00

你把你的東西轉成封閉的多義線,直接可以得到面積

chang 发表于 2004-5-18 13:45:00

當然,由多義線或則其他封閉圖形可以得到面積.


但是微積分方法可以得到多義線的方向.這很多地方都要用到.
页: [1]
查看完整版本: 请问如何计算包围面积