謝作如++楊玉軒
在創客教育中,3D建模與3D打印是很重要的組成部分。按理說,3D建模與數學是息息相關的,但審視中小學常用的3D建模軟件,更多的是在考量鼠標操作的熟練程度,幾乎看不出“數學”體現在哪里。因而,我們希望更多的老師教學生用“3D程序員”來建模,力求在“造物”的同時,把數學知識也用起來。
要用“3D程序員”設計出具有圓滑曲線表面的模型,肯定離不開函數的幫忙。函數幾乎是所有學生數學學習的痛點,但建模并不關注對函數原理的研究,只要知道什么樣的函數能產生什么樣的圖形即可。按照初等數學和高等數學兩部分內容,我們分別例舉數學函數在3D建模中的巧妙應用。
初等數學中的函數與應用
初等數學中,學生能夠學習到基本的初等函數,如指數函數、對數函數、冪函數、反函數以及三角函數等(如下表)。這些函數用圖像來表示,如圖1所示。
那么,建立3D模型時可以利用這些函數來實現什么功能呢?下面來看幾個例子。
1.用拋物線做筆擱
很多立體圖形都可以通過平面圖形拉伸而成,如立方體。“3D程序員”中的數學模塊,包含了基本的初等函數,圖2為一個自變量為x的二次函數圖像,圖像為拋物線。“3D程序員”給拋物線加上“線寬”的屬性,只要用拉伸功能,就能形成一個立體模型。
筆擱是毛筆書法中除文房四寶之外,另一不可或缺的物品。(仔細觀察筆擱的構造如下頁圖3所示)很快就會發現其中的規律:筆擱主要是由曲線組成,而這段曲線又是不規則的,可以通過不同的函數方程拼接出來。
把形狀圖放入坐標系,再根據坐標系寫出曲線方程,如下頁圖4所示。
根據不同函數的圖像特點,拼接出一個所需的圖像,函數如下。
f(x)=-x^2+7 x∈[-2.5,0]
g(x)=√(10x+64) x∈[-6.4,-5.3]
h(x)=-(x+3.5)^2 x∈[-5.3,-2.5]
根據函數畫出一半圖像后,利用“3D程序員”中的“鏡像”指令,完成構圖(如圖5)。在沒有給出確定坐標值的情況下,學生想出的數學公式并不是唯一的,尋找合適的數學公式的過程,就是一次有趣的探究。
2.用正弦函數設計“激光劍柄”
《星球大戰》作為一部經典電影,一直深受“星戰迷”的喜愛。在電影中,用于近身格斗的激光劍也成為《星球大戰》的象征,制作一把激光劍是很多創客的選擇。除去劍身,最主要的部分當屬劍柄,而激光劍柄需要有流線的外形(如圖6)。
分析劍柄的曲線部分,其是利用三角函數中的正弦函數曲線特性,減小自變量的值使曲線變得平滑。周期變大,坐標軸顯現如圖7所示。
公式:f(x)=2.4+sin?(0.35x) x∈[2.5π,7π]
輸入2D函數,利用其他指令和形狀進行拼接組合,再利用“旋轉”功能,就可以完成劍柄的制作。在如圖8所示的模型中,劍柄還要挖空,用于放入電源及其他電子器件,所以特意開了一個口子,用于安裝控制激光劍效果的“按鈕”。
3.用“心臟線”做吊墜
“心臟線”是一種比較特殊的函數。心形函數有很多種表達式,利用任何函數圖像的特性組合為一個分段函數形成一個心形線,如下頁圖9所示,最終在“3D程序員”中畫出了心形函數的圖像。
公式:f(x)=√(1-(|x|-1)^2 ) x∈[-2,2]
g(x)=arccos?(1-|x|)-3 x∈[-2,2]
利用“心臟線”可以做一個心形吊墜,用一個球與拉伸后的“心臟線”進行凸殼處理,即可得到一個心形的實體(如下頁圖10)。
需要提醒的是,可以先取“心臟線”的一半(只需改變x的取值范圍)和球的一半,進行凸殼處理,之后鏡像翻轉,再進行布爾合并即可。
小結
不管是指數函數、冪函數、對數函數還是三角函數,它們都有一個共同點,就是圖像都是曲線,更改變量后會得到無數種圖形。同時,根據一個函數圖像,也可以得到該圖像的無數種表達式。確定和不確定的融合,這就是數學建模的樂趣所在。
函數并不只存在于數學運算中,它時刻與我們相伴。在進行3D建模的過程中,僅僅用肉眼很難畫出一條完美的曲線,如果能夠合理地利用各類函數的特性進行組合,設計出來的作品就會更加精彩。使用“3D程序員”來設計3D模型,能夠將抽象的邏輯與運算真實地呈現在現實世界中,讓學生更加深刻地體驗到數學之美。