2021-06-09 OPENGL鼠标控制相机视角旋转

本文介绍了OpenGL中相机的表示方法,包括相机的位置、正、右、上三个方向向量。详细讨论了欧拉角的概念,特别是俯仰角(Pitch)、偏航角(Yaw)和滚转角(Roll),并指出在相机旋转到±90°时,相机的向量方向会发生反转。内容涉及到角度与坐标轴的关系,以及在实际应用中相机在三维空间中的旋转效果。
摘要由CSDN通过智能技术生成

基础概念

相机在opengl中的表示
在这里插入图片描述
1相机位置
234相机的正、右、上(相机坐标在世界坐标系中向量表示)
相机坐标系上方up与世界坐标系上方向量重合
相机R为相机F正向量叉乘世界up
相机up为相机F叉乘相机R
在这里插入图片描述
在这里插入图片描述

欧拉角

在这里插入图片描述
Pitch 俯仰角;Yaw偏航角;Roll滚转角(相机不考虑)
角度对应xyz转换关系:
在这里插入图片描述

Camera::Camera(vec3 position, vec3 target, vec3 worldup)
{
   
	Position = position;
	WorldUp = worldup;
	Forward = normalize(target - position);
	Right = normalize(cross(Forward, WorldUp));
	Up = normalize(cross(Forward, Right));
	R = pow
  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值