请问如何计算包围面积
我刚刚开始看arx,由于毕业设计需要我想实现以下功能:点选几条线以后,输出曲线包围的面积(两条直线,一条曲线)
请问可以实现么?能不能给点思路, (两条直线就是坐标轴,面积是曲线和其中一条轴线所包围的面积).谢谢大家!!! 补充一下,曲线为spline 用微积分的概念,选取微小步距fstep,从x轴0点开始把区域化分为若干个矩形,然后矩形面积相加。矩形的面积等于fstep乘于曲线的y坐标。y坐标可以通过一条垂直x轴的垂直线与曲线的交点来获得。 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<pPolyline->numVerts()-1;i++)<BR> {<BR> pPolyline->getPointAt(i,startpt);<BR> pPolyline->getPointAt(i+1,endpt);<BR> m_S=m_S+(startpt.x+endpt.x)*(startpt.y-endpt.y);<BR> }<BR> pPolyline->getPointAt(pPolyline->numVerts()-1,startpt);<BR> pPolyline->getPointAt(0,endpt);<BR> m_S=m_S+(startpt.x+endpt.x)*(startpt.y-endpt.y); 你把你的東西轉成封閉的多義線,直接可以得到面積 當然,由多義線或則其他封閉圖形可以得到面積.
但是微積分方法可以得到多義線的方向.這很多地方都要用到.
页:
[1]