曾振柄, 陳良育, 李志斌, 陳光喜
(1. 華東師范大學軟件學院,上海 200062;2. 上海市高可信計算重點實驗室,上海 200062;
3. 華東師范大學計算機科學技術學院,上海 200062;4. 桂林電子工業學院計算科學與數學系,廣西 桂林 541004)
偏差最小的四心圓近似橢圓作圖法
曾振柄1,2, 陳良育1,2, 李志斌3, 陳光喜4
(1. 華東師范大學軟件學院,上海 200062;2. 上海市高可信計算重點實驗室,上海 200062;
3. 華東師范大學計算機科學技術學院,上海 200062;4. 桂林電子工業學院計算科學與數學系,廣西 桂林 541004)
以曲線的等距線距離為度量,得到近似橢圓與精確橢圓的偏差估計,并給出了偏差與半軸長的顯示表達式。通過符號計算和回歸分析,提出一種偏差最小的四心圓近似橢圓作圖法。新方法易于通過尺規作圖實現,可用于編制數控機床中加工橢圓零件的插補程序。
四心圓作圖法;偏差分析;橢圓;等距線
眾所周知,使用直尺和圓規手工作圖,不可能畫出精確的橢圓。用若干段圓弧拼接成近似橢圓是一個自然的想法。有考證,用一些兩兩相切的圓弧畫橢圓的方法,至少可以追溯到 16世紀文藝復興時期的建筑師Sebastiano Serlio,甚至可追溯到公元一世紀的羅馬競技場,或者更早于1500多年的巨石圈[1]。橢圓的近似畫法數學(制圖)、天文(軌道分析)、藝術和建筑(如石拱門)設計中曾有廣泛應用。現代計算機字體設計中也經常考慮用圓弧逼近一般的二次或三次曲線。圖1(a)是達芬奇(Leonardo da Vinci)的 Hostinato Rigore銘文徽章,其輪廓可用4段圓弧獲得非常接近的擬合,圖1(b)中顯示TrueType字體中用一些圓弧產生字母a的輪廓。

圖1 圓弧畫橢圓的方法例證
現代畫法幾何中常用4段圓弧連接畫圓的軸測投影。下面的畫法1,在要求較低的情況下可用作正等測和正二測橢圓。
畫法 1
1) 作橢圓外接菱形。設 O為菱形中心,A, D ,B,C為菱形四邊的中點;
2) 作菱形各邊的垂直平分線,交于 I, J,K,L四點;
3) 分別以 I , J,K,L為中心, IA, J B, KC, LD為半徑畫弧 AC ,B D,CB,DA,四段圓弧構成一近似橢圓。
圖2畫的是正等測橢圓,軸間角等于120°,K,L與菱形的頂點重合。這種近似橢圓的長半軸比真實橢圓的短,短半軸比真實橢圓的長。設θ是軸間角。計算可知,真實橢圓的長半軸和短半軸分別是

圖2 畫法幾何中的近似橢圓

而近似橢圓中,

易知,當 90° < θ< 180°時,

在正等軸測圖中,

已知橢圓的長半軸和短半軸,可用下面的四心圓法畫近似橢圓。它作出的圖形光滑,偏差較小,容易用尺規和手工實現作圖。畫法如下:
畫法2 設橢圓T的長軸是AB,短軸是CD,O是AB和CD的交點,如圖3所示。
1) 連接AC。在AC上取點E使CE=OAOC;
2) 作AE的中點F,過F作AE的垂線交AB于G,交CD于J。在OB上取點H使OH=OG,在OC上取點I使OI=OJ;
3) 以G為圓心,GA為半徑畫弧K4AK1,以J為圓心,JC為半徑畫弧K1CK2,以H為圓心,HB為半徑畫弧K2BK3,以I為圓心,IB為半徑畫弧K3DK4。則圓弧K4AK1,K1CK2,K2BK3,K3DK4組成的圖形Γ近似于橢圓T。本文稱Γ為四心圓近似橢圓。

