作者wxtab019 (天霜凝月)
看板MATLAB
標題[繪圖] 判斷圖形重疊
時間Mon Jun 2 02:56:58 2014
想問一下要怎麼能夠判斷圖形有沒有重疊
舉個簡單的例子
像是知道兩個四邊形的4個頂點座標 就可以直接用plot畫出圖
那要怎麼判斷兩個圖形有沒有重疊
知道是可以用分離軸定理
不過matlab的話應該就變成4個方向都要判斷
不知道有沒有其他方法可以用來判斷圖形有無重疊
如果用線段方程式好像也比較麻煩...
圓形的話可以直接看中心距離和半徑 不過像四邊形這種到周圍距離不同
好像就不能這樣做
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.123.222.30
※ 文章網址: http://www.ptt.cc/bbs/MATLAB/M.1401649021.A.619.html
順便多問一個問題
不知道matlab有沒有辦法像C那樣建立類別
例如說我可以做一個函數像是
circle(r)
只要輸入r
可以計算出像是
area=pi*r*r;
周長=2*pi*r;
這些可以用函數去寫在裡面
不過我如果像有好幾個資料 像圓A B C
好像就不能像這樣分類
用出像是
areaA=xxx
areaB=xxx這樣
不知道有沒有辦法可以像這樣更方便的去設函數
還是只能每一筆資料就全部重打一次 然後自己設名稱
※ 編輯: wxtab019 (140.123.222.30), 06/02/2014 17:55:12
→ wxtab019:我是想過用類似陣列的方式 像是[1,xxx] [2,xxx]這樣 06/02 18:26
→ wxtab019:不過因為我後面的資料也會用到矩陣的運算 所以感覺沒辦法 06/02 18:26
→ jatj:用patch, alpha < 1, 之後一點一點計算每個pix的顏色即可 06/03 09:18
意思是說 例如設置一個長方形是有顏色 然後另一個沒顏色
如果沒顏色的那個範圍內偵測到有顏色 就表示有重疊
不知道是不是這個意思...
上色的我知道可以用patch 不過alpha好像是設置透明度
好像不能用來偵測?
不知道可以用哪個函數
※ 編輯: wxtab019 (140.123.222.30), 06/03/2014 12:20:57
→ wxtab019:有看到一個 G(i,j)==255 不過撞到紅色之後就卡了... 06/03 12:38
→ wxtab019:想說讓他撞到紅色就也變成紅色 不過撞到就卡住 06/03 12:39
→ wxtab019:看起來patch的上色不是double格式?是不是還要轉? 06/03 12:41
→ wxtab019:查了一下找到rectint 不過好像也只能用在平行的矩形? 06/03 16:21
→ wxtab019:看他輸入的值 如果角度有旋轉好像就不能 06/03 16:21