書名: Autodesk Revit參數(shù)化設(shè)計之道:Dynamo實戰(zhàn)剖析作者名: 柏慕聯(lián)創(chuàng)組編本章字數(shù): 1185字更新時間: 2022-05-10 17:34:24
1.6 例題5:應(yīng)用Dynamo繪制x2+y2=R2函數(shù)圖像
1.解題思路
通過簡單的數(shù)學運算將函數(shù)x2+y2=R2分解為兩個部分(圖1-47):上半圓y=+sqrt(R2-x2)(-R≤x≤R),下半圓y=-sqrt(R2-x2)(-R≤x≤R)。變量R采用Number Slider(數(shù)字滑塊)節(jié)點代替,這樣可以通過前面講解的知識點來解決問題。

圖1-47
但是如果函數(shù)結(jié)構(gòu)復雜,便不能通過簡單的函數(shù)變形求解此類問題,如本例題最后的思考題“笛卡爾—心形線”。如果把它當作純粹的數(shù)學問題來看待,很容易就想到采用極坐標的方法求解。
這里就采用極坐標的方式來構(gòu)建函數(shù)并完成函數(shù)圖像的繪制。
提示
數(shù)學中,極坐標系是一個二維坐標系統(tǒng)。該坐標系統(tǒng)中任意位置可由一個夾角和一段相對原點—極點的距離來表示。
用極坐標系描述的曲線方程稱作極坐標方程,通常表示為r為自變量θ的函數(shù)。極坐標系中的角度通常表示為角度或者弧度,使用公式2π×rad=360°。
2.知識點
● 極坐標法
● Code Block
3.例題詳解
(1)描點法繪制。函數(shù)x2+y2=R2的極坐標方式為:
x=Rcos(θ),y=Rsin(θ)(0≤θ≤2π)
使用描點法繪制函數(shù)圖像,步驟如下:
1)使用Number.Silder(數(shù)字滑塊)創(chuàng)建一組數(shù)值,表示R。
2)使用Range(范圍)節(jié)點在區(qū)間0≤θ≤2π內(nèi)取一組數(shù)值,表示θ,注意轉(zhuǎn)換θ的單位。
3)通過數(shù)學運算獲取x、y值。
4)將x、y值輸入Point.ByCoordinates(根據(jù)坐標系生成點)節(jié)點,再用閉合曲線NurbsCurve.ByPoints(通過點的樣條曲線)節(jié)點串聯(lián)各點,形成可參變R值的圓形,結(jié)果如圖1-48所示。

圖1-48
僅一個簡單的函數(shù)就用了多個Dynamo節(jié)點,能否簡化節(jié)點呢?
(2)Code Block節(jié)點簡化節(jié)點。這里給大家介紹一個功能強大的Code Block節(jié)點,如圖1-49所示。在Script(腳本)下的Editor(編輯器)里可以找到,也可以直接在工作空間中雙擊鼠標左鍵進行調(diào)用。

圖1-49
Code Block節(jié)點可以直接進行邏輯運算,若出現(xiàn)未知變量,未知變量將被自動視為節(jié)點的輸入端口,如圖1-50所示,書寫過程中不可以省略運算符號。

圖1-50
Code Block節(jié)點可以調(diào)用Dynamo中的任何節(jié)點,通常是根據(jù)節(jié)點目錄按層級書寫,以“.”隔開。例如調(diào)用三角函數(shù)sin(x),需要先寫Math,和編程一樣,軟件會出現(xiàn)命令提示窗口,供編輯者快速選擇,如圖1-51所示。當然也有通過直接書寫節(jié)點名來調(diào)用命令的情況,如坐標點節(jié)點,Point.ByCoordinates(x,y,z)。有關(guān)內(nèi)容將在“DesignScript語法”的相關(guān)章節(jié)進行講解。
提示
輸入函數(shù)時,注意“()”為英文狀態(tài)下輸入。

圖1-51
Code Block節(jié)點也可以用于直接編寫列表,實現(xiàn)Range節(jié)點和Sequence節(jié)點的功能,如圖1-52所示。即“起始值..終值..數(shù)據(jù)間距”和“起始值..#總個數(shù)..數(shù)據(jù)間距”。
提示
注意數(shù)據(jù)之間是兩個“.”,而非一個“.”。

圖1-52
同理,Code Block節(jié)點也可以寫為“起始值..終值..#一共被平分的個數(shù)”,如圖1-53所示。

圖1-53
利用Code Block節(jié)點,簡化本例題中的節(jié)點,如圖1-54所示。

圖1-54
節(jié)點可以繼續(xù)簡化,如圖1-55所示,節(jié)點中所用DesignScript語法的相關(guān)內(nèi)容詳后續(xù)章節(jié),此處不做要求。

圖1-55
保存文件為“x2+y2=R2函數(shù).dyn”。
思考題:應(yīng)用Dynamo繪制笛卡爾—心形線(圖1-56)
笛卡爾—心形線函數(shù)方程式為:
x2+y2+a×x=a×sqrt(x2+y2)
x2+y2-a×x=a×sqrt(x2+y2)

圖1-56
提示
笛卡爾—心形線參數(shù)式方程:
x=a×[2cos(t)-cos(2t)];y=a×[2sin(t)-sin(2t)],其中-π≤t≤π或0≤t≤2π。
- Photoshop CS6 商業(yè)應(yīng)用案例實戰(zhàn)
- Maya影視動畫高級模型制作全解析
- 中文版After Effects 2021入門教程
- CoffeeScript Application Development
- 品悟:Alias 2014+Showcase產(chǎn)品可視化造型與渲染
- DWR Java AJAX Applications
- 專業(yè)級音樂制作理論與實踐Pro Tools:從入門到應(yīng)用
- Maya 2020基礎(chǔ)教材
- UG NX 8.0模具設(shè)計教程
- Linux Shell Scripting Cookbook
- Photoshop CC 2018基礎(chǔ)教程(第3版)
- Microsoft SQL Azure Enterprise Application Development
- 卷珠簾:Photoshop古風插畫技法完全教程
- 數(shù)碼攝影修圖師完全手冊(第2卷)
- 中文版AutoCAD自學經(jīng)典