2009-08-15 106 views
1

當其他3個已知的時候,Matlab有找到平行四邊形的4h頂點的方法嗎?matlab:找到一個平行四邊形的第4個頂點

我想畫一個旋轉的reactangle與鼠標,但Matlab的不允許,所以我決定自動把3分和4找到一個和impoly功能繪製

h1=impoint(); 
h2=impoint(); 
h3=impoint(); 

p1 = getPosition(h); 
p2 = getPosition(h2); 
p3 = getPosition(h3); 
%p4=help needed here 
impoly(gca,[p1 ; p2 ; p3 ;p4y]) 

感謝

回答

3

您面臨的一個問題是存在歧義。簡單的矢量加法會找到你第四點,但它可能不是你想要的第四點。

你有:

*----* 
    \ \ 
     \ \ 
     *----+ 

*----* 
//
//
+----* 

 + 
     || 
    /\ 
    * * 
    \/
     || 
     * 

那說。假設你有平行四邊形ABCD,並且你知道你有ABC,那麼你可以通過注意到\vec{BD} = \vec{BA} + \vec{BC}找到D.

+0

thanx。 如何通過知道A,B,C座標來獲得vec {BA}。通過減去Ax,Bx和Ay,By? – tguclu 2009-08-16 00:08:27

+0

「只是通過減去Ax,Bx和Ay,通過」Yes。對不起,我不知道matlab的語法,順便說一句。 – dmckee 2009-08-16 01:12:40