오브젝트 쿼터니온 q와 3D 공간을 형성하는 베이시스 벡터 vx, vy, vz가 주어지면 쿼터니온이 모든 베이시스 벡터에 평행인지 수직인지를 어떻게 확인할 수 있습니까? 예를 들어 , 내가 기저 벡터가 : q(w,x,y,z) = (-0.973224, 0, -0.229860, 0)
vx = (0.447410, 0, -0.894329)
vy = (0, 1
개체 축 및 각 신체 축에 대한 회전 속도 및 속도 개체가 있습니다. 나는이 상태에서 다른 속도의 두 번째 상태로 자연스럽게 전환 할 필요가있다. 또한 각 축에 대해 얼마나 빨리 회전/가속 할 수 있는지에 대한 제약이 있습니다. 나는 Quaternion slerp 's를 탐색 해 보았고 상태를 부드럽게 보간하는 데 사용할 수는 있지만 속도 일치를 쉽게 얻을
회전을 나타내는 두 쿼터니언 사이에 slerp를 사용하여 보간합니다. 결과적인 회전은 오일러 각도로 추출되어 그래픽 라이브러리에 입력됩니다. 이런 종류의 작동하지만 다음과 같은 문제가 있습니다. (하나는 잘 작동) 두 중심으로 회전 할 때 회전 곧 대향 시각 방향으로 대향하는 위치에서 회전하도록 약 점프 here 왼쪽 프레임에 나타낸 바와 같이, 녹색 화살
회전을 계산할 때 WiiM + 자이로를 사용하고 있습니다. I은 요, 피치 및 롤 축을 따라 턴의 속도를 통합하고 각각의 읽기 angleSum라는 벡터에 보관 angleSum (판독)의 초기에서, Y, p 및 R 회전을 나타낸다 정위. - Q = Quaternion.createfromyawPitchRoll (1) angleSum.yaw, angleSum
이것은 3d n00b 질문입니다. Silverlight의 PerspectiveTransform 기능의 기본을 구현하는 WPF 컨트롤에서 작업 중이므로 2D 평면이 세 축 중 하나에서 회전 할 수 있습니다. 그것은 꽤 잘 작동합니다. 그러나 저는 비행기의 뒷면이 보이는지 여부를 결정하는 데 필요한 수학에 조금 갇혀 있습니다. 지금을 파악 대한 나의 순진 코드
우리 소프트웨어에는 마우스 움직임을 기반으로 한 카메라와 그 중심에있는 쿼터니언이 있습니다. 우리는 할 수있는 위치에서 발사체를 발사하기를 원하지만, 카메라를 사용하여 조준하고 싶습니다. 발사체는 각 게임 프레임의 위치에 벡터를 추가합니다. 주어진 카메라/쿼터니언에서 어떻게 그러한 벡터를 얻을 수 있습니까?
임 x 및 y 축에 대한 큐브의 간단한 회전을하려고 : 항상 양의 X 하여 x 축 위에 큐브를 회전 내가 원하는 을하고 위에 큐브를 회전 X 축 회전 제 의 양 y는 독립적 y 축 I 소박했다 : 다음 glRotatef(x,1,0,0);
glRotatef(y,0,1,0);
하지만 첫번째 회전에 OV 그러면 x가 y 위로 회전합니다. x 접근과 독립적으
카메라 쿼터니온이있을 때 어떻게 카메라 피치를 효과적으로 제한 할 수 있습니까? 나는 오일러 각으로 변환 한 다음 쿼터니온으로 돌아 가야합니까? 아니면 다른 방법이 있습니까? A는 위치이며, 세타가 카메라를 회전 (피치를 조정) 할 각도 vector A = [x, y, z]
Q.x = A.x * sin(theta/2)
Q.y = A.y * sin(the
임의의 방향으로 배향 될 수 있지만 모두 서로 수직 인 좌표 축을 형성하는 3 개의 벡터 (vx, vy, vz) 및 3 개의 공간을 형성하는 3 차 벡터 (vx, vy, vz)가 주어집니다. 쿼터니온 q가 3D 벡터 (vx, vy, vz) 중 일부와 같은 방향 (또는 반대 방향)으로 회전되었는지 어떻게 확인할 수 있습니까?
취미 게임 엔진에서 회전을 위해 축 각도 벡터를 사용하여 실험하고 있습니다. 이것은 라디안 단위의 회전 길이를 갖는 회전축을 따르는 3 성분 벡터입니다. quats 또는 회전 행렬과는 달리, 실제로 숫자를 볼 수 있고 그들은 사원 수 또는 행렬보다 약간 적은 메모리있어 내 마음 에 회전을 시각화 : 때문에 나는 그들처럼. 나는 파이에 -Pi의 범위를 벗어나