查看单个帖子
旧 2019-12-10, 20:30   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 Matlab中的跨乘积函数

有人可以向我解释如何在Matlab中使用叉积函数吗?

例如,下面的图像在立方体上有6个固定点,如何找到立方体的另外两个点? 替代文字http://img24.imageshack.us/img24/6479/drawcube01.png



回答:

不使用Matlab知道叉积函数的含义是件好事。

如果您有两个向量A = a x i + ay j + az kB = bx i + by j + bz k ,则叉积定义为向量C,如下所示:

C =(ay bz- az) i- (ax bz-bx az) j +(ax by-bx ay) k

A旋转为B时,可以将C可视化为与AB垂直,并沿右螺钉方向。

另一种写法是:

C = ab sin(θ) n ,其中a是A的大小,b是B的大小,n是单位法向矢量。

在您的情况下,A和B的大小是魔方的边的长度。您想要的点是向量C的末端。

其他详细信息:

在您的情况下,向量A从最低点一直延伸到右侧的角落;向量B从该共同的最低点开始,到左侧的角落。 将A跨入B,以得到垂直于底面朝向未知角点延伸的向量。使其成为单位向量。将单位向量乘以立方体侧面的长度。将公共底点添加到此向量的分量中,便可以得到未知角的绝对坐标。重复其他三点,就可以完成。



更多&回答...
poster 当前离线   回复时引用此帖