毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> net技术 >> 正文

如何判断多段线或面的方向是逆时针方向还是顺时针方向

更新时间:2015-3-6:  来源:毕业论文

在AutoCAD或arcgis desktop中,如何判断多段线或面的方向是逆时针方向还是顺时针方向

多段线在绘制的过程是有顺序的,绘制完了它没有方向,就是个曲线
好比你画线的时候,从A画到B和从B画到A,它都是同一条线段,不存在朝左或朝右的问题

如果只有3个点,可以根据坐标判断方向
如果点很多,算法就会异常复杂了
而且考虑到如果画了个8字,它算什么方向,这就根本是无解了

如果是凸四边形,可以取任意3个点求方向
如果是凹四边形,单纯从其中3个点判断就不对了,得先判断哪个点是落在外接三角形内部的,把它排除掉

如果是N多个点,要求得最外围的其中3个点,这个算法本身就够复杂的

其实就是跟我用4个点举例一样
图形最外围的点决定了方向,而落在内部的点不影响方向
所以关键问题就是如何判断哪些点是"无效"的
如果你的图形都是这样水平的或垂直的,就好办了
如果是任意角度的,那判断起来太复杂了

其实就是局部和整体的区别
你的图2,在局部,它确实是逆时针的,但是整体上,它是顺时针的
而所谓局部,其实就是落在外接凸多边形内部的点
可以循环将多边形的各个点每间隔一个连线,如果发现连线后,被排除的点落在多边形的外面,则这个点保留,落在图形内部,则这个点删掉
最终得到一个完全的凸多边形,再判断方向

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。