如上面的链接图所示,我们假设我们有一个倾斜的椭圆,比原始位置说“theta”角。 我们如何获得具有相同 y 值的 x1, x2 的坐标? 要么以分析方式获得,要么以数字方式获得它将是正常的。但是,使用例如Python的数值方法可能更适合这个社区而且很有希望,我想。
答案 0 :(得分:1)
以角度Theta旋转的以原点为中心的椭圆具有方程式
x = a * Cos(t) * Cos(theta) - b * Sin(t) * Sin(theta)
y = a * Cos(t) * Sin(theta) + b * Sin(t) * Cos(theta)
我们可以引入伪角度Fi和幅度M
Fi = atan2(a * Sin(theta), b * Cos(Theta))
M = Sqrt((a * Sin(theta))^2 + (b * Cos(Theta))^2)
所以
y = M * Sin(Fi) * Cos(t) + M * Cos(Fi) * Sin(t)
y/M = Sin(Fi) * Cos(t) + Cos(Fi) * Sin(t)
y/M = Sin(Fi + t)
Fi + t = ArcSin( y / M)
Fi + t = Pi - ArcSin( y / M)
t1 = ArcSin( y / M) - Fi //note two values
t2 = Pi - ArcSin( y / M) - Fi
现在替换第一个等式中的t的两个值,并获得给定Y的X值
如果你有像
那样的一般椭圆方程 A*x^2 + 2*B*x*y + C*y^2 + D*x + E*y + F = 0
用已知值代替y,用x求解二次方程