2011-09-13 57 views
0

我有以下問題: 我需要將Kinect, 的骨骼關節位置轉換爲關節旋轉角度。旋轉的關節位置

+0

我希望你按照[文檔](http://research.microsoft.com/en-us/um/redmond/projects/kinectsdk/guides.aspx)。至少[演練](http://research.microsoft.com/en-us/um/redmond/projects/kinectsdk/docs/SkeletalViewer_Walkthrough.pdf) – Dinushan

+1

@ D-Shan:鏈接到的文檔/演練中沒有任何內容關於OP想達到什麼,至少我找不到它。你指的是哪一頁? –

+0

這是關於@PéterTörök的「你到目前爲止嘗試過什麼?」。那裏的問題沒有任何解決方案 – Dinushan

回答

1

如果你的意思是「旋轉角度」考慮3對接頭,
你可以得到相對旋轉角度,但絕對角度如下。
說出接頭A,B和C


  • 可以定義一個三角形(黃金三角ABC)。
  • 然後,您可以將任何值(如R)指定爲三個角度之一(例如:角度ABC = R)。
  • 由於您擁有關節位置,因此您可以使用distance formula來計算三角形每個「邊」的長度。
  • 使用Cosine(Cos) Rule來計算相對角度。
    (這將是例如BAC = 0.2R,CAB = 3R等)

除了可以得到一個特定的角度,其中兩個接頭之間的距離是恆定的變化(例如:考慮肩 - 手肘和手肘 - 手腕)。 最初角度ABC是R和接着1.02R,接着1.3R ..等

1
  1. 考慮每個關節作爲載體。
  2. 兩個向量之間的軸角(當前幀中的一個,來自kinect數據,一個在初始姿態中,由於新SDK沒有初始姿態,因此可能需要將虛擬姿態設置爲初始姿態)。
  3. 從軸角度

More information on this page旋轉四元數/矩陣。