opengl - 在视图协调器中相对于 x 轴的 openGL 旋转
问题描述
假设我有这样的起始视图
gluLookAt(eye.x, eye.y, eye.z, ref.x, ref.y, ref.z, viewup.x,viewup.y,viewup.z);
这里
(eye.x, eye.y, eye.z) = (5.0, 5.0, 10.0); (ref.x, ref.y, ref.z) = (0,0, 0) ; (viewup.x, viewup.y, viewup.z) = (0, 1, 0);
我可以知道如何更改 eye.x、eye.y 和 eye.z 的值,以便视图坐标相对于 x 轴旋转,如下面的两个屏幕截图。
视图坐标中是否存在旋转矩阵运算,就像模型坐标的旋转一样?
谢谢
解决方案
你应该改变 eye.x 和 eye.y 的位置,我的意思是你应该在 gluLookAt 函数中改变你的相机位置,并在 (0,0,0) 或立方体的中心保持你的 lookAt 参考。对于第一个屏幕截图,您可以尝试:
eye.x=0.0;
eye.y=5.0;
eye.z=10.0;
推荐阅读
- python - 无法在主页上显示 Django 模型
- php - 如何在 HTML 中显示在从 php 执行的 BASH 脚本中创建的 txt?
- javascript - 在 Firebase 云函数中复制存储文件
- c++ - 使用“->”运算符时保留访问权限
- python - 将“m”添加到 pandas 字符串列会产生错误“ufunc 'isnat' is only defined for datetime and timedelta”。
- postgresql - Aggregating distinct values from JSONB arrays combined with SQL group by
- ef-core-5.0 - 如何从 EF Core 5 DBContext 事务对象获取 SqlTransaction 对象,因为我需要将其传递给 SqlBulkCopy 操作
- c# - 在 .NET 5 C# 中等待所有方法调用完成的异步非轮询处理机制
- cloudflare - Cloudflare - 将 DomainA 重定向到 DomainB SSL 问题
- javascript - 错误:Node Sass 版本 5.0.0 与 ^4.0.0 不兼容(使用此命令后:“npm install node-sass@4.14.1”仍然抛出相同的错误