Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2008-03-17
年龄: 39
帖子: 13
声望力: 18 ![]() |
![]()
我有三个三维点的坐标,分别为p1=[1 2 3] p2=[4 5 6] p3=[7 8 9], 现在想求矢量线段P3P2和P3P1的向量积,也就是P3P1,P3P2所在平面的法线,并画在三维图上,请问下怎么做?
|
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2008-03-17
年龄: 39
帖子: 13
声望力: 18 ![]() |
![]()
自己解答下吧。。。
p3p1=p1-p3 p3p2=p2-p3 c=cross(p3p1,p3p2) c就是所要求的法线 |
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2009-02-11
年龄: 38
帖子: 9
声望力: 0 ![]() |
![]()
怎么绘制三维图的
麻烦告知一下 |
![]() |
![]() |
![]() |
#4 |
初级会员
注册日期: 2008-03-17
年龄: 39
帖子: 13
声望力: 18 ![]() |
![]()
plot3(x,y,z)
x,y,z是c和p3的三维坐标 |
![]() |
![]() |
![]() |
#5 |
普通会员
注册日期: 2008-08-17
年龄: 43
帖子: 77
声望力: 18 ![]() |
![]()
法向量是0,咋显示呢?
|
![]() |
![]() |
![]() |
#6 |
初级会员
注册日期: 2008-03-17
年龄: 39
帖子: 13
声望力: 18 ![]() |
![]() |
![]() |
![]() |
![]() |
#7 |
普通会员
注册日期: 2008-08-17
年龄: 43
帖子: 77
声望力: 18 ![]() |
![]()
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));%垂线 %画完后旋转即可看到空间图像的轮廓 |
![]() |
![]() |
![]() |
#8 |
普通会员
注册日期: 2009-02-22
帖子: 91
声望力: 18 ![]() |
![]()
根据楼上的程序,自己编了一个:
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]); 希望有帮助!!! |
![]() |
![]() |