정확하게 이해하면 월드 공간으로 변환하려는 카메라 공간에 3D 포인트 좌표가 있습니다.
이렇게하려면 이러한 좌표에 카메라 변환 행렬을 곱해야합니다. 이 행렬은 개별 변환 (변환, 회전 및 축척)으로 구성됩니다.
변환을 적용하는 순서에주의하십시오. translate * scale! = scale * translate.
아마 당신은 설치 할 수있는이처럼 매트릭스 : 나는 또한 사진을 가지고 있지만 그것은 나를 너무 게시 나에게 당신이 원하는 경우 알려하지 않도록 내가 여기에 초보자이야
Matrix cameraMatrix = Matrix.CreateScale(cam_sx, cam_sy, cam_sz);
cameraMatrix *= Matrix.CreateRotationX(MathHelper.ToRadians(cam_rx));
cameraMatrix *= Matrix.CreateRotationY(MathHelper.ToRadians(cam_ry));
cameraMatrix *= Matrix.CreateRotationZ(MathHelper.ToRadians(cam_rz));
cameraMatrix *= Matrix.CreateTranslation(cam_x, cam_y, cam_z);
// Now we create a point in the camera local space
Vector3 localPoint = new Vector3(0, 0, 0);
Vector3 worldPoint = Vector3.Transform(localPoint , cameraMatrix);
// Now world contains the coordinates in the world space
// For example, if your camera is located at position (5,5,5)
// and localPoint=(0,0,0) then worldPoint=(5,5,5) which seems correct.
무슨 뜻인지 알기 위해 이메일로 보내 드리겠습니다. – stuartwoodrandom