找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3509|回复: 12

[求助]:ARX中,如何求算任意多边形的面积?

[复制链接]
发表于 2003-7-9 10:06:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
各位大哥~~ARX中,如何求算任意多边形的面积?并且标出面积值,谢谢.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2003-7-9 10:19:59 | 显示全部楼层
逐点积分
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2003-7-9 10:25:15 | 显示全部楼层

Re: [求助]:[求助]:ARX中,如何求算任意多边形的面积?

最初由 shrch 发布
[B]各位大哥~~ARX中,如何求算任意多边形的面积?并且标出面积值,谢谢. [/B]


用 面积 搜索下ARX论坛,论坛以前贴过用行列式求任意顶点组成的多边形面积的通用算法.

其实,在ARX里面,使用AcGe库或者AcDb库非常方便.

比如,如果多边形实体POLYLINE已经存在的情况下,你可以直接用AcDbCurve::getArea(...) 得到任意曲线的面积

如果实体不存在,你可以根据多边形顶点,构建一个AcDbPolyline 的内存的临时的实体模型,然后使用上面的AcDbCurve::getArea(...) 得到面积后,delete 这个临时的内存实体.

另外,你可以可以使用AcGe几何库,构建一个AcGeCompositeCurve2d 类对象, 使用构造函数:

AcGeCompositeCurve2d( AcGeVoidPointerArray& curveList)

构造一个首尾相连的AcGeLineSeg2d对象的AcGeCompositeCurve2d对象, 然后使用AcGeCurve2d::area(...)得到多边形的面积.

你可以根据上面的思路,写一个通用的求面积的通用的函数供以后你的程序调用.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2003-7-9 11:14:40 | 显示全部楼层
最初由 shrch 发布
[B]高手~~真是TMD高手~~ [/B]



不高,别这么说。我也是看书或者在别的地方看过,并记下来了而已。

现在你看到了,如果记下了,以后有人问相同的问题,你回答,你也是TMD高手了:)

这也是我当初建立这个网站的初衷,世上没有高手,大家共同交流,一起进步,如果一个高手故步自封,不愿意把自己的东西分享给大家,那么他也就是这个层次的高手了,不会再进步了.

希望你常来,可以把你平时的感悟,经验和大家分享,多回复别人的帖子,体会帮助别人的快乐.

帮助别人才能使自己进步.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-7-21 13:38:39 | 显示全部楼层
同意斑竹的话,祝晓东越办越好。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-7-26 11:29:15 | 显示全部楼层
用ACDBREGION 形成面域,通过这种方法,不仅金可以的出面积,还可以得到惯性矩等等几何特性。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-7-31 19:17:37 | 显示全部楼层
好像这样也可以,但愿没打错,原来的连接找不到了。
假设n个点,坐标,x1,y1,x2,y2,x3,y3......xn,yn,顺次围成多边形
求面积( (x1+x2)*(y1-y2) + (x2+x3)*(y2-y3) + ... + (xn-1 + xn )*(yn-1 - yn))/2 ,结果取绝对值
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-7-31 20:08:45 | 显示全部楼层
最初由 杭州 发布
[B]好像这样也可以,但愿没打错,原来的连接找不到了。
假设n个点,坐标,x1,y1,x2,y2,x3,y3......xn,yn,顺次围成多边形
求面积( (x1+x2)*(y1-y2) + (x2+x3)*(y2-y3) + ... + (xn-1 + xn )*(yn-1 - yn))/2 ,结果取?.. [/B]


您能不能给个证明过程,好像有点难以理解!!
谢谢!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2003-7-31 20:39:46 | 显示全部楼层
最初由 杭州 发布
[B]好像这样也可以,但愿没打错,原来的连接找不到了。
假设n个点,坐标,x1,y1,x2,y2,x3,y3......xn,yn,顺次围成多边形
求面积( (x1+x2)*(y1-y2) + (x2+x3)*(y2-y3) + ... + (xn-1 + xn )*(yn-1 - yn))/2 ,结果取?.. [/B]


这个方法就是论坛曾经给大家贴的用行列式求多边性面积的方法,这个方法的副作用是,可以判断多边形的时针方向,如果面积值为正,逆时针。 为负,顺时针。

具体的讨论看看下面的帖子:



  1. <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="700" id="AutoNumber1" height="800">
  2.   <tr>
  3.     <td width="100%" height="800">
  4.       <iframe name="I1" width="100%" height="100%" src="http://www.xdcad.net/forum/showthread.php?postid=174674#post174674">
  5. 浏览器不支持嵌入式框架或配置为不显示嵌入式框架
  6.       </iframe>
  7.     </td>
  8.   </tr>
  9. </table>
复制代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-7-31 20:42:14 | 显示全部楼层
对,就是求梯形面积,梯形的一边是坐标轴,然后,外面的部分因为符号相反,会被减掉。

这算法暴快,只有加和乘,没有三角函数,没有开根号,非常环保,:D
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-8-4 12:38:29 | 显示全部楼层
非常感谢,谢谢,谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-8-4 18:49:35 | 显示全部楼层
对于有圆弧边的就不行了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-14 22:05:17 | 显示全部楼层
高等数学中的面积积分定理(好象叫高斯面积定律,每个人都学过,翻翻高等数学)
平面中封闭曲线面积是所有连续的边极坐标曲线的积分和,这里的曲线是任意曲线,上述的公式都是它的简化版本。面积正负判断顺时针还是逆时针。
同样可以扩展到三维空间计算由任意面所包围的体积,是外面还是凹洞。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-5-29 14:08 , Processed in 0.404869 second(s), 55 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表