圖3 四心圓近似橢圓
許多文獻載有畫法2。文獻[2-3]給出將畫法2用于數控機床中加工橢圓形零件的插補程序。文獻[4]分析了用四心圓法作的近似橢圓與精確橢圓之間的偏差,得出以下結論:
1) 近似橢圓與精確橢圓的偏差在大圓弧段較小,在小圓弧段較大;
2) 近似橢圓的面積比精確橢圓的面積略大;
3) 橢圓越扁平,偏差越大。
本文用符號計算推導了近似橢圓的偏差公式,并給出一種偏差更小的四心圓近似橢圓作圖法。
本文所稱四心圓法指畫法2。下面的引理描述四心圓近似橢圓與精確橢圓的位置關系,這個結果見第 3.1節[4]。為方便后面的討論,本文給出其證明。
引理1 設T是橢圓,Γ是對應的四心圓近似橢圓。則除橢圓的4個頂點外,近似橢圓Γ與橢圓T有4個公共點 M1,M2,M3,M4,分別位于4段橢圓弧 AC ,C B,BD,DA上,近似橢圓上的弧M1C M2,M3DM4位于橢圓 T 的內部,弧M4AM1,M2BM3位于橢圓T的外部。
證明 假設 AB =2a ,CD=2b。則橢圓T的方程是

易計算 JGFE ,,, 的坐標分別是

令 O (G ,A)是以G為圓心,GA為半徑的圓;O (J ,C)是J為圓心,JC為半徑的圓。這兩個圓的方程分別是

計算可知點1K的坐標是

易驗證
所以,點K1在橢圓T的外部。
下證除點A以外,圓弧14AKK 在橢圓的外部。為此,計算圓 ),( AGO 與橢圓T的交點,得

其中A是一個二重交點。因

知弧14AKK 與橢圓T的交點只有A,又因K1在T的外部,所以除點A以外,弧14AKK 在T的外部。
下面證明,除點C以外,弧21CKK 與橢圓T有兩個交點。計算圓 ),( CJO 與T的交點,得

其中C是一個二重交點,21,MM 是一重交點。因

如果在計算四心圓近似橢圓偏差時,用橢圓T上的點 (x , yT)和近似橢圓Γ上的點 (x , yC)的縱坐標之差 Δy =yT-yC作為度量,則該度量與坐標系有關。如下例:設精確圖形是C1:x2+ y2-a2=0,近似圖形是 C2:x2+ y2-(a + ε)2= 0,ε > 0。則:當 x →0時,Δ y →-ε;當 x→ a時,Δy →-。但撇開坐標系來看,C1與 C2的偏差是均勻的,C1與 C2的曲線距離是ε。用曲線間距離度量曲線逼近的偏差,優點是與坐標系無關。設 C1,C2是兩條平面曲線。則C1,C2的距離定義如下[5]

其中 ||P - Q||是點P到Q的距離。d (C1,C2)可用作度量 C2對于 C1的擬合程度。但是很多時候d (C1,C2)的解析表達式不易計算。對于一些特殊的情況,曲線距離可通過曲線的等距線來計算[6]:令K+(C1,a),K-(C1,b)是曲線 C1上的每點分別沿 C1在該點法線的正負兩個方向移動距離 a,b所得到的點的軌跡,稱為 C1的等距線,令K (C1,a,b)表示這兩個等距線圍成的圖形。則

下面計算四心圓近似橢圓Γ和精確橢圓 T之間的距離。按照對稱性,只考慮第1象限的圖形。令L1是線段 GK1與橢圓T的交點。按引理1,橢圓弧 AL1包含在扇形 GAK1內,因此存在最小的正實數 r0使圖形 K(A K1,0,r0)包含橢圓弧AL1;橢圓弧 L1C與圓弧 K1C交于點 M1,C,L1M1包含在扇形 L1JM1內, M1C在扇形 M1JC之外,因此,存在最小的正實數 r1,r2使圖形K(K1C ,r1,r2)包含橢圓弧 L1C。令

其中 JPGP, 表示線段的長度。則

有下面的引理。
引理2 設橢圓T的長半軸為a,短半軸是b,Γ是用四心圓法作的近似橢圓。則

證明 考慮以 J為圓心,m為半徑的圓O(J,m)

顯然,當 CJm= 時及1mm= 時, ),(mJO 與橢圓T相切。若 ),( yx 是 ),( mJO 與T的切點,則 yx,除滿足 ),(mJO 和T的方程外,還滿足下面的條件

即
通過本文的分析,已經初步發現浮標站和周邊站點一些定性定量的規律,未來將進一步找出浮標站與周邊站點之間的風力關系,得到由陸地風推導出江面風的理論或半經驗結論,應用于日常業務工作。

由此解得滿足 0,0 >> yx 的切點 ),( yx 和相應的m
C:(0,b),

P1:(x1, y1),

其中

比較點1P和1M 的縱坐標

知1P位于橢圓弧 CM1及

現在求2m。由以上計算知,對任意 0>m ,圓 ),(mJO 與橢圓T的弧11ML 不相切,從而,定義于圓弧11ML 上的函數

關于點P的橫坐標x單調遞增,

即

以下計算0m。考慮以G為圓心,以m為半徑的圓 ),( mGO

當 GAm= 時, ),(),( AGOmGO = 與橢圓T在點A相切。我們求使 ),( mGO 與T相切的其它m及相應的切點。如果有唯一的 GAm< 使切點位于橢圓弧1AL,則該m即是0m。 ),( mGO 與T在第1象限的切點 ),( yx 滿足

解之得

易驗證

上式之右是1K的橫坐標。設1L的坐標是 ),(llyx 。則

于是,使 ),( mGO 與橢圓T相切的 GAm< 是唯一的,且切點 P0:( x0,y0)位于橢圓弧 AL1。此證明

因此,定義于圓弧1AN上的函數

連續可微,且對1AN上一切P滿足

故m0=min ρG(P),特別

最后,得到

引理2得證。
現在我們可以給出四心圓近似橢圓的偏差公式。
定理1 設 ba,是精確橢圓T的長半軸和短半軸,Γ是用四心圓作的近似橢圓,則

證明 計算可得

又易見

所以

定理1得證。
下面將近似橢圓位于精確橢圓以外的偏差稱為外偏差,位于精確橢圓以內的偏差稱為內偏差。則由引理2和定理1,可得到如下結論:
1) 最大內偏差出現在大圓弧段 P1處,最大外偏差出現在小圓弧段P0處。其中10,PP 的坐標見引理2證明。外偏差和內偏差之比為

