2013-01-01 78 views
4

我想要一個類似於autocad的簡單函數,它允許我用鼠標選擇來選擇3D中的所有行。感興趣的區域和數據頂點(3D),matlab

enter image description here

圖我只想下選擇的所有vetices來獲得(X,Y,Z)。選擇功能應該像autocad一樣。

一行

2-區域選擇 隨着如圖所示的光標信息我只得到一個單一的點(x,Y,Z)1-鼠標點擊。如果我可以獲得由鼠標製作的矩形內的所有點(感興趣區域可以是多邊形),那將會很好。

我覺得功能可能類似於

[BW, xi, yi] = roipoly(...) 

在3D

[ xi, yi,zi] = roipoly_new(...) 
+0

「所有線條」是指所有線條方程(或線條檢測)或只是所有線條所在的矩陣(給定鼠標點擊的邊界)? – bla

+0

@ natan只是所有行的x,y,z。例如,對於矩形我會得到8分。 – Shahgee

+0

由於它是二維圖像,因此您的意思是每條線的邊緣(x0,y0)和(x1,y1)是正確的? – bla

回答

0

於一般的解決這個問題,你需要像下面這樣:

[XI,苡仁, zi] = roipoly_new(...)

確定觀點,POV。

從POV向外投影ROI,並測試與已知頂點的所有對象的交點。這是一種光線追蹤算法,但對於線性問題是分析性的,所以它不應太難實現。在matlab中央的第一個結果給出了這個: http://www.mathworks.com/matlabcentral/fileexchange/authors/30179

一旦你知道哪些物體相交你的光線,世界的你的牡蠣。