嚴(yán)靜 錢克仕
摘? ? 要:針對(duì)高等數(shù)學(xué)空間解析幾何教學(xué)中的常見問題,介紹了Matlab在繪制曲面的交線和曲面圍成的幾何體、制作旋轉(zhuǎn)曲面形成過程動(dòng)畫等方面的應(yīng)用,并且給出了相應(yīng)的Matlab程序代碼。運(yùn)用Matlab的繪圖和動(dòng)畫制作功能輔助幾何教學(xué),極大地提高了教學(xué)效果。
關(guān)鍵詞:Matlab;繪圖;動(dòng)畫
中圖分類號(hào):TP391.72? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? ? ? ? ? ? ?文章編號(hào):2095-7394(2020)04-106-05
在學(xué)習(xí)高等數(shù)學(xué)課程中的“空間解析幾何與向量代數(shù)”內(nèi)容時(shí),需要繪制大量的空間圖形。如果教師僅僅用板書的教學(xué)手段,對(duì)于一些復(fù)雜的空間圖形的教學(xué)相當(dāng)困難,要畫在黑板上,頗要一定的功力和時(shí)間,而且即使畫出來了,圖形也不是很直觀,也不能隨意地變換角度去觀察。而對(duì)學(xué)生來說,如果不知道這些空間圖形的形狀和相對(duì)位置,將會(huì)影響多元函數(shù)積分的學(xué)習(xí)。借助計(jì)算軟件Matlab,我們就可以輕松解決這些問題。
Matlab是美國(guó)Math Works公司出品的商業(yè)數(shù)學(xué)軟件,它是當(dāng)今最具影響力的科學(xué)計(jì)算軟件[1]。Matlab具有強(qiáng)大的繪圖功能,高等數(shù)學(xué)中的各種圖形,包括空間曲面和曲線都可以精準(zhǔn)地描繪出來。有了這個(gè)工具,可以使得空間解析幾何和多元函數(shù)積分學(xué)這部分教學(xué)內(nèi)容變得直觀生動(dòng),既培養(yǎng)了學(xué)生的空間想象力,又提高了學(xué)生的學(xué)習(xí)興趣和教學(xué)效果。除了強(qiáng)大的繪圖功能,Matlab還具有精巧的動(dòng)畫制作功能,在講授旋轉(zhuǎn)曲面的概念時(shí),教師可以動(dòng)態(tài)地演示旋轉(zhuǎn)曲面的形成過程,從而加深學(xué)生對(duì)所學(xué)內(nèi)容的理解。利用Matlab進(jìn)行高等數(shù)學(xué)的輔助教學(xué)已經(jīng)做了很多探討[2-4],但是側(cè)重點(diǎn)各有不同,文獻(xiàn)[2]側(cè)重于曲面位置關(guān)系的判定,文獻(xiàn)[3]側(cè)重于對(duì)曲線在幾何直觀上的體現(xiàn),而文獻(xiàn)[4]則是利用挖補(bǔ)的方法解決某些特殊的繪圖問題。
高等數(shù)學(xué)中一元函數(shù)和多元函數(shù)的微積分、解常微分方程、無窮級(jí)數(shù)等都可以利用Matlab計(jì)算。本文主要探討利用Matlab的繪圖、動(dòng)畫制作功能進(jìn)行空間解析幾何教學(xué)中常見曲面問題的輔助教學(xué)。
1? ? 利用Matlab的繪圖功能進(jìn)行輔助教學(xué)
Mesh grid是Matlab中用于生成網(wǎng)格采樣點(diǎn)的函數(shù),可以是二維網(wǎng)格矩陣,也可以是三維,在使用Matlab進(jìn)行3D圖形繪制方面有著廣泛的應(yīng)用。對(duì)于空間曲線和曲面,根據(jù)其參數(shù)方程,先利用mesh grid函數(shù)生成繪制3D圖形所需的網(wǎng)格數(shù)據(jù),再運(yùn)用plot3、surf或mesh函數(shù)就可以畫出空間曲線、曲面。
Matlab提供了設(shè)置視點(diǎn)的函數(shù)view,可以獲得最佳的視覺效果,從不同角度觀察空間圖形。如view(0,0)為正視圖,view(90,0)為側(cè)視圖,view(0,90)為俯視圖,view([x,y,z])還可以將點(diǎn)(x,y,z)設(shè)置為視點(diǎn)。
在畫空間曲面時(shí),為了觀察內(nèi)部曲面的形狀,可以把外部曲面設(shè)置為透明狀態(tài)。Matlab中的alpha函數(shù),可以用于設(shè)置在當(dāng)前坐標(biāo)軸上對(duì)象的透明度屬性,使用格式為alpha(v),v可取0~1之間的數(shù)值,0為完全透明,1為不透明,0.5為半透明。
在高等數(shù)學(xué)的教學(xué)中,學(xué)生在涉及空間幾何計(jì)算時(shí)經(jīng)常有如下幾個(gè)需要解決的問題。
問題1:利用重積分計(jì)算空間立體的體積時(shí),需要搞清楚立體上下左右的曲面分別是哪一張,位置關(guān)系如何?例如,計(jì)算曲面[z=x2+2y2]和[z=6-2x2-y2]所圍立體的體積。
曲面[z=x2+2y2]和[z=6-2x2-y2]所圍立體見圖1,可以很清楚地看到上下曲面片分別是[z=6-2x2-y2]和[z=x2+2y2],并且也可以看到立體在[xoy]面的投影區(qū)域,即兩張曲面的交線在[xoy]面投影所圍成的區(qū)域。
問題2:利用重積分計(jì)算曲面片的面積時(shí),很難想象兩張曲面相交后出現(xiàn)的是怎樣的一張曲面片,如何去尋找準(zhǔn)確的曲面片的邊界及其投影面用以建立二重積分?例如,計(jì)算圓錐面[z=x2+y2]被拋物柱面[z2=2x]截得的曲面片面積。
圓錐面和拋物柱面的交線如圖2,可以很清楚看到拋物柱面[z2=2x]是如何截取圓錐面[z=x2+y2]的,而被截得的那一小片曲面在[xoy]面的投影區(qū)域也是兩張曲面的交線在[xoy]面投影所圍成的區(qū)域,從而可以幫助我們建立正確的積分表達(dá)式來計(jì)算曲面片的面積。
2? ? 利用Matlab的動(dòng)畫設(shè)計(jì)功能進(jìn)行輔助教學(xué)
在Matlab中,旋轉(zhuǎn)曲面每一條母線對(duì)應(yīng)了矩陣中的一列數(shù)據(jù),利用mesh(X(:,i-1:i),Y(:,i-1:i),Z(:,i-1:i))或者surf(X(:,i-1:i),Y(:,i-1:i),Z(:,i-1:i))[5]把旋轉(zhuǎn)曲面矩陣的一列列的數(shù)據(jù)依次畫出來,可以形成旋轉(zhuǎn)曲面的動(dòng)畫效果。
問題3:在計(jì)算旋轉(zhuǎn)體的體積時(shí),題目往往只給出某條曲線繞哪條直線旋轉(zhuǎn)而成的旋轉(zhuǎn)體,需要想象出整個(gè)立體圖形。例如,要計(jì)算[xoy]面上圓面[(x-2)2+y2≤1]繞[y]軸旋轉(zhuǎn)一周所成的旋轉(zhuǎn)體的體積。
圓環(huán)面形成動(dòng)畫的截圖見圖3。通過觀察上述旋轉(zhuǎn)體形成過程的動(dòng)畫,我們就能分析出解決問題的方法,可以利用兩個(gè)曲邊梯形繞[y]軸旋轉(zhuǎn)的體積差來計(jì)算該輪胎狀立體的體積,這兩個(gè)曲邊梯形的頂也就是這個(gè)圓周線的左右兩半邊。
此外,在高等數(shù)學(xué)中很多復(fù)雜的曲面形成過程如果能以動(dòng)畫的形式呈現(xiàn)在學(xué)生面前,無疑比枯燥的板書和講解更容易讓學(xué)生接受,課堂氛圍也更活潑。
3? ? 討論
用Matlab繪制空間圖形簡(jiǎn)單易學(xué),繪出的圖形準(zhǔn)確直觀,圖形立體性強(qiáng),不同的圖形可以渲染不同的顏色,表現(xiàn)力強(qiáng),可以彌補(bǔ)手工作圖的不足。利用Matlab制作旋轉(zhuǎn)曲面動(dòng)畫直觀、生動(dòng)、準(zhǔn)確,能夠動(dòng)態(tài)展示旋轉(zhuǎn)曲面的形成全過程,彌補(bǔ)了靜態(tài)視覺的不足。在高等數(shù)學(xué)的教學(xué)過程中,關(guān)于重積分和曲面積分的教學(xué)一直是個(gè)難點(diǎn),最大的問題就在于學(xué)生的空間想象力不足,對(duì)于一些二次曲面的形狀和方程不夠熟悉,利用Matlab進(jìn)行空間解析幾何的輔助教學(xué),可在很大程度上幫助學(xué)生熟悉空間幾何體的結(jié)構(gòu),從而建立正確的積分表達(dá)式。
參考文獻(xiàn):
[1] 王沫然. MATLAB與科學(xué)計(jì)算教程[M]. 北京:電子工業(yè)出版社,2016.
[2] 趙亞男,牛言濤. MATLAB在解析幾何教學(xué)中的應(yīng)用[J].長(zhǎng)春大學(xué)學(xué)報(bào)(自然科學(xué)版),2011(4):54-58.
[3] 徐曉華,胡曉飛. MATLAB數(shù)據(jù)可視化在高等數(shù)學(xué)中的應(yīng)用研究[J]. 昭通學(xué)院學(xué)報(bào)(自然科學(xué)版),2013 (5):41-44.
[4] 段俊生,安建業(yè),徐立. MATLAB曲面繪制中的挖補(bǔ)方法[J].大學(xué)數(shù)學(xué),2006, 22(4):36-39.
[5] 向修棟,付云芝. 在matlab中實(shí)現(xiàn)旋轉(zhuǎn)曲面的動(dòng)畫設(shè)計(jì)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2011, 21(3):52-55.
責(zé)任編輯? ? 祁秀春