0
위와 벡터의 뱅크 (롤) 각도를 계산하는 공식을 알아낼 수는 없지만이 각도는 lookat 벡터에 수직 인 평면에서 측정해야한다고 생각합니다. 어떤 힌트도 감사합니다. 참고 저는 WPF를 사용합니다.위쪽 벡터에서 뱅크 각을보고 벡터를 본다?
동일한 문제가 있지만 수학을 사용하여 표현한 another question here을 게시했습니다.
위와 벡터의 뱅크 (롤) 각도를 계산하는 공식을 알아낼 수는 없지만이 각도는 lookat 벡터에 수직 인 평면에서 측정해야한다고 생각합니다. 어떤 힌트도 감사합니다. 참고 저는 WPF를 사용합니다.위쪽 벡터에서 뱅크 각을보고 벡터를 본다?
동일한 문제가 있지만 수학을 사용하여 표현한 another question here을 게시했습니다.
이것은 은행을 결정하는 마지막 코드입니다. 각도의 부호를 결정해야한다는 것을 유의하십시오.
// project Y on plan perpendicular to look
Vector3D Yproj = new Vector3D(
-(lookDirection.Y * lookDirection.X),
1 - (lookDirection.Y * lookDirection.Y),
-(lookDirection.Y * lookDirection.Z));
Yproj.Normalize();
// get absolute angle between Y projected and Up
double absAngle = Vector3D.AngleBetween(upDirection, Yproj);
// magic formula
Vector3D cross = Vector3D.CrossProduct(upDirection, Yproj);
double dot = Vector3D.DotProduct(lookDirection, cross);
// set actual signed angle
BDeg = (dot >= 0) ? absAngle : -absAngle;