因此,解決辦法是在這裏:
橢圓的參數化公式:兩點
x = x0 + a * cos(t)
y = y0 + b * sin(t)
,讓我們把已知座標它:
x1 = x0 + a * cos(t1)
x2 = x0 + a * cos(t2)
y1 = y0 + b * sin(t1)
y2 = y0 + b * sin(t2)
現在我們有一個系統具有4個變量的方程:橢圓的中心(x0/y0)和兩個角度t1,t2
個讓我們爲了減方程式擺脫中心的座標:
x1 - x2 = a * (cos(t1) - cos(t2))
y1 - y2 = b * (sin(t1) - sin(t2))
這可以被改寫(以產品對和身份的公式)爲:
(x1 - x2)/(2 * a) = sin((t1 + t2)/2) * sin((t1 - t2)/2)
(y2 - y1)/(2 * b) = cos((t1 + t2)/2) * sin((t1 - t2)/2)
讓我們來替換一些公式:
r1: (x1 - x2)/(2 * a)
r2: (y2 - y1)/(2 * b)
a1: (t1 + t2)/2
a2: (t1 - t2)/2
然後我們得到簡單的公式系統:
r1 = sin(a1) * sin(a2)
r2 = cos(a1) * sin(a2)
通過第二分隔第一等式產生:
a1 = arctan(r1/r2)
添加此結果提供給第一方程給出:
a2 = arcsin(r2/cos(arctan(r1/r2)))
或者,簡單(使用三角函數的組合物和逆三角函數):
a2 = arcsin(r2/(1/sqrt(1 + (r1/r2)^2)))
或甚至更簡單:
a2 = arcsin(sqrt(r1^2 + r2^2))
現在初始的四方程系統可以用簡單的方法和所有的角度來解決,以及可以找到eclipse的中心座標。
確實,我忘了在那裏添加一個註釋。現在會做。 – 2008-10-13 14:05:51