2015年12月20日

數學函數紙模型

半年前去東京,看到一系列很美的模型,是用數學函數做出的。看到的當下,沒辦法拍照,回國之後找好久終於找到是哪邊出品的。原來是大橋製作所製作的,是很美的數學模型。
網站http://www.sugakuart.com/


會找到這個連結,其實是翻「青少年のための科学の祭典」,看到他們有資料
立体グラフ 「数楽アート」を作ろう
裡頭還有附上型紙,印下來剪一剪,就可以跟著作一個數學函數立體紙模型。

跟著作是一回事,我更想要弄懂怎麼製作,這樣我就可以任意產生各種函數來作模型了。

Google搜索引擎就有圖表繪製的功能,像是搜尋列直接輸入z=x^2-y^2,就可以看到這樣鞍型圖




或是輸入z=x*y*0.5,也有不同的鞍型圖


鞍型圖非常有意思,以為是谷底,其實是山頂,以為是山頂,其實還只是谷底,處在什麼位置,端看你用什麼角度去看。

所以我第一個嘗試就用鞍型圖來作吧,第一步是產出鞍型圖的曲面數據。這步驟我用Gnu octave來製作。

命令很簡單,兩行就可以產出z=0.5xy的數據,然後把數據存在0.5xy.dat這個檔案裡
d = ((-10:0.2:10)' * (-10:0.2:10))*0.5 ;
save("0.5xy.dat", "d");

接下來要做出立體的模型,我使用OpenSCAD來作,這是一個用寫程式碼來作立體建模的軟體。

程式也很簡單,就三行搞定
translate([0,0,70]) union(){
surface(file = "0.5xy.dat",center = false, convexity = 10);
translate([0,0,-70])cube([100,100,20]);

}




做出模型之後,存成stl檔,接下來就可以作應用了。
STL檔案我存在thingiverse上頭,還包括幾個不同的數學函數模型。
z=axy 鞍型
z=-(x2+y2) 是個拋物面
z=1-(x2+y2)^0.5 這個像是個角錐
z=acos(x2+y2) 這個像是水滴產生的波紋
z=x2-y2 另外一種鞍型


然後怎麼做出這樣的模型呢?需要用到123D make,在Autodesk的網站上可以免費下載。

123D make操作都很簡單,比較要注意的是怎麼設定「厚度」,由於我作的成品,可能用紙來作,也可能用壓克力雷切製作,所以我會作兩個不同的設定值,改變他們的厚度。

紙張部份就設定thickness是0.001,壓克力我預設會用2mm厚的,所以我就設定thickness是0.021。

製作產出的檔案,除了stl檔案之外,都在Google硬碟裡。

stl檔則都是放在thingiverse上頭。