2010-01-03 162 views
1

有人可以向我解釋如何在matlab中使用交叉乘積函數嗎?matlab中的交叉乘積函數

一個例子,我有下面的圖像,在立方體上有6個固定點,如何找到立方體的其他兩個點? alt text http://img24.imageshack.us/img24/6479/drawcube01.png

+0

你的意思是你有三維座標的固定點? – 2010-01-03 17:42:58

+0

我沒有看到在這裏使用交叉產品的必要性。增加/減少矢量應該足夠了。 – 2010-01-03 18:29:41

+0

嗨安東尼,你可以使用getpts函數獲得點,那些是2D的,你必須通過增加一個維度(值爲1)使它們變成3D。 – 2010-01-03 18:37:07

回答

2

很高興知道跨產品功能在不使用Matlab的情況下意味着什麼。

如果有兩個矢量 =斧 + AY Ĵ + AZ ķ = BX +通過Ĵ + BZ ķ,叉積定義爲載體C如下:

C =(ay bz - by az) - (斧BZ - BX AZ)Ĵ +(斧由 - BX AY)ķ

可以形象化Ç作爲垂直於當你旋轉A時,右旋螺絲方向爲B

另一種方式把它寫爲:

Ç = AB SIN(θ)Ñ,其中a爲幅度,b爲的量值,而n是單位法向量。

就你而言,A和B的大小是魔方的邊長。你想要的點是矢量的末尾C

額外的細節:

在你的情況下,矢量從底部點右邊的角落一個運行;矢量B從該公共底點開始到左邊的角落。將A分成B以獲得垂直於底部平面向上朝向未知角點的矢量。使它成爲一個單位矢量。將單位矢量乘以立方體邊長。將公共底點添加到此向量的分量中,並且具有未知角的絕對座標。重複其他三點,你就完成了。

+0

嗨duffymo,你能給我解釋一些代碼,我已經在wiki上看夠了:-s解決這個問題是一個問題,我沒有想象如何得到結果,謝謝。 – 2010-01-03 18:38:51

+3

修改您的問題,並提供詳細信息,說明您將如何執行此操作,並會查看是否可以提供幫助。我不是功課婊子。 – duffymo 2010-01-03 19:20:33

+0

哎呀,感謝您的建議,我把另一個標籤,我的問題:D – 2010-01-03 22:48:49