dr *_*rry 3 geometry transformation dxf
给出一个弧的描述,它有一个起点和终点(笛卡尔x,y坐标),半径和方向(顺时针或逆时针),我需要将弧转换成一个起始角,端角,中心和半径.
是否有已知的算法或伪代码允许我这样做?此外,是否有任何特定术语来描述这些类型的转换?
你可以找到一个解决这个方程系统的中心:
(sx-cx)^2 + (sy-cy)^2=R^2
(ex-cx)^2 + (ey-cy)^2=R^2
Run Code Online (Sandbox Code Playgroud)
其中(sx,sy)是起点的坐标,(ex,ey)表示终点,unknowns cx,cy表示中心.该系统有两种解决方案.然后可以找到角度
StartAngle = ArcTan2(sy-cy, sx-cx)
EndAngle = ArcTan2(ey-cy, ex-cx)
Run Code Online (Sandbox Code Playgroud)
请注意,已知方向不允许从两个可能的解决方案中选择一个,而没有其他限制.例如,start =(0,1),end =(1,0),R = 1,Dir =顺时针给我们两个Pi/2弧与中心(0,0)和3*Pi/2弧与中心( 1,1)