最簡模型-ATM-Part3-動畫設定
隨著個人電腦的運算能力精進,近年系統模擬的最大差異就是採用3D動畫來呈現模型。 3D技術博大精深,這篇僅能提到一些空間佈置(Space Markup)應用。至於詳細的內容,得參考空間佈置系列的文章。若要詳談3D的話,又得再開另一系列才行。
==========
首先我們知道模型中的元件,在真實世界裡是否需要呈現。例如說Source,可以僅設定一個點,當作Entity Arrival時,要出現的位置。如果,你的模型設計是一次Arrival事件發生,會同時來很多個Entity,用點來表示,就無法感受多個Entity,就需要設定一個空間。再複雜點,你還可以設計一個門放在那兒,如時間很夠,你還可以加上動畫,用來顯示人進來是開門關門的動作。工作站也是,你可以僅僅用一個方型區間來代表,可是,若你想明確表達這空間中,工作人員等候時站在哪,操作時站在哪,Entity進來時先放哪,加工時會在哪,結束後會放哪。甚至你可以設計加工前Entity的外觀樣式,加工中,加工後,都可以不同。總之,彈性甚大,也因為如此AnyLogic很強大,也正因為如此,想學好AnyLogic真的不容易。
==========
首先我們知道模型中的元件,在真實世界裡是否需要呈現。例如說Source,可以僅設定一個點,當作Entity Arrival時,要出現的位置。如果,你的模型設計是一次Arrival事件發生,會同時來很多個Entity,用點來表示,就無法感受多個Entity,就需要設定一個空間。再複雜點,你還可以設計一個門放在那兒,如時間很夠,你還可以加上動畫,用來顯示人進來是開門關門的動作。工作站也是,你可以僅僅用一個方型區間來代表,可是,若你想明確表達這空間中,工作人員等候時站在哪,操作時站在哪,Entity進來時先放哪,加工時會在哪,結束後會放哪。甚至你可以設計加工前Entity的外觀樣式,加工中,加工後,都可以不同。總之,彈性甚大,也因為如此AnyLogic很強大,也正因為如此,想學好AnyLogic真的不容易。
1. 設定ATM
ATM是一個服務點,此方案的Entity是提款人,他不會跑進ATM裡面,所以,用「點節點」來代表就可以了。
可從Process Modeling或者是專用的Space markup頁籤中取得Point Node,將其拖曳到編輯區中。
接下來的動作是要把邏輯流程的元件與Space markup的元件進行連結。回到ATM這個物件,他是Delay這個類別的案例。設定Agent Location指向剛剛拖曳的Point Node(預設名稱為point)。右方兩個按鈕,左邊那個是協助你在Space Markup網路中,點選對應的元件。右邊那個是當你設定完成後,點選之後,系統會告訴你他是在Spacke Markup中的哪個元件。前者是新增,後者是查詢。
2. 設定等候線
ATM的排隊模式是先到先贏,每個人都得乖乖排在線上,所以,會使用Path來設定這條等候線。Path可提供很複雜的操控模型,讓你可以呈現真實世界的動線。一樣用拖拉入編輯區,然後移動至適當位置(預設名稱是path)。
接著就是進行連結。選擇queue,再設定Agent location的屬性。記得是選擇path。
3. 建立3D視窗
- 選擇presentation頁籤。
- 選擇3D Windows元件。
- 拖曳至編輯區。
4. 設定ATM 3D
- 選擇3D Object頁籤。
- 選擇Supermarket內容。
- 選擇ATM。3D圖當然可以從外部匯入。只是需要花點時間講解,會放在3D系列中說明。
- 拖曳至編輯區。剛剛設計Spacek Markup時,用來代表ATM的那個Point Node上。
- 勾選讓系統去調整物件大小,符合目前比例尺。
- 也可自訂比例。
- 設定3D物件的方向。注意,Queue從哪裡來,也就是說提款人從哪裡來ATM的正面,當然要朝向這一方。
5. 設定提款人3D
因為我們想要設定提款人的特殊樣貌,起碼看起來是個人,而不是預設Entity只是一個點。這時候有點麻煩,因為要動到自訂Agent Type。不過,這個案例只是一個提款人,並不會搞太複雜。啟動自訂Agent Type的路徑有兩種。這兩中都會叫起精靈協助設定。
方法一
使用Process Modeling所提供的元件Agent Type,將其拖曳到編輯區即可。
方法二
點選source物件,在New agent選項中,由於我們還沒有設定好提款人這個Agent Type,所以無法下拉選取。只好點選下方的create a custom type的功能。
無論何者,都會開啟精靈。
首先給這個Angent Type取個名稱。由於他是類別,習慣上首字要大寫。因為,還沒教到資料庫,先選擇第一個選項。然後,下一步。
從3D圖庫中,找一個適當的物件代表之。因為,我們沒有要為這個Agent Type設定特殊的參數。所以,可以直接點選Finish。
完成後,至Source的New Agent是否已經改成我們新增的Customer這個Agent Type。
稍微注意一下,此時我們的專案已經增加了一個Customer的Agent Type。他也有自己的編輯區,其實等同Main。主要差別是,這個Customer在座標原點上,有一個3D物件。當別的地方使用此Agent type在Presentation上時,他會用這個3D物件來代表(用在邏輯流程上時,又是另一件事情)。
6. 執行顯示3D
一切就緒妥當,就是執行看成果了。
留言
張貼留言