2009-12-16 76 views
0

我正在開發一個交互式眼球跟蹤器。我想根據鼠標移動旋轉2個球體。這些領域代表着眼球。做這件事的最好方法是什麼?我需要找到指向鼠標當前位置方向的矢量,但我不知道如何找到用於旋轉球的旋轉矩陣。 我正在使用silverlight + kit3d,但這是不相關的..它可能是opengl,directx或任何東西.. 謝謝,眼球旋轉

回答

1

有一個paper由Möller和Hughes從「圖形工具雜誌」(Journal of Graphics Tools)稱爲「有效構建矩陣以將一個矢量旋轉到另一個矢量」,這正是您想要的。還有example code可用。

考慮到您的具體問題,您可以簡單地從本文提出的確切步驟中簡化一些事情。

+0

這正是我所需要的。很好的答案。 – jose 2009-12-21 09:54:27

0

你真的想要實現它或只是使用它。我有一個類似的igoogle小工具。如果你願意,你可以搜索igoogle。

+0

嘿謝謝,但我更喜歡自己做。無論如何:) – jose 2009-12-16 10:19:35

1

好吧,我想這應該工作

picture at imagebin.ca/img/Bz7zhY.png http://imagebin.ca/img/Bz7zhY.png

30是從屏幕的中心(或眼睛在屏幕上中央的鼠標光標的距離,如果你想讓他們獨立運動)。

25是眼睛的從屏幕(Z軸)的距離

這是僅對於一個軸(X或Y),則需要待辦事項這爲每個軸

+0

但是鼠標和模型有不同的座標系統。 – jose 2009-12-16 17:34:50

+0

不一定,您可以將2D屏幕平面想象爲3D世界中的平面,並將尺寸/位置與眼球相關。這樣可以節省您另一層數學/變換將屏幕空間轉換爲世界空間。 – 2009-12-16 20:16:16

+0

@ tm1rbrt - 我認爲圖像的問題是替代文本中的「http:」 – ChrisF 2009-12-19 12:12:50