2) 最大偏差可近似如下表示為 ba,的表達式

其中

3) 當 a =1,b的值從0增加到1時,偏差d( Γ, T )≤ 0.027678…,最大偏差當 b=0.22432…時取到。圖4畫出 a =1,0 ≤ b≤ 1時 d (Γ ,T)的曲線。

圖4 四心圓近似橢圓的最大偏差
4) 若將偏差跟短半軸b相比,則橢圓越扁平,相對偏差越大。即當 1=a ,b接近0時,

可以看出,將曲線之間的距離作為逼近偏差的度量,得出的實際上是最大偏差。若將近似曲線和真實曲線圍成的圖形的面積作為偏差的度量,可以得到逼近的平均偏差。文獻[4]指出,近似橢圓的面積大于精確橢圓的面積。因為近似橢圓的有些弧段在精確橢圓內,有些弧段在精確橢圓外,所以近似橢圓和精確橢圓圍成的圖形的面積 ),( TΓS 大于近似橢圓的面積與精確橢圓的面積之差。過1M 作直線1xx= ,過1K 作直線x= xK,將近似橢圓Γ和橢圓T圍成的圖形在第一象限的部分分成3塊,其面積自左向右分別記為W1,W2,W3。令

則

用符號計算軟件Maple可將321,, WWW 和 ),( TΓd表示為 ba,的函數。這些表達式過于復雜,此處僅畫出當 1=a ,0 1b≤ ≤ 時 ),( TΓd 的圖形,如圖5所示。

圖5 畫法2的四心圓近似橢圓的面積偏差
四心圓橢圓近似作圖法可以一般化為如下曲線逼近問題。假設要畫的橢圓T是

其中心為 O,頂點為 A ,B ,C,D,坐標分別為A = (a ,0),B = (0,- a), C = (0,b), D = (0,- b)在長半軸OA上取一點 G( u ,0),(0 ≤ u <a),在短半軸或其延長線上取點 J (0 ,- v),(v>0),以 G為圓心,GA為半徑畫圓 O (G ,A),以 J為圓心,JC為半徑畫圓 O (J,C)。如果兩圓與射線JG交于同一個點 K,則二圓在點 K是 1階切觸。圓弧AK,K C構成橢圓在第1象限的一個近似,如圖6所示。按對稱方法作橢圓在其它象限的近似。記近似橢圓為Γ。這樣的作圖是可能的,例如,取

就得到畫法2。易觀察到,只要 vu,滿足下列關系

則 O (G ,A)和 O (J,C)與射線JG的交點重合。設d (Γ ,T)是近似橢圓和真實橢圓之間的距離。如何選擇 u,v使得曲線距離 d (Γ ,T)為最小?

圖6 一般的四心圓橢圓
這個問題是一個單參數系統的優化問題。可驗證, vu,滿足的條件可寫成下面的單參數形式

圓 ),( AGO 和 ),(CJO 的方程是

設K= (xk,yk),則

為使G在OA上,以及K在第1象限,參數p應滿足條件 /p a b≥ 。為保證點K落在橢圓T的外部,p還須滿足下面的不等式

令M=(xm,ym),N=(xn,yn)分別為圓 O(J ,C)和 O (G ,A)與橢圓的交點。則

注意,當 a + ap+bp-bp2<0時總有 a + bbp< 0,以及

因此橢圓T在第1象限與近似橢圓Γ有 CMA ,, 3個公共點,橢圓弧CM在近似橢圓Γ外部,橢圓弧MA在Γ的內部。橢圓T與圓 ),( AGO 的交點N在弧MA上,如圖7所示。

圖7 第1象限的近似橢圓
下面計算 ),( TΓd 。設L是橢圓T與GK的交點。如第2節所證,

其中

令P0=(x0,y0),P1=(x1,y1),P2=(x2,y2)分別是取到極值 m0,m1,m2的點。用引理2證明中的方法可求得

容易驗證

此說明 P0,P1分別位于橢圓弧段 AL,M C上。因此m2=JL>JP0=m0,即
d( Γ, T ) = max{G A- m0,m1-JC}
其中 GA ,J C,m0,m1可以看成 a ,b ,p的函數。注意到p滿足的條件可寫成


有下面的結果。
定理 2 對任何0 < b ≤ a,存在實數 p*, p0< p* < p1使

證明 可驗證 f,g滿足以下性質:
1) 函數 f (p)在其定義域單調增加;
2) 函數 g (p)在區間 ( p0,p1)單調減少;
3) f ( p1)> g(p1),且當 p趨近 p0時,f( p )< g(p)。此處不詳列推導過程。
圖8畫出 a = 5, b=4時函數 f,g 在區間p0=2.711…和p1=2.850…之間的圖形。 可知,此時 p* ≈2.75相應的 d ≈0.02123;而 p1相應的d ≈0.02718。我們得到比畫法2的偏差更小的四心圓近似橢圓。

