前提知識:任意點P0與其到二次曲線y最近點(最遠點)P1的連線必垂直於y在P1點處的切線。
推論:這樣橢圓心到橢圓距離有四個極值點,即橢圓長軸與橢圓兩個交點(極大值點),橢圓短軸與橢圓兩個交點(極小值點),
而在極大值點與極小值點之間距離與參數角關係曲線Y是光滑的,這樣當參數角位於極大值與極小值之間時,Y是單調遞減的,
同樣在極小值與極大值之間,Y是單調遞增的。
一段橢圓弧可以表示爲完整橢圓在參數角θs和參數角θe之間的一段弧。
如圖中白色邊線橢圓弧參數角範圍爲0到246°。可知Y在參數角從0到246°時經歷極大值---->極小值---->極大值---->極小值的幾個區間,這樣只需比較Y在極小值點(對應參數角爲90°)與末端點(對應參數角爲246°)時的距離即可得到最近點P1,已知Y在兩個極小值點時值相等,可知對於該橢圓弧,其Y最小對應參數角θ爲90°,該點即爲橢圓圓心到該段橢圓弧距離最近點。
比較通用的方法:
(1)以橢圓長軸爲X軸,短軸爲Y軸,橢圓心爲原點構造橢圓座標系LCS;
(2)在LCS下,第一、三象限Y爲遞減,第二、四象限Y爲遞增;
(3)將橢圓弧範圍表示爲LCS下[θs,θe]之間;
(4)依據θ所處象限將[θs,θe]分爲幾個區間,分別求θ在各區間最小值並比較後得最小值θt,
xt=a*cosθt;yt=bsinθt,得橢圓心到橢圓弧最近點(xt,yt),並可得距離Dt。
其實任意點到橢圓弧最近點也是相同道理,只不過求極值點過程比較關鍵和複雜。