![]() |
求多段线形心的面积矩方法 - 精华帖集合
求多段线形心的面积矩方法 - 精华帖集合
www.dimcax.com 求多段线形心的面积矩方法 cad二次开发中经常遇到求多段线的形心的问题,一般的方法是先构建面域,再求出利用arx的相关函数得出形心,原理很简单,但由于要在cad中构建实体等操作,所以运行效率比较低。 本程序采用的是计算面积矩的方法,纯数学计算,速度应该要快点。但与构建面域的方法一样,多段线不得自相交,否则会得出错误结果。 你可以自由免费使用本代码,如果有问题请及时反馈,请勿分发传播。 欢迎拍砖,但不要人身攻击 辅助函数 //由平面坐标算得方位角 inline double getazimuth(const acgepoint3d &startpt, const acgepoint3d &endpt) { return csch::assist::crd2azimuth(startpt.x, startpt.y, endpt.x, endpt.y); } //根据第一点坐标,距离和方向计算另一点坐标 acgepoint3d getlinepoint( const acgepoint3d& pt1 //第一点 , double distance //距离 , double dirction //方向 ) { double x, y; x = pt1.x + distance * cos(dirction); y = pt1.y + distance * sin(dirction); return acgepoint3d(x, y, 0); } 复制代码 [ ] 什么啊 什么? 我刷新一下! 看看先 好啊! 我正想找这个代码呢 我想 给实体添加标注 正好用上 啊 支持~加精收藏,嘿嘿 看看先 学如逆水行舟,不进则退! 有点变态不 |
所有的时间均为北京时间。 现在的时间是 04:11 PM. |