MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   Matlab中的跨乘积函数 (https://www.labfans.com/bbs/showthread.php?t=23029)

poster 2019-12-10 20:30

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

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



[B]回答:[/B]

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

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

[B]C[/B] =(ay [I]bz-[/I] az) [B]i-[/B] (ax [I]bz-bx[/I] az) [B]j[/B] +(ax [I]by-bx[/I] ay) [B]k[/B]

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

另一种写法是:

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

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

其他详细信息:

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



[url=https://stackoverflow.com/questions/1995620]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 04:58

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.