二维向量的叉乘

LinAtCsdn 2011-06-02 09:37:03
二维向量的叉乘怎么定义?

几何意义是什么?
...全文
3726 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Daviken 2011-11-05
  • 打赏
  • 举报
回复
如果我没记错的话,二维向量的叉乘(y1*x2 - x1*y2)的值,取绝对值,是指以这两个向量为邻边的平行四边形的面积…………
Daviken 2011-11-05
  • 打赏
  • 举报
回复
如果我没记错的话,二维向量的叉乘(y1*x2 - x1*y2)的值,取绝对值,是指以这两个向量为邻边的平行四边形的面积…………
hackbuteer1 2011-07-02
  • 打赏
  • 举报
回复
有二维的公式吗??
有两个向量a(x,y) 和 b(m,n),叉乘等于什么????
pathuang68 2011-06-02
  • 打赏
  • 举报
回复
[Quote=引用楼主 linatcsdn 的回复:]
二维向量的叉乘怎么定义?

几何意义是什么?
[/Quote]

楼主的意思应该是两个向量的叉乘吧?


点乘“·”计算得到的结果是一个标量;
A·B=|A||B|cosw(A、B上有向量标,不便打出。w为两向量角度)。

叉乘“×”得到的结果是一个垂直于原向量构成平面的向量。
A×B=|A||B|sinw
QQIANQQ 2011-06-02
  • 打赏
  • 举报
回复

向量的叉积:

假设存在向量u(ux, uy, uz), v(vx, vy, vz), 求同时垂直于向量u, v的向量w(wx, wy, wz).

因为w与u垂直,同时w与v垂直,所以w . u = 0, w . v = 0; 即

uxwx + uywy + uzwz = 0;
vxwx + vywy + vzwz = 0;

分别削去方程组的wy和wx变量的系数,得到如下两个等价方程式:

(uxvy - uyvx)wx = (uyvz - uzvy)wz
(uxvy - uyvx)wy = (uzvx - uxvz)wz

于是向量w的一般解形式为:

w = (wx, wy, wz) = ((uyvz - uzvy)wz / (uxvy - uyvx), (uzvx - uxvz)wz / (uxvy - uyvx), wz)
= (wz / (uxvy - uyvx) * (uyvz - uzvy, uzvx - uxvz, uxvy - uyvx))

因为:

ux(uyvz - uzvy) + uy(uzvx - uxvz) + uz(uxvy - uyvx)
= uxuyvz - uxuzvy + uyuzvx - uyuxvz + uzuxvy - uzuyvx
= (uxuyvz - uyuxvz) + (uyuzvx - uzuyvx) + (uzuxvy - uxuzvy)
= 0 + 0 + 0 = 0

vx(uyvz - uzvy) + vy(uzvx - uxvz) + vz(uxvy - uyvx)
= vxuyvz - vxuzvy + vyuzvx - vyuxvz + vzuxvy - vzuyvx
= (vxuyvz - vzuyvx) + (vyuzvx - vxuzvy) + (vzuxvy - vyuxvz)
= 0 + 0 + 0 = 0

由此可知,向量(uyvz - uzvy, uzvx - uxvz, uxvy - uyvx)是同时垂直于向量u和v的。

为此,定义向量u = (ux, uy, uz)和向量 v = (vx, vy, vz)的叉积运算为:u x v = (uyvz - uzvy, uzvx - uxvz, uxvy - uyvx)

上面计算的结果可简单概括为:向量u x v垂直于向量u和v。


根据叉积的定义,沿x坐标轴的向量i = (1, 0, 0)和沿y坐标轴的向量j = (0, 1, 0)的叉积为:

i x j = (1, 0, 0) x (0, 1, 0) = (0 * 0 - 0 * 1, 0 * 0 - 1 * 0, 1 * 1 - 0 * 0) = (0, 0, 1) = k

同理可计算j x k:

j x k = (0, 1, 0) x (0, 0, 1) = (1 * 1 - 0 * 0, 0 * 0 - 0 * 1, 0 * 0 - 0 * 0) = (1, 0, 0) = i

以及k x i:

k x i = (0, 0, 1) x (1, 0, 0) = (0 * 0 - 1 * 0, 1 * 1 - 0 * 0, 0 * 0 - 0 * 0) = (0, 1, 0) = j

由叉积的定义,可知:

v x u = (vyuz - vzuy, vzux - vxuz, vxuy - vyux) = - (u x v)

Meteor_Code 2011-06-02
  • 打赏
  • 举报
回复
二维向量的叉乘???????
我怎么记得只有3维向量可以叉乘啊
其他向量只能点乘或者矩阵乘
leebeen34 2011-06-02
  • 打赏
  • 举报
回复

const M=3;
const N=2;
int main(int argc, char* argv[])
{
int a[M][N]={{1,2},{3,4},{5,6}};
int b[N][M]={{1,2,3},{4,5,6}};
int i;
int j;
int t;
int k;
int sum=0;
int c[M][M];
for(i=0;i<M;i++)
{
for(j=0;j<M;j++)
{
for(k=0;k<N;k++)
{
t=a[i][k]*b[k][j];
sum=sum+t;
c[i][j]=sum;
if((k+1)%N==0)
{
sum=0;
}
cout<<"a["<<i<<"]["<<k<<"]+"<<"b["<<k<<"]["<<j<<"]"<<endl;
}
}
}
for(i=0;i<M;i++)
{
for(j=0;j<M;j++)
{
cout<<c[i][j]<<"\t";
}
cout<<endl;
}
return 0;
}
ryfdizuo 2011-06-02
  • 打赏
  • 举报
回复
叉乘肯定是三维的概念,向量a,b
a.cross(b) 结果向量垂直于a,b确定的平面,而且遵从右手法则。
窦尔顽 2011-06-02
  • 打赏
  • 举报
回复
求教ing

64,670

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