我正在研究一个几何问题,需要在任何旋转中找到两个抛物线弧的交点.通过旋转平面以使弧与轴对齐,我能够将线和抛物线弧交叉,但是两个抛物线不能与轴对齐.我正在努力推导公式,但我想知道是否有资源已经可用.
我首先在没有旋转的2D中定义抛物线弧的方程:
x(t) = ax² + bx + c y(t) = t;
您现在可以通过构建旋转矩阵来应用旋转:
s = sin(angle) c = cos(angle) matrix = | c -s | | s c |
应用该矩阵,您将获得旋转的参数方程:
x' (t) = x(t) * c - s*t; y' (t) = x(t) * s + c*t;
这将为您提供抛物线弧的两个方程(对于x和y).
对两个旋转的圆弧执行此操作并减去它们.这给你一个这样的等式:
xa'(t) = rotated equation of arc1 in x ya'(t) = rotated equation of arc1 in y. xb'(t) = rotated equation of arc2 in x yb'(t) = rotated equation of arc2 in y. t1 = parametric value of arc1 t2 = parametric value of arc2 0 = xa'(t1) - xb'(t2) 0 = ya'(t1) - yb'(t2)
这些等式中的每一个只是2阶多项式.这些很容易解决.
要找到交点,可以求解上述等式(例如找到根).
每个轴最多可以有两个根.在x和y上相等的任何根是曲线之间的交叉点.
现在很容易获得这个位置:只需将根插入参数方程式,就可以直接得到x和y.