作者ashioulou (Gene)
看板MATLAB
標題[運算] 幾何累積的問題
時間Mon Nov 12 17:12:58 2012
假設小弟目前用matlab寫出一個code
是模擬一個box 三個維度 X Y Z (box的尺寸已知)
然後一次一個將模擬成圓盤的物件 (圓盤的尺寸都為已知)
隨機random圓盤中心點的座標及方向角,加入盒子中 (座標方向角已知)
假設圓盤可以互相穿透重疊,並且認為兩圓盤碰觸/重疊為形成通路
*兩圓盤至少要碰觸才算是形成通路
在這樣假設條件下,持續一直丟圓盤進box裡面
直到第一條通路形成穿透兩側 (無論X Y Z方向都可),此次模擬結束。
*很多個圓盤互相碰觸並且連成一條通路,連接盒子的兩側
問題點是卡在,我必須要怎麼判斷第一條通路形成是哪時候?
原本想說是不是可以在每次加disk進box裡面之後
將互相穿透/碰觸的disk合併成為一個物件,然後再下去看是否有穿透box了
不過還是沒有個明確檢測的辦法...
有請各位板上的神手們給小弟一點指點了!!
m(_ _)m 非常感激不盡!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.156.84
1F:推 diva:我猜可以用找路徑的方式解決 如果a->b有路徑的話 就通路了 11/13 01:58
2F:→ diva:或許你可用shortest path當關鍵字google看看 11/13 01:59
3F:→ ashioulou:感謝 我試試看!!!! 11/13 13:14
4F:推 rannin:主要兩個問題是合併和穿透計算,合使用併聯立求解可行吧? 11/15 10:29
5F:→ rannin:穿透只要x,y,z任一為0或上下邊界值即為穿透(或碰觸)了,代 11/15 10:33
6F:→ rannin:入計算可知道,只是這樣是逐一判斷,不知道有更快方法? 11/15 10:34