假設我們有一個橢圓x^2/a^2 + y^2/b^2。在橢圓上取一個點(a * cos(t),b * sint(t)),找到橢圓上另一個點的最快方法是使它們之間的距離是給定的d。 [d小於pi * a * b]。橢圓測量距離
當我有一個角[四分之一橢圓]並且需要找到沿着它的某些'd'分隔點時遇到問題。
假設我們有一個橢圓x^2/a^2 + y^2/b^2。在橢圓上取一個點(a * cos(t),b * sint(t)),找到橢圓上另一個點的最快方法是使它們之間的距離是給定的d。 [d小於pi * a * b]。橢圓測量距離
當我有一個角[四分之一橢圓]並且需要找到沿着它的某些'd'分隔點時遇到問題。
橢圓的一個子部分的長度是一個橢圓積分,沒有封閉形式的解決方案。
爲了計算沿橢圓的距離,您將需要一個數值積分例程。我推薦Romberg,或者Gauss Quadrature(查看維基百科)。如果您正在重複執行此操作,請在橢圓周圍的一堆點上預先計算距離,以便您可以快速到達正確的區域,然後開始進行積分。
您需要平分(查看維基百科)才能找到所需的長度。
橢圓弧的長度沒有解析解。這意味着您將無法將數字插入等式中查找結果,而是使用數值積分方法。
Simpsons rule很容易實現,儘管最有可能比其他答案中提到的方法慢。
現在,你有辦法找到一個橢圓弧的長度,只是衡量不同的終點,直到你找到長度d之一,一些可接受的公差
你的意思是沿圓周的距離,或沿着弦? – NPE 2011-05-20 11:06:24
[這可能有幫助](http://en.wikipedia.org/wiki/Elliptic_integral#Complete_elliptic_integral_of_the_second_kind)。 – 2011-05-20 11:10:36
一種計算方法是在橢圓上找到相反的點,然後在距離兩側使用二進制搜索。 – Peteris 2011-05-20 11:15:16