趙巧珍
摘 要: 高職數(shù)學作為理工和經(jīng)管類專業(yè)的基礎課程,為今后的專業(yè)學習奠定基礎。而高職學生學習數(shù)學的過程中難免有一定的畏懼情緒,主要是不理解、不了解相應的原理、概念。本文通過介紹Matlab中的四種動畫制作技術,并舉例演示極限、定積分應用和解析幾何中常見的運動變化動畫,使學生對數(shù)學知識的理解更為直觀,提升學生學習興趣。
關鍵詞: 高等數(shù)學;Matlab;動畫
Abstract:Higher vocational mathematics as a basic course of science and engineering and economics and management, laying the foundation for future professional learning. However, in mathematics teaching, students often have a certain degree of resistance to the course, mainly do not understand, do not understand the corresponding principles, concepts. This paper introduces four kinds of Matlab animation in the production technology, and example, limit movement animation common integral application and analytic geometry, make students understanding of mathematical knowledge is more intuitive and enhance students' interest in learning.
Key words: Advanced Mathematics; Matlab; animation
【中圖分類號】 G642.0 【文獻標識碼】 A【文章編號】 2236-1879(2017)20-0327-02
一、高等數(shù)學情況介紹
高等數(shù)學具有高度的抽象性、嚴密的邏輯性和廣泛的應用性,作為高職理工科和經(jīng)管類專業(yè)一門重要的基礎課程,對于大部分學生來講,該門課程的學習都具有一定的難度,究其主要原因有以下幾點:首先是高中數(shù)學與高等數(shù)學之間銜接點沒有找對,高中數(shù)學涉及的是高等數(shù)學的基礎內(nèi)容,是為高等數(shù)學學習的前期準備,是作為解決問題模式的特殊化向普遍性過渡的;其次高等數(shù)學在教學的安排上學時較少,而且知識點較多,內(nèi)容抽象,側(cè)重概念的理解與原理的剖析,無法通過傳統(tǒng)的教學與圖像的展示生動的表現(xiàn)出來;再次學生數(shù)學思維能力培養(yǎng)沒有有效的重視,空間想象能力、問題轉(zhuǎn)化能力、邏輯思維能力對于高數(shù)的學習相對重要,需要通過課堂學習、課后思考和自學來培養(yǎng)1。
隨著信息技術的迅速發(fā)展,大部分的高職院校已經(jīng)開設高等數(shù)學的實驗課程,在學生學習高等數(shù)學的基礎上,借助數(shù)學計算軟件驗證相關定理結論并運用所學知識學習和掌握一般的數(shù)學建模方法以及解決實際問題的能力。通過高等數(shù)學實驗課,把抽象的數(shù)學公式、定理通過實驗得到驗證和應用,通過上機實驗,充分調(diào)動了學生的數(shù)學理論知識、軟件知識、計算機知識和動手能力,改善了學生的知識結構,提高了學生的綜合能力和素質(zhì)2。
Matlab以其界面友好、語句簡潔、計算和可視化功能強大、簡單易操作、開放和擴展性強等優(yōu)點,成為了大部分高校高等數(shù)學實驗課的實驗用軟件。通過Matlab實現(xiàn)高等數(shù)學的理論教學與實踐操作相結合,同時利用Matlab友好的編程開發(fā)環(huán)境及接近數(shù)學表達式的自然化語言將高等數(shù)學的理論概念予以展示,通過動畫設計,還可以把數(shù)學中某些形成過程或變換過程這些變化過程及結果準確地模擬出來,使得數(shù)學知識變得直觀生動,學生對知識理解更加深刻、透徹,增強數(shù)學學習的興趣,激發(fā)其學習欲望,進一步加強對數(shù)學學習的自學能力,為學生以后的工作和學習打下基礎3。
二、常用Matlab動畫制作技術方法
(一)、以質(zhì)點運動軌跡的方式顯示。
質(zhì)點運動軌跡顯示的動畫是最為簡單的動畫產(chǎn)生方式,通過質(zhì)點沿著某一曲線運動來顯示。使用comet(二維方式)、comet3(三維方式)函數(shù)的調(diào)用,使質(zhì)點在二維或者三維空間運動。
(二)、以擦除方式顯示。
Matlab中使用最多的動畫產(chǎn)生方式。通過繪圖函數(shù)不斷重復繪制圖形對象,重繪過程中遞增式地改變圖形對象位置,由更新的新圖覆蓋舊圖,產(chǎn)生動畫效果。在重繪對象的過程中之所以能產(chǎn)生動畫效果是由于對原來的圖形對象進行了擦除處理。
(三)、以旋轉(zhuǎn)顏色映像的方式顯示。
通過spinmap函數(shù)來產(chǎn)生動畫。此類動畫生成顯示時問題較多,同時由于操作系統(tǒng)的不同或者屏幕的色彩品質(zhì)過高都無法對制作的動畫進行運行。
(四)、以電影播放的方式顯示
保存想要產(chǎn)生動畫的圖片,存儲為一系列各種類型的二維、三維圖,再像放電影的方式按次序播放出來。運行一次可以多次播放,甚至可以直接生成avi文件,直接獨立于Matlab環(huán)境播放。
三、Matlab動畫制作示例
以下將通過極限的變化趨勢,定積分中的曲線旋轉(zhuǎn)構成的旋轉(zhuǎn)體和解析幾何中直線繞定軸旋轉(zhuǎn)生成單葉雙曲面等比較常見的過程,但又需要通過一定的動畫引導來加強理解的內(nèi)容來展示:
(一)、極限變化趨勢。
極限一般是無限接近,通過動畫可以很清晰明了的表示出它的變化過程和趨勢,下面就通過兩個重要的極限之一來演示趨向于某個值的極限變化過程。
例1:
x=1:-0.001:0;
y=sin(x)./x;
h=plot(x,y);
axesValue=axis;
for ii=1:10
for jj=1:length(x)*ii/10
set(h,'xdata',x(1:jj),'ydata',y(1:jj),'color','r');
axis(axesValue);
end
A(ii)=getframe;
end
movie(A);
(二)、定積分應用。
定積分的應用經(jīng)常涉及到的是求解某平面圖形繞某條直線旋轉(zhuǎn)形成的旋轉(zhuǎn)體的體積。下面就以某條拋物線旋轉(zhuǎn)的動畫來演示。
例如:求拋物線x=1-y^2(-5<=y<=5)繞x軸旋轉(zhuǎn)產(chǎn)生旋轉(zhuǎn)體的體積。
dis=linspace(-5,5,100);
steplen=linspace(0,pi,100);
for j=1:10
for i=1:100
y=dis.*cos(steplen(i));
z=dis.*sin(steplen(i));
x=1-(y.^2+z.^2);
plot3(x,y,z);
pause(0.01);
hold on
grid on
A(j)=getframe;
end
end
movie(A)
(三)、解析幾何。
解析幾何中,涉及到空間中的直線,和曲面的內(nèi)容對于大多數(shù)空間想象力不足的學生是非常頭疼的,但是通過動畫的展示,可以將空間中的直線與曲面的變化過程反映出來,方便理解。下面就以直線旋轉(zhuǎn)形成單葉雙曲面形成過程作為示例。
例3:直線x=1, y=t, z=2t 繞z軸旋轉(zhuǎn)得到的單葉雙曲面
x=[-0.6,0.8];
y=[0.8,-0.6];
z=[3.0,-3.0];
[th,phi,r]=cart2sph(x,y,z);
n=120;
k=24;
hf=figure;
axis([-2,2,-2,2,-4,4]);
hold on
for i=1:n
[xt,yt,zt]=sph2cart(th+2*pi*i/n,phi,r);
x=xt;y=yt;z=zt;
hl=plot3(x,y,z,'m');
hfr=getframe(hf);
end
movie(hfr)
特別注意以上程序均在Matlab軟件2010b版本下測試完成。
四、總結
本文中介紹的高等數(shù)學學習中三個簡單動畫,僅僅是眾多學生需要了解的原理、概念動畫的冰山一角。在信息技術高度發(fā)達的今天,必須利用現(xiàn)代化的信息技術來服務傳統(tǒng)的教學方式,使相對比較枯燥的高等數(shù)學變成學生的興趣點,促進學生自主學習的培養(yǎng),為終身學習打好基礎;進一步培養(yǎng)學生的數(shù)學實際應用的意識,提供學生利用計算機技術和數(shù)學知識分析解決問題的能力,促進學生實踐能力的培養(yǎng),為今后的創(chuàng)新奠定基礎。
參考文獻
[1] 劉璟忠;莫明琪.基于Matlab動畫設計輔助高等數(shù)學教學[J].湖南科技學院學報.2006,(05):269-271.
[2] 李娜,仁慶道爾吉.MATLAB在高等數(shù)學教學中的應用研究[J].大學教育.2012,(11):66-67,74.
[3] 劉艷蘭.基于MatLab環(huán)境的高等數(shù)學可視化[J].現(xiàn)代計算機(專業(yè)版).2011,(07):28-29,32.
[4] 洪曉芬.基于Matlab的動畫演示與高等數(shù)學教學[J].計算機與現(xiàn)代化.2011,(04):112-114+118.
[5] 張萸,張敬華.Matlab動畫演示教學[J].福建電腦.2008,(06):193+212.
[6] 吳宏鍔,王慧.基于Matlab的圖形動畫研究[J].南陽師范學院學報.2010,(06):59-61.
[7] 張德豐,趙書梅,劉國希.Matlab圖形與動畫設計[M].北京:國防工業(yè)出版社.2009.1-179.
[8] 霍振香,王福昌,張麗娟.在高等數(shù)學教學中使用Matlab制作曲面和動畫的幾個實例[J].教育教學論壇.2013,(32):175-177.
[9] 吳敏,陳濤.在Matlab中實現(xiàn)動畫效果[J].電腦知識與技術.2006,(20):191-192.
[10] 向修棟,付云芝.在Matlab中實現(xiàn)旋轉(zhuǎn)曲面的動畫設計[J].計算機技術與發(fā)展.2011,(03):52-55.
[11] 劉廣會,曹修文,齊化富.基于matlab的圖形和動畫技術在高等數(shù)學教學中的應用[J].甘肅聯(lián)合大學學報(自然科學版).2013,(03):83-86,90.
[12] 劉志勇.基于Matlab的動畫制作[J].江西電力職業(yè)技術學院學報.2008,(03):57-58.
[13] 童德茂,張華.Matlab用于動畫制作旋轉(zhuǎn)曲面設計[J].安慶師范學院學報(自然科學版).2015,(02):125-129.