2017-04-20 102 views
-1

Tilted ellipse点上倾斜的椭圆

正如上面的链接图所示,让我们假设我们有一个倾斜的椭圆形,说“THETA”从原来的位置角度。 我们怎样才能得到坐标x1,x2哪个具有相同的y值? 要么解析,要么用数字表示没问题。但是,我猜,也许使用Python等数值方法更适合这个社区,并且很有希望。

+0

你能告诉你试图解决该问题的代码? – thewaywewere

+0

欢迎来到Stack Overflow。首先请检查Stack Overflow的[请求问题帮助](http://stackoverflow.com/help/asking)。关注[我可以在这里询问哪些主题](http://stackoverflow.com/help/on-topic),[我应该避免询问什么类型的问题?](http://stackoverflow.com/help/dont (如何创建一个最小,完整和可验证的示例)(http://stackoverflow.com/help/how-to-ask),http:// stackoverflow。 com/help/mcve)和[Stack Overflow问题清单](http://meta.stackoverflow.com/questions/260648/stack-overflow-question-checklist)。 –

回答

1

原点为中心的椭圆形,由角度Theta旋转时,有方程式

x = a * Cos(t) * Cos(theta) - b * Sin(t) * Sin(theta) 
y = a * Cos(t) * Sin(theta) + b * Sin(t) * Cos(theta) 

我们可以引入pseudoangle网络连接和强度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,并获得X的值给定Y


如果你有一般的椭圆式像

A*x^2 + 2*B*x*y + C*y^2 + D*x + E*y + F = 0 

只是已知值代替Ÿ答解二次方程对于x