又到了HyperMesh寶典時間啦,今天的主題是空間變換,先說說什麼是空間變換吧。

 

"座標變換是空間實體的位置描述,是從一種坐標系統變換到另一種坐標系統的過程,通過建立兩個坐標系統之間一一對應關係來實現。"

 

空間變換的操作幾乎每天都會用到,比如下面這個“不務正業”的Altair韓國分公司的同事寫的俄羅斯方塊遊戲其實就是不斷地使用HyperMesh的平移和旋轉功能。

 

 

 

 

HyperMesh中的3種基本空間變換操作是這樣的。

 
 

第一種基本空間變換:平移

 
 
 

1.  進入translate面板

2.  選擇要平移的物件,這裡我們選擇elems

 
 

 

如果想保留原始的單元,那麼選擇單元後,移動前需要複製一份:

 

 

3.  結果如下:

 

第二種基本空間變換:旋轉

 
 
 

1.  進入rotate面板

2.  選擇要旋轉的物件,這裡我們選擇elems

 

 

3.  結果如下:

 

第三種基本空間變換:縮放

 
 
 

一提起縮放容易讓人想起俄羅斯套娃,就用它演示了。

 

 

1.  進入scale面板

2.  選擇要縮放的物件,這裡我們選擇elems,下面的node選擇是縮放時用的原點

 

 

3.  結果如下:

 

 

 

 

除了這3種基本空間變換,HyperMesh還有3種衍生變換。

 
 

第一種衍生變換:鏡像

 
 
 
 

 

自然界偏愛對稱之美,對稱的事物容易讓人覺得放鬆和舒服。無論是工程中還是自然界對稱都隨處可見。

鏡像在HyperMesh中叫反射,和mirror是一個意思。

 

1.  進入reflect面板

2.  選擇要鏡像的物件,這裡我們選擇elems

 

 

選擇單元後,如果希望保存原先的單元,鏡像前可以複製一份:

 

3.  結果如下:

 

 

第二種衍生變換:投影

 
 
 

投影是一種降維的變換。

1.  進入project面板

2.  選擇要投影的物件,這裡我們選擇elems

 

 

3.  結果如下:

 

 

第三種衍生變換:定位

 
 
 

1.  進入position面板

2.  選擇要定位的物件,這裡我們選擇elems

 
 

 

定位的過程可以分成3個步驟:

1.  從原始n1平移到目標n1

2.  通過旋轉將原始n1-n2軸線對齊到目標n1-n2軸線

3.  再次繞n1-n2軸線旋轉將原始n1-n2-n3平面對齊到目標n1-n2-n3平面

 

 

 

以上內容主要是為了給新同學補課,本講的精彩內容還在下面部分。

 

HyperMesh2017.2中,平移、旋轉、縮放、鏡像的升級版功能都已經集成在下拉式功能表Tools>Transformation Tool中了。

 

 

這個工具的優點是可以一次實現多個平移、旋轉或縮放,還可以帶載荷和坐標系。具體用法請觀看以下視頻瞭解。

 

前面遊玩的事還沒有說完,爬山的時候經常能看到各種各樣的蜘蛛網,幾乎每走過一段路就會見到一個,一不小心還可能撞個滿臉滿懷。蜘蛛長相雖不咋地,蜘蛛網卻有一種複雜而有序的美感。

 

 

被雨打濕後更是形態各異,美輪美奐。

 

放大一點:

 

再放大一點:

 
 

 

相機焦距所限,沒法再放大了。

這些水滴像不像是一種複雜的陣列?方老師本來準備用Evolve做一個類似前面帶水滴的蜘蛛網的模型,不過倉促之間只完成了個簡陋的替代品。

 

 

接下來要做的就是通過移動把蘋果的六面體網格移動到各球的球心位置(如果是一串葡萄就更好看了)

雖然HyperMesh並沒有直接的功能,但是我們可以很容易地分步實現。

1.  把一個蘋果劃分成六面體,這裡我們直接把第二期用過的蘋果拿來了。

 

 

2.  在每個球的中心生成一個point(也可以是node,但是由於模型通常有很多別的node,不方便選擇,而point除了定位之外一般是沒有別的用處的)。這是一個簡短的腳本。這裡的球可以是體也可以是面,球也可以換成圓柱或者立方體等,都不影響結果。

生成point的腳本如下:

 

運行效果如下:

【HyperMesh寶典】之空間變換之美 01.gif

 

 

3.  把蘋果平移到各個位置,這也是一個很簡單的腳本(腳本都可以從最後的閱讀原文中下載)。

 

4.  運行結果如下,大家可以看到每個points下面都掛了一個紅蘋果:

 

一般而言,在HyperMesh中創建nodes通常比創建points方便,但是從CAD軟體創建並導入HyperMesh的只能是points,如果需要將nodes轉化為points,可以運行以下腳本:

 

 

 

最後,我們來看一個更有趣的問題:DNA雙螺旋結構。

 

 

 

這個問題主要的難點是連接小球的直杆的建模,因為杆的位置和角度都在連續變化,我們只能使用position功能來實現。問題是如果有很多很多的杆時操作會很繁瑣,所以我們需要一個自動化的腳本來協助我們。

 

第一步:我們需要一個劃好網格的零件作為參考

 

第二步:先創建球心的points

 

 

結果如下:

 

考慮到position面板使用的是nodes而不是points,我們需要將points轉換為nodes

 

運行結果如下:

 

 

第三步,將六面體圓柱沿著雙螺旋依次放置

一般的position操作需要3點才能定位,由於這裡是圓柱,不需要考慮繞自身旋轉中心的旋轉,我們可以把第三點統一放在一個遙遠的地方(只要三點不會共線就可以)。

這個腳本也很短:

 

 

運行結果如下,大功告成:

 

 

 
 
 

(說明:本文照片都是方老師拍的原片,幾何圖形是在Evolve中創建的。)

arrow
arrow

    Altair Taiwan 發表在 痞客邦 留言(0) 人氣()