当其他3个已知时,Matlab中有没有办法找到平行四边形的4h顶点?
我想用鼠标绘制一个旋转的反角,但是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])
由于
答案 0 :(得分:3)
您面临的一个问题是存在歧义。添加简单向量会发现 a 第四个点,但它可能不是 你想要的第四个点。
你有:
*----*
\ \
\ \
*----+
或
*----*
/ /
/ /
+----*
或
+
||
/ \
* *
\ /
||
*
那就是说。假设你有平行四边形ABCD,并且你知道你有顶点ABC,那么你可以通过注意到\vec{BD} = \vec{BA} + \vec{BC}
来找到D.