下載app免費領(lǐng)取會員
文章源自公眾號:3D科研繪圖
作者:圖靈
在你眼中3ds Max也許只是個繪圖軟件,但在小編看來,這是一款很好用的數(shù)字圖像化軟件。只要我愿意,它可以化身Excel,化身Origin,甚至實現(xiàn)MATLAB的作圖功能。這一切只因為她——MAXScript(max腳本語言)。
腳本編輯給了像我這類軟件使用者極大的創(chuàng)作空間。顏色有RGB值,反射折射比有菲涅爾公式,全局光照還有蒙特卡洛算法,這個世界歸根到底是可以數(shù)字化的,憑什么就非得按照一款軟件自身設(shè)定的邏輯來描繪我腦海中的圖像?
所以,請丟掉3ds Max繪圖太隨意,數(shù)理性不強的刻板偏見,今天的教程就教大家一波新操作:用max繪制一個標(biāo)準(zhǔn)的正弦波。
在3ds Max中,你可以輕輕松松畫出一個圓、一段弧,甚至一條螺旋線,但函數(shù)圖像千千萬,如果要你畫拋物線、雙曲線呢?作為一個資深軟件玩家,如果回答說不會,是不是有點尷尬?
那么,化解尷尬的第一步,我們先得知道Maxscript是怎么創(chuàng)建樣條線的。
新建腳本,輸入下列語句:
b = splineshape()
addnewspline b
addknot b 1 #corner #line [0,0,0]
addknot b 1 #corner #line [10,0,0]
shape b
運行之后,你會在視圖中看到生成了一條線段,端點分別是(0,0,0)和(10,0,0)。這就是以上代碼的含義,先生成一個樣條線圖形,然后給這個圖形設(shè)置端點,最后連線。
有了這個基礎(chǔ),創(chuàng)建正弦曲線就再簡單不過了,y = sin x嘛,誰不知道?所以只要加一個for循環(huán),正弦曲線就有了。
n = 120
for i = 1 to n do
(
b = splineshape()
addnewspline b
addknot b 1 #corner #line [2*pi*(i-1)/n,sin(360*(i-1)/n),0]
addknot b 1 #corner #line [2*pi*i/n,sin(360*i/n),0]
shape b
b.wirecolor = red
)
得到的曲線如圖所示
這條正弦曲線是由n條小線段組成的,創(chuàng)建成功后可以附加到一起,選擇任一段,點擊附加多個,全選其他線段后附加。一條正弦曲線就畫完了。
除了正弦曲線外,可能有些同學(xué)還要畫一些箭頭表示波的強度,方法還是一樣,只要把for循環(huán)中兩個頂點坐標(biāo)改成如下所示就好了:
addknot b 1 #corner #line [2*pi*i/n,0,0]
addknot b 1 #corner #line [2*pi*i/n,sin(360*i/n),0]
運行后得到的圖形如下,如果覺得太密,可以把n值設(shè)小一點。
比如n = 12,開啟樣條線渲染可見,徑向厚度設(shè)為0.03時,運行如下語句:
這里的箭頭是用圓錐體創(chuàng)建的,一句完整的創(chuàng)建腳本為:
c = Cone smooth:on heightsegs:1 capsegs:1 sides:24 height:0.18 radius1:0.065 radius2:0.01 mapcoords:on pos:[2*pi*i/n, sin(360*i/n)-0.18, 0] wirecolor:blue
這些參數(shù)就是在創(chuàng)建圓錐體時會用到的參數(shù),唯一要注意的就是坐標(biāo)應(yīng)隨著x增大呈正弦曲線變化。
運行得到結(jié)果如下,π和2π處的兩個圓錐箭頭是多余的,可以刪除。
y方向的振幅乘以一個倍數(shù)系數(shù)就可以自由調(diào)節(jié):
另一個垂直方向的波則可以通過改變for循環(huán)中的坐標(biāo)值,或者整體旋轉(zhuǎn)90度來得到:
至此,一個電磁波的三維空間示意圖就畫完了。有了正弦函數(shù)的繪制基礎(chǔ),其他函數(shù)還不是手到擒來?大家拿其他方程去嘗試吧。
本期教程到此結(jié)束,感謝大家的觀看。
本文版權(quán)歸腿腿教學(xué)網(wǎng)及原創(chuàng)作者所有,未經(jīng)授權(quán),謝絕轉(zhuǎn)載。
上一篇:3DMAX教程 | 3ds Max怎么畫編織物?卷軸狀的碳布編織物3ds Max畫法
下一篇:Navisworks教程 | 如何解決Navisworks模型導(dǎo)入時的位置偏移問題
推薦專題