登录论坛

查看完整版本 : [MATLAB图像处理] polybool函数画2条双曲线围成的凹多边形不精确


xiaji99
2013-04-30, 17:06
如图所示,我想将2条双曲线(图中蓝色点)围成一个凹多边形,就像convhull形成凸多边形那样,只取外围点,应该怎么做,我用poly2cw(按时针顺序排列),得到的是图中(第一个图)的红色曲线,达不到要求。
我用[lonm,latm] = polybool('minus',lon1,lat1,lon2,lat2),就是用2条双曲线形成的凸多边形相减,可以实现(第二个图)。但是当我变换右边那条双曲线的方程时,最右边那个点有时会保留(第三个图),就不符合要求了。这是什么情况?
我是这么做的,先求2条双曲线与多边形(多边形为绿色的线,所用的多边形顶点都一样,就是图中最右边的蓝色点)围成的区域,再用2个区域相减(第四个图)。现在问题是多边形上的点有时能减掉,有时不能减掉,应该怎么修改?C:\Documents and Settings\zsh\桌面\v2动态.jpgC:\Documents and Settings\zsh\桌面\v2动态3.jpg