geometry - 弧变换起点终点到起点角度终点角度

标签 geometry transformation dxf

给定具有起点和终点(都在笛卡尔 x,y 坐标中)、半径和方向(顺时针或逆时针)的弧的描述,我需要将弧转换为具有起始角度的弧,端角、中心和半径。

是否有已知的算法或伪代码允许我这样做?另外,是否有任何特定的术语来描述这些类型的转换?

最佳答案

你可以找到一个中心来解决这个方程组:

(sx-cx)^2 + (sy-cy)^2=R^2
(ex-cx)^2 + (ey-cy)^2=R^2

其中 (sx,sy) 是起点坐标, (ex,ey) 是终点坐标,未知数 cx,cy 是中心。 该系统有两种解决方案。然后可以找到角度为

StartAngle = ArcTan2(sy-cy, sx-cx)
EndAngle = ArcTan2(ey-cy, ex-cx)

请注意,已知方向不允许在没有额外限制的情况下从两种可能的解决方案中选择一种。例如,start=(0,1), end=(1,0), R=1 和 Dir = 顺时针为我们提供中心为 (0,0) 的 Pi/2 弧和中心为 (0,0) 的 3*Pi/2 弧1,1)

关于geometry - 弧变换起点终点到起点角度终点角度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15861421/

相关文章:

Ipad DWG/DXF 查看

c++ - 从 DXF 文件中解析不完整的椭圆

c++ - 不完整的球体 OpenGL

math - 如何计算直线和曲线的最近点? ..还是曲线和曲线?

ios - bezierPathWithRoundedRect 不是完美的圆

java - QVTO - 导入在 3.4 中有效,但在 3.6 中无效

python - 使用 Wand 和 Python 生成样条曲线

jquery - 没有宽度或高度的 CSS 圆圈? : Is this possible with pure CSS or not?

image - 如何进行这种图像转换?

ios - View 转换后如何修复不均匀的边框宽度?