登录论坛

查看完整版本 : [MATLAB基础] 怎么求向量积


qqmoon
2009-05-21, 16:51
我有三个三维点的坐标,分别为p1=[1 2 3] p2=[4 5 6] p3=[7 8 9], 现在想求矢量线段P3P2和P3P1的向量积,也就是P3P1,P3P2所在平面的法线,并画在三维图上,请问下怎么做?

qqmoon
2009-05-22, 21:02
自己解答下吧。。。
p3p1=p1-p3
p3p2=p2-p3
c=cross(p3p1,p3p2)
c就是所要求的法线

p123147
2009-05-23, 00:22
怎么绘制三维图的
麻烦告知一下

qqmoon
2009-05-25, 17:19
plot3(x,y,z)

x,y,z是c和p3的三维坐标

zsy312
2009-05-26, 10:52
法向量是0,咋显示呢?

qqmoon
2009-05-27, 17:08
法向量是0,咋显示呢?

不好意思,前面例子中的数是我随便代的,刚好比较特殊法向量是0

zsy312
2009-05-27, 20:42
A=[1,2,3];%A点
B=[2,3,5];%B点
C=[3,5,7];%C点
clf%清除图像窗口
hold on;
t=0:1;
plot3(A(1)+t*(B(1)-A(1)),A(2)+t*(B(2)-A(2)),A(3)+t*(B(3)-A(3)),'r');%AB
plot3(B(1)+t*(C(1)-B(1)),B(2)+t*(C(2)-B(2)),B(3)+t*(C(3)-B(3)),'g');%BC
plot3(A(1)+t*(C(1)-A(1)),A(2)+t*(C(2)-A(2)),A(3)+t*(C(3)-A(3)),'b');%CA
D=cross(A-C,B-C);%AC叉乘BC
plot3(A(1)+t*D(1),A(2)+t*D(2),A(3)+t*D(3));%垂线
%画完后旋转即可看到空间图像的轮廓

TTT_IOU
2009-05-27, 21:38
根据楼上的程序,自己编了一个:
A=[1,2,3];%A点
B=[2,3,5];%B点
C=[3,5,7];%C点
clf%清除图像窗口
hold on;
grid on
plot3([A(1),B(1)],[A(2),B(2)],[A(3),B(3)],'r')
plot3([A(1),C(1)],[A(2),C(2)],[A(3),C(3)],'B')
plot3([B(1),C(1)],[B(2),C(2)],[B(3),C(3)],'g')
plot3([A(1),B(1)],[A(2),B(2)],[A(3),B(3)],'*k')
plot3([B(1),C(1)],[B(2),C(2)],[B(3),C(3)],'*k')
plot3([A(1),C(1)],[A(2),C(2)],[A(3),C(3)],'*k')
D=cross(A-B,A-C);
M=(A+B+C)/3;
E=M+D;
plot3([E(1),M(1)],[E(2),M(2)],[E(3),M(3)],'M');
plot3([E(1),M(1)],[E(2),M(2)],[E(3),M(3)],'squareM');
fill3([A(1),B(1),C(1)],[A(2),B(2),C(2)],[A(3),B(3),C(3)],[0,1,.5]);
希望有帮助!!!