我想计算弧和线之间的交点.我有线和弧的所有数据.
对于行:起点和终点.
对于弧:起点/终点,起点/终点角,半径和中心点.
我附上了一张图片.在下面的图像中,我绘制了一条弧和线,其中线与弧相交.
所以现在我想找到交叉点.请给我一些算法或想法或任何可用的代码.
解决方法:
弧上的一个点有坐标
R.cos(t) + Xc
R.sin(t) + Yc
使用线性方程的隐式形式(给定或从两个给定点获得),
A.X + B.Y + C = 0
然后
A.R.cos(t) + B.R.sin(t) + A.Xc + B.Yc + C = 0
要解决这个三角方程,首先将两个成员除以R.√A²B²,给出
c.cos(t) + s.sin(t) = d
可以重写,tan(p)= s / c和d = cos(q):
cos(t-p) = cos(q)
然后
t = p +/- q = arctan(B/A) +/- arccos(-(A.Xc + B.Yc + C)/R.√A²+B²)
最后,您需要检查t的这些值是否落在范围(开始,结束),模2π.