좋아, 당신은 번역 또는 회전을하는 매트릭스를 가질 수 있다는 것을 알고 있습니다. (또는 스케일링이나 비뚤어 짐 등) 매트릭스를 곱하여 포인트 (V)를 곱하면 새로운 (번역 된/회전 된/등) 포인트를 얻을 수 있습니다. 예컨대 :
Mtranlate = [ 1 0 0 Tx ] * V = [ Vx ] = [ Vx + Tx ]
[ 0 1 0 Ty ] [ Vy ] [ Vy + Ty ]
[ 0 0 1 Tz ] [ Vz ] [ Vz + Tz ]
[ 0 0 0 1 ] [ 1 ] [ 1 ]
또는 X에 대한 회전/Y/Z 축 :
당신이 함께 행렬을 곱하여 여러 작업을 결합 할 수 있습니다 Mrotate_x = [ 1 0 0 0 ] * V = [ Vx ] = [ Vx ]
[ 0 cos -sin 0 ] [ Vy ] [ Vy*cos - Vz*sin ]
[ 0 sin cos 0 ] [ Vz ] [ Vy*sin + Vz*cos ]
[ 0 0 0 1 ] [ 1 ] [ 1 ]
.
예 : Mnew = Mtranslate * Mrotate_x.
(그리고 네, 순서는 상관이야!)
그래서 실제 기본 원점, 그리고 만약 당신이, 당신의 (알려져/공급) 오크의 XY 위치로 변환 그 시점에서 지형에서 추론 할 수있는 주어진 것을 당신의 오크의 피트의 z 위치는 그 것으로 번역됩니다. 이제 글로벌 좌표계에 오크의 "다리"가 있습니다. 거기에서 오크를 회전시켜 특정 방향을 향하게 할 수 있습니다.
다음으로 (orc의 모델을 기준으로) 위쪽으로 번역하여 목을 찾습니다. 목에서부터 머리를 찾거나 어깨를 찾기 위해 위로 돌릴 수 있습니다 (아마도 돌릴 수도 있습니다). 어깨에서 팔꿈치를 찾기 위해 회전하고 번역 할 수 있습니다. 팔꿈치에서 회전하고 번역하여 손을 찾을 수 있습니다.
orc 모델의 각 구성 요소에는 로컬 참조 프레임이 있습니다. 각각은 하나 이상의 변환 (행렬)에 의해 첨부 된 참조 프레임과 관련됩니다. 모든 지역 행렬 (변환)을 통해 곱함으로써, 결국 오크의 발에서 그의 손으로 갈 수있는 방법을 알 수 있습니다.
(마음이, 내가 그렇지 않으면 너무 많은 일입니다. 오크 애니메이션과 그의 발 X, Y, Z 위치를 사용하십시오.)
당신은 할 수있는 로봇에 이런 종류의 물건을 많이 볼 forward kinematics에 대한 좋은 기초적인 소개를 제공합니다. 로보틱스에서는 적어도 단순한 로봇의 경우 회전하는 모터가 있고 다리 길이는 번역 할 수 있습니다. 그리고 또 다른 모터가 있습니다. (반면에, 인간의 어깨 관절이 한 번에 약 세 가지 축으로 회전 할 수 있습니다.)
당신 수도 자신의 Forward Kinematics Intro 같은 look over the course HANDOUTS for CMU's Robotic Manipulation class (15-384).
아마도 뭔가.