閆培澤
(濮陽職業(yè)技術(shù)學(xué)院 機(jī)電與汽車工程學(xué)院,河南 濮陽 457000)
橢圓是工程上及生活中一種常見的圖形,《機(jī)械制圖》教材中講解的常用橢圓畫法有兩種:同心圓法和“四心圓”法。很顯然,同心圓法從理論上就確定了它畫法的嚴(yán)謹(jǐn)性,在畫圖無誤差的情況下,畫出的就是一個(gè)標(biāo)準(zhǔn)橢圓。但凡事都有兩面性,實(shí)際操作起來,因?yàn)樾枰椟c(diǎn)并平滑連接,這種方法就顯得比較繁瑣。方便快捷的“四心法”畫橢圓的方法就應(yīng)運(yùn)而生了。工程上更多的是“四心法”畫圖,快速高效,四段圓弧光滑連接,圖形飽滿[1]59。
已知:長(zhǎng)軸AB,短軸CD,作圖(如圖1)。
圖1 “四心法”橢圓畫法步驟
a.連接AC,畫弧使OE=OA、CF=CE,求出點(diǎn)E、F;
b.作線段AF的垂直平分線,垂足記為H,交軸線于1、2兩點(diǎn);對(duì)稱求出3、4兩點(diǎn);
c.分別用1、2、3、4點(diǎn)當(dāng)圓心,把四條連心線作為分界線,過四點(diǎn)A、B、C、D分別作四段圓弧[2]26。
這種橢圓畫法的本質(zhì)就是四段圓弧順次連接組成一個(gè)橢圓的類似型,因此這是一種近似畫法,以圖1所示AC段橢圓弧為例,從圓弧連接的角度來看,它就是半徑為1A和半徑為2C的兩段圓弧在直線12上內(nèi)切連接而成。
在△A1H和△2HC中,A1對(duì)H1的差值應(yīng)該等于2C對(duì)2H的差值。
為了敘述方便可以設(shè)∠HA1=∠H2C=α,AC=c,AO=a,OC=b。
(1)式顯然等于(2)式,從理論上保證了兩段圓弧在直線12上是相切的。而且是內(nèi)切,圓心距等于線段12的長(zhǎng)。
這就從理論上保證了在第二象限中圓弧是光滑過渡連接的,根據(jù)對(duì)稱性在其他象限也具有同樣的情景。
如圖2所示,“四心法”畫橢圓是用四段圓弧拼成了一個(gè)近似橢圓,這種繪圖方法理論上保證了四段圓弧的光滑聯(lián)接,但必然與理論橢圓存在偏差。左右兩端外側(cè)為近似橢圓,內(nèi)側(cè)為理論橢圓,靠近短軸的地方偏差小、靠近長(zhǎng)軸的地方偏差大[3]33[4]10。
圖2 近似橢圓與理論橢圓的對(duì)比
怎樣定量地探索近似橢圓與理論橢圓的偏差值呢?
對(duì)于短長(zhǎng)軸比例相同的橢圓族來說,如果長(zhǎng)軸長(zhǎng),則作圖的誤差就大,從這個(gè)角度來說,我們可以反其道而行之,固定橢圓的長(zhǎng)軸,研究長(zhǎng)短軸比例多大時(shí),橢圓誤差最大[5]101。
為了方便對(duì)“四心法”畫橢圓的方法進(jìn)行偏差定量分析,同時(shí)也為了更具代表性,根據(jù)橢圓對(duì)稱性的特點(diǎn),僅取第二象限進(jìn)行研究,這里對(duì)“四心法”畫橢圓偏差進(jìn)行評(píng)價(jià)的目的,并不是真正要求得到具體偏差值,僅僅是在給定長(zhǎng)軸長(zhǎng)度的橢圓族中,短長(zhǎng)軸比例為何值時(shí)作圖偏差取最大、最小值。
根據(jù)定性分析,只取靠近長(zhǎng)軸的部分作為評(píng)價(jià)對(duì)象,如圖3所示,即只研究Ab段圓弧與實(shí)際橢圓弧對(duì)應(yīng)部分的偏差,為了客觀地評(píng)價(jià)作圖偏差,過點(diǎn)1作一條直線,讓該直線的斜率大于直線1b的斜率,小于0,與橢圓弧和圓弧Ab分別交于m、n。將線段mn的距離作為評(píng)價(jià)對(duì)象。
圖3 近似橢圓偏差分析
優(yōu)化分析。下面用優(yōu)化方法來求解最大、最小作圖誤差:
1.確定評(píng)價(jià)對(duì)象——偏差大小的設(shè)計(jì)變量
短長(zhǎng)軸比例系數(shù)設(shè)定為λ,直線1n的斜率設(shè)定為k。
則設(shè)計(jì)變量為:
2.確定目標(biāo)函數(shù)
為了求得mn之間距離的表達(dá)式,設(shè)橢圓長(zhǎng)軸長(zhǎng)為a(根據(jù)前面假設(shè),a>0且為定值)。根據(jù)圖3坐標(biāo)系及圖1四心法畫橢圓的步驟。可得橢圓弧的方程:
直線1b的方程為:
下面來求p(焦距),即圖3中的O1:
經(jīng)過推導(dǎo)可確定誤差最小時(shí)的目標(biāo)函數(shù)為:
誤差最大時(shí)的目標(biāo)函數(shù)為:
3.確定所求誤差大小的約束方程
由短長(zhǎng)軸比例系數(shù)λ(也就是x1)大于0而小于1得:
MATLAB優(yōu)化工具箱。MATLAB軟件是美國的MathWorks公司開發(fā)的一款商業(yè)化數(shù)學(xué)軟件。MATLAB中的優(yōu)化工具箱,可以求解線性規(guī)劃、非線性規(guī)劃和多目標(biāo)規(guī)劃問題。使用MATLAB強(qiáng)大的計(jì)算及數(shù)據(jù)處理功能,可以快速確定理論橢圓與近似橢圓偏差的極值點(diǎn),并求出極值,極大地減輕人的勞動(dòng),方法、結(jié)果明晰,工具箱中的二次規(guī)劃函數(shù)能很好地解決二次曲線偏差距離計(jì)算問題[6]353,為以后數(shù)控加工中在不超差的情況下采用近似畫法代替理論畫法提供技術(shù)支撐。
優(yōu)化求值。為了使計(jì)算更簡(jiǎn)單一些,可以設(shè)長(zhǎng)軸為單位長(zhǎng)度1,求出最大偏差值(如圖4),根據(jù)參數(shù)化定義,求不同長(zhǎng)軸時(shí)偏差軸時(shí),只需放大相應(yīng)倍數(shù)。
圖4 橢圓偏差最大位置
編程求解:
>>x=sym('x');
y=sym('y');
x1=sym('x1');
x2=sym('x2');
y1=sym('y1');
y2=sym('y2');
ezplot(y.^2/(4-2*3^0.5)+3*x.^2/4==1/4,[-1,0,0,1]);holdon%繪制橢圓
ezplot((x+3^0.5/6)^2+y.^2==1/12,[-1,0,0,1]);hol don%繪制圓形
[x,y]=solve(y^2/(4-2*3^0.5)+3*x^2/4==1/4,(x+3^0.5/6)^2+y^2==1/12,x,y)%求交點(diǎn)
x=double(x);%對(duì)sym數(shù)組轉(zhuǎn)換為double型
y=double(y);%對(duì)sym數(shù)組轉(zhuǎn)換為double型
K1=y(2)/(x(2)+sqrt(3)/6);%斜率
K2=0;%斜率
KN=K1:0.1:K2;%調(diào)整間距,控制采樣點(diǎn)的個(gè)數(shù)和運(yùn)行實(shí)踐
n=length(KN)
fori=1:n
k=KN(i)
[xs1,ys1]=solve(y1.^2/(4-2*3^0.5)+3*x1.^2/4==1/4,y1==k*(x1+3^0.5/6),x1,y1);%橢圓與直線交點(diǎn)
[xs2,ys2]=solve((x2+3^0.5/6)^2+y2.^2==1/12,y2==k*(x2+3^0.5/6),x2,y2);%圓與直線交點(diǎn)
l(i)=sqrt((xs1(2)-xs2(2))^2+(ys1(2)-ys2(2))^2)%求直線與橢圓及圓形交點(diǎn)的距離
end
LMAX=max(l);
h=KN(find(l==LMAX));
x3=-1:0.01:1
y3=h*(x3+3^0.5/6)
plot(x3,y3);
axis([-0.6,-0.3,0,0.3]);
hold on
從表1、表2中的結(jié)果可以看出,當(dāng)λ接近1時(shí),即短長(zhǎng)軸長(zhǎng)度接近時(shí),作圖誤差較小,為1時(shí)誤差為0;當(dāng)λ在0.24附近時(shí),誤差最大。