当飞机沿着偏航或俯仰或滚动旋转时,飞机上的opengl相机显示震动世界

问题描述 投票:-2回答:1

我已经在opengl中实现了飞机运动,但是当我将摄像头放在飞机头上并且看着yawaxis时,它给了震撼的世界

eye = glm::vec3(
    ball1.position.x + 25.0f * ball1.roll_axis.x+ball1.yaw_axis.x,
    ball1.position.y + 25.0f * ball1.roll_axis.y+ball1.yaw_axis.y,
    ball1.position.z + 25.0f * ball1.roll_axis.z+ball1.yaw_axis.z); 
target = glm::vec3(
    ball1.position.x + 60.0f * ball1.roll_axis.x+ball1.yaw_axis.x,
    ball1.position.y + 60.0f * ball1.roll_axis.y+ball1.yaw_axis.y,
    ball1.position.z + 60.0f * ball1.roll_axis.z+ball1.yaw_axis.z);
up = ball1.yaw_axis;

飞机运动是正确的

c++ opengl glm-math
1个回答
0
投票

这可能是由万向节锁造成的。查看accumulative matrix transformations,或者,如果您正在使用GLM eulerAngleYXZ

© www.soinside.com 2019 - 2024. All rights reserved.