圖8 當 a = 5, b = 4時取 p* ≈2.75得到偏差最小的近似橢圓
圖9畫出當 a =1,0 ≤ b≤ 1時 p0b, p *b,b, p1b的曲線。其中,p是 p*的一個回歸


圖9 曲線 p *(b)決定最佳近似橢圓, (b)為其擬合曲線

圖10 誤差曲線
圖10中的曲線自上而下是當 a =1, 0 ≤ b≤ 1時 p1對應的四心圓近似橢圓和,p*對應的四心圓近似橢圓與精確橢圓的偏差。從圖中可以看出,取參數p=的近似橢圓的最大偏差接近最佳參數 p*對應的畫法的偏差,比畫法2有明顯降低。計算知,新畫法最大偏差小于0. 01145,發生在 b /a ≈0.28時。

從而可用于確定G和J的坐標,實現新的四心圓畫法,而上述表達式中所涉及的運算都是尺規作圖容易實現的。
本文顯示,原有的四心圓橢圓近似畫法有改進的余地。新畫法可用手工實現。與畫法2一樣,新畫法作出的近似橢圓在4個頂點處的曲率有誤差。新畫法作出的近似橢圓,在大圓弧段和小圓弧段與精確橢圓的偏差相等,比畫法2的近似橢圓,有更多部分含在精確橢圓內部,或許使之不適合用于數控機床加工橢圓形狀的零件。可用類似方法尋求偏差盡可能小的包含精確橢圓近似橢圓。
文獻[7]中,P. L. Rosin給出四心橢圓的改進畫法。該結果用本文記號可表示為

文獻[8]給出計算機程序,對于給定的 a,b,通過調整 K1,K2,K3,K4的位置使得近似橢圓在大弧段和小弧段的誤差相等,從而可以得到更好的近似。文獻[9]根據圖形分析確定了四心圓弧擬合橢圓的定解區間,導出了擬合橢圓的四心圓弧法向誤差解析式,并根據法向誤差確定了四心圓弧擬合橢圓的最小誤差帶和最高擬合精度。本文通過回歸獲得的p是最佳四心圓橢圓的近似公式,在其它文獻中未見到。
文獻[10]介紹了一種八心近似橢圓畫法,可以保證近似橢圓經過橢圓的4個頂點,并且在頂點處有正確的曲率半徑。關于用多段圓弧擬合橢圓的算法,還可參見文獻[1,11-12]。
[1] Rosin P L, Pitteway M L V. The ellipse and the five-centred arch [J]. The Mathematical Gazette, 2001, 85(502): 13-24.
[2] 張先虎. 機械制圖及微機繪圖[M]. 北京: 機械工業出版社, 1998: 1-339.
[3] 宋光亭. 近似橢圓的數值計算[J]. 機械工程師, 2001, (1): 24-24.
[4] 王林鴻, 陳永輝. 用四心圓法作近似橢圓的偏差分析[J]. 機械工程師, 2002, (8): 59-60.
[5] Gruber P M. Approximation of convex bodies [C]// Gruber P M, Willis J M. Convexity and Its Application. Basel, Boston, Stuttgart: Birkh?user Verlag, 1983: 131-162.
[6] Alexandrov A D, Reshernyak Yu G. General theory of irregular curves [M]. Dordrecht, Boston, London: Kluwer Academic Publishers, 1989: 1-300.
[7] Rosin P L. A survey and comparison of traditional piecewise circular approximations to the ellipse [J]. Computer Aided Geometric Design, 1999, 16: 269-286.
[8] Qian W, Qian K. Optimising the four-arc approximation to ellipses [J]. Computer Aided Geometric Design, 2001, 18(1): 1-19.
[9] 唐立波, 張 旭, 李寶良. 四心圓弧擬合橢圓的解析算法及其最優解[J]. 大連交通大學學報, 2009, 30(4): 18–21.
[10] 錢可強. 畫法幾何學[M]. 李名紀譯. 福州: 福建科學技術出版社, 1984: 1-204.
[11] Eberly D. Approximating an ellipse by circular arcs [EB/OL].http://www.geometrictools.com/ Documentation/ApproximateEllipse.pdf, 13, Jan. 2002/12, Feb. 2008.
[12] Banchoff T, Giblin P. On the geometry of piecewise circular curves [J]. The American Mathematical Monthly, 1994, 101(5): 403-416.
Approximating ellipse using four-arcs with the smallest error
Zeng Zhenbing1,2, Chen Liangyu1,2, Li Zhibin3, Chen Guangxi4
( 1. Software Engineering Institute, East China Normal University, Shanghai 200062, China; 2. Shanghai Key Lab of Trustworthy Computing, Shanghai 200062, China; 3. Computer Science & Technology School, East China Normal University, Shanghai 200062, China; 4. Department of Computing Science & Mathematics, Guilin University of Electronic Technology, Guilin Guangxi 541004, China )
The distance of equidistant curves is used to estimate the errors between an ellipse and the four-arcs which approximate the ellipse. An explicit expression of the errors and the semi-axes of the ellipse are established. A new method is proposed for approximating an ellipse by using of four-arcs with minimal error via symbolic computation and regression analysis. Our method is easy for drawing with ruler and compass and can be used in interpolation programming for the computerized Numerical Control lathes.
four-arcs; error analysis; ellipse; equidistant curve
TH 126
A
2095-302X (2013)01-0009-08
2011-08-08;定稿日期:2011-10-12
國家自然科學基金資助項目(61021004);上海市重點學科資助項目(B412);上海自然科學基金資助項目(11ZR1411500)
曾振柄(1963-),男,甘肅皋蘭人,教授,博士,主要研究方向為數學機械化、定理機器證明。E-mail:zbzeng@sei.ecnu.edu.cn