2009-08-15 70 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