matlab已知两向量,如何求其确定的平面

第一个向量为[.908.419-.012]第二个[-.969.227.101]如何用matlab画出这两个向量确定的平面... 第一个向量为[ .908 .419 -.012]

第二个[-.969 .227 .101]
如何用matlab画出这两个向量确定的平面
展开
eflen
2014-07-22 · TA获得超过560个赞
知道小有建树答主
回答量:340
采纳率:100%
帮助的人:339万
展开全部

v1=[ .908      .419      -.012];

v2=[-.969      .227      .101];

%标准化v1、v2

v1=v1/norm(v1);

v2=v2/norm(v2);

%求v1、v2平面的法向量vn

vn=cross(v1,v2);

vn=vn/norm(vn);

%z轴单位向量vz

vz=[0 0 1];

%构建以v1为x轴,vn为z轴的新坐标系,M为xyz坐标系至新坐标系的映射矩阵

v1y=cross(vn,v1);

v1x=v1;

v1z=vn;

M=[v1x' v1y' v1z'];

%构建原坐标系内的z平面,

x=[-2:2];

y=[-2:2];

[gx gy]=meshgrid(x,y);

gz=zeros(size(gx));

%逐点与M相乘获取映射后的坐标点,NexXYZ(坐标点为列向量形式)

lx=reshape(gx,1,[]);

ly=reshape(gy,1,[]);

lz=reshape(gz,1,[]);

NewXYZ=M*[lx;ly;lz];

%还原各点为绘图形式

NewX=reshape(NewXYZ(1,:),size(gx));

NewY=reshape(NewXYZ(2,:),size(gx));

NewZ=reshape(NewXYZ(3,:),size(gx));

%绘制平面

hf=surf(NewX,NewY,NewZ);

set(hf,'facecolor','red','edgecolor','none');

%绘制原始向量

hold on

plot3([v2(1) 0 v1(1)],[v2(2) 0 v1(2)],[v2(3) 0 v1(3)],'o-','LineWidth',2)

axis equal

hold off


富港检测技术(东莞)有限公司_
2024-04-02 广告
正弦振动多用于找出产品设计或包装设计的脆弱点。看在哪一个具体频率点响应最大(共振点);正弦振动在任一瞬间只包含一种频率的振动,而随机振动在任一瞬间包含频谱范围内的各种频率的振动。由于随机振动包含频谱内所有的频率,所以样品上的共振点会同时激发... 点击进入详情页
本回答由富港检测技术(东莞)有限公司_提供
涂颜帅
2014-07-22 · TA获得超过137个赞
知道答主
回答量:48
采纳率:100%
帮助的人:44.9万
展开全部
取叉积就是所要平面的法向量。 单纯两个向量无法确定一个平面,必须还要一个在平面上的点。 cross 函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式