完善主體資料,免費贈送VIP會員!
      * 主體類型
      * 企業名稱
      * 信用代碼
      * 所在行業
      * 企業規模
      * 所在職位
      * 姓名
      * 所在行業
      * 學歷
      * 工作性質
      請先選擇行業
      您還可以選擇以下福利:
      行業福利,領完即止!

      下載app免費領取會員

      NULL

      ad.jpg

      Dynamo樣例文件解析之Core_Math(三)

      發布于:2019-08-12 18:30:09
      首頁/技術分享/Dynamo
      收藏
      6074

      來福

      更多

      該樣例文件主要是介紹Dynamo中與Math相關的應用,Dynamo中的數學可以通過公式節點“Formula”、代碼塊“Code Block”或者節點庫中與數學相關的節點完成。

      10、這個例子以點的網格為起點,計算點的Z坐標,然后生成曲面。

      10.1 通過節點Code Block輸入公式“-10..10..#20”,生成一個從-10到10間距相等、項數為20的列表。

      10.2 通過節點Point.ByCoordinates生成點圖元,連綴方式為叉積。

      10.3 將生成的點列表經過節點Flatten展平以后,獲取點的X分量和點的Y分量。

      10.4 通過節點Math.Pow求步驟10.3中X分量的二次方和Y分量的二次方,然后用一個數字滑塊計算第三個二次方的結果。

      10.5 做兩個加法運算,獲得三個二次方結果的和。然后通過節點Math.Sqrt計算總和的平方根。由于X分量的二次方與Y分量的二次方都有不同的數值,因此它們的和也是不同的。

      10.6 節點Math.RadiansToDegrees可以將以弧度為單位的角度轉化為以度為單位的角度,然后通過節點Math.Sin計算正弦值。最后正弦值的結果除以弧度后乘以一個系數,這個系數由一個滑塊控制。

      10.7 通過節點Point.ByCoordinates生成點圖元,點坐標的X分量與Y分量和之前的點一樣,點坐標的Z分量為步驟10.6中計算的結果。

      10.8 有了點的列表之后,將大列表用節點List.Chop拆分為20個子列表,拆分后子列表的項數為步驟10.2中子列表的數量。

      10.9 經過節點NurbsCurve.ByPoints連線,可以直觀地查看到上一步子列表中點的存放規律,同一個子列表中的點生成一條樣條曲線,共20條。

      10.10 最后用節點Surface.ByLoft將生成的樣條曲線通過融合命令生成曲面。

      10.11 調整其中的兩個滑塊,可以調整整個圖形的形狀。

      11、通過Python Script完成相同的效果。

      11.1 打開節點Python Script,在第5行將與數學相關的模塊導入。

      11.2 第8行至第11行創建四個參數amp、x、y和c,分別對應著四個輸入端IN[0]、IN[1]、IN[2]和IN[3]。

      11.3 第14行創建一個空的列表,名稱為z。

      11.4 第17行創建一個for循環。參數x是一個列表,該列表共有20個索引項,因此將會循環20次。

      11.5 第18行至第21行是循環的主體,整個過程與步驟10中相關的節點功能一致。

      11.6 第24行將第21行的結果放進列表z,直到循環結束。

      11.7 第27行將整個python Script的輸出結果定義為z,因此這個節點輸出的結果為列表z中的數值。

      12、通過節點Formula完成相同的效果。

      12.1 整個流程與普通節點的流程一致,不同點是節點Formula應用的函數是屬于外部函數,并不是Dynamo內部的函數,因此將角度處理為弧度。

      12.2 在節點Formula中輸入公式“A * sin( sqrt( pow(x,2) + pow(y,2) + pow(c,2) ) ) / sqrt( pow(x,2) + pow(y,2) + pow(c,2) )”。

      13、通過節點Code Block完成相同的效果。

      13.1 節點Code Block調用的函數與Dynamo自帶的函數是一樣的,因此Code Block中的表達與普通節點是一樣的,因此運用的函數名稱與Dynamo中自帶的函數相匹配。

      13.2 節點Code Block中依次輸入四行內容。

      13.3 第一行“ sum = Math.Pow(x,2) + Math.Pow(y,2) + Math.Pow(c,2);”。

      13.4 第二行“num1 = Math.Sqrt(sum);”取平方根。

      13.5 第三行“num2 = Math.Sin( Math.RadiansToDegrees(num1) );”將弧度轉化為度后計算正弦值。

      13.6 第四行“A * num2 / num1;”。這四行內容中應用到的節點名稱與普通節點的名稱是一樣的,但是能夠添加參數,讓表達更靈活、更簡潔。

      本文版權歸腿腿教學網及原創作者所有,未經授權,謝絕轉載。

      未標題-1.jpg

      上一篇:Dynamo樣例文件解析之Core_Math(二)

      下一篇:Revit放置風管附件并調試設置?

      主站蜘蛛池模板: 日韩免费无码一区二区三区| 亚洲中文字幕一区精品自拍| 亚洲AV一区二区三区四区| 久久无码人妻一区二区三区午夜| 怡红院AV一区二区三区| 亚洲一区二区视频在线观看| 日韩成人无码一区二区三区 | 精品久久久久久无码中文字幕一区| 国产成人精品久久一区二区三区av| 中文字幕在线不卡一区二区| 久久亚洲日韩精品一区二区三区| 无码人妻一区二区三区免费看| 精品女同一区二区三区在线| 国产麻豆精品一区二区三区| 在线观看国产一区二三区| 精品无人区一区二区三区在线| 亚洲AV无码一区东京热| 天堂资源中文最新版在线一区 | 婷婷亚洲综合一区二区| 无码中文字幕乱码一区| 日韩欧美一区二区三区免费观看 | 精品女同一区二区三区在线 | 蜜臀Av午夜一区二区三区| 另类一区二区三区| 国产一区二区三区免费观看在线| 精品视频一区二区三区四区五区| AV怡红院一区二区三区| 熟妇人妻一区二区三区四区| 久久久久国产一区二区| 亚洲av无码一区二区三区不卡 | 亚洲AV无码一区二区三区牲色 | 亚洲变态另类一区二区三区| 亚洲AV成人精品一区二区三区| 人妻互换精品一区二区| 波多野结衣一区二区三区88 | 色欲精品国产一区二区三区AV| 无码视频一区二区三区在线观看 | 久久一区二区三区99| 久久精品视频一区二区三区| 亚洲av无码一区二区三区天堂古代 | 国产丝袜无码一区二区视频|