读书人

GDI画圆弧解决方法

发布时间: 2013-01-01 14:04:19 作者: rapoo

GDI画圆弧
通过鼠标点击不共线 的三个点,那确定一条弧,感觉特别难,我已经将这三点所在的圆心和半径,和外接矩形求出来了。
现在所知道的数据有 三个点(起点,终点,弧上一点),弧所在圆圆心,半径,外接矩形
通过GDI函数ARC画弧,但是不能自动判断改圆弧是优弧还是劣弧,主要是判断第二个点是否在圆弧上,希望各位能提供算法,我在网上找遍了也没有好的解决方案
[解决办法]
我前一段刚做了一个这方面的东西,在公司电脑上,拷贝不出去,你可以先判断一下起点和终点在哪个区域,然后根据中间的点判断是顺时针还是逆时针,以及起点和中点在以圆心为坐标的圆的度数,然后根据圆心和半径,求出其他点的坐标,如每隔一度求一个点,然后把求到的所有的点用直线连接起来,出现的就是你所需要的三点绘制一个圆弧。
这中间有一点是你要注意的,就是以圆心为坐标原点的坐标系中,360度点和0度点是在同一条直线上,所以当绘制的图形经过这的时候,要注意相应的转换,已经说的够详细的了吧,做不出来那就是你的问题了。

读书人网 >VC/MFC

热点推荐