在我正在处理的项目中,用户创建一个圆并在该圆上选择一个点,P =(px,py)。为了问题,让我们假设圆的中心位于(0,0)。
在前面的步骤之后,用户可以改变椭圆的偏心率(因为它是一个圆圈,它实际上是一个e = 0的椭圆)。当他改变偏心率时,椭圆应保持其中心为(0,0),而点P应保持在椭圆的圆周上。
谢谢! 阿维亚德。
答案 0 :(得分:3)
如果我没有弄错,椭圆的半轴是a = sqrt(x²+y²/(1-e²))和b = a * sqrt(1-e²)
对于我们的数字偏心率:
I)b = a * sqrt(1-e²)
并且椭圆上的点的等式是:
II)x²/a²+y²/b²= 1
替代I)in II)
x²/a²+y²/(a²*(1-e²))= 1
1 /a²(x²+y²/(1-e²))= 1
a²=(x²+y²/(1-e²))
a = sqrt(x²+y²/(1-e²))