作者:silaker | 来源:互联网 | 2023-07-05 16:13
请问怎么能在已知圆心,及圆上一点的坐标,画出指定角度的弧度线,急需要,希望各位帮忙,谢谢了
5 个解决方案
着要你计算啊~
算完了你可以一个点一个点的画
写个循环x坐标从几到几
然后把每次X的值对应的Y值算出来
然后你在把这个点画上去
GDI当中标准的函数就支持的啊
CDC::Arc(x1,y1,x2,y2,x3,y3,x4,y4)
自己计算一下就知道了
根据圆心和半径计算出x1,y1,x2,y2
起点x3,y3
根据要画的角度,计算出x4,y4
最简易的方法就是使用椭圆的参数方程来求解:
{x-CX=cosθ*a;
{y-CY=sinθ*b;
可以求出起点3的旋转角度
加上点4的旋转角度带入以上方程可以求出x4,y4
关于x4和y4的计算
其实很简单,有多种方法可以使用
比如利用用三角函数计算一下就出来了
sin(x+y) = sinx cosy + cosx siny
cos(x+y) = cosx cosy - sinx siny
x是初始点的角度,r*sinx=y3-oy, r*cosx = x3-ox
y就是在x的基础上再要旋转的角度
x4 = r * cos(x+y) + ox
y4 = r * sin(x+y) + oy
展开后,把rsinx, rcosx用前面的x3,y3,ox,oy的表达式替换就得到了。
或者直接利用二维空间当中的顶点旋转算法,围绕 ox,oy把x3,y3旋转y角度
公式和算法可以有多种多样,而最终的结果必然一致