首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gluLookAt中的中断

gluLookAt中的中断
EN

Stack Overflow用户
提问于 2011-12-05 14:52:06
回答 1查看 359关注 0票数 0

这就是我如何计算我的视线向量和向上向量。

代码语言:javascript
复制
    ly = sin(inclination);
    lx = cos(inclination)*sin(azimuth);
    lz = cos(inclination)*cos(azimuth);
    uy = sin(inclination + M_PI / 2.0);
    ux = cos(inclination + M_PI / 2.0)*sin(azimuth + M_PI);
    uz = cos(inclination + M_PI / 2.0)*cos(azimuth + M_PI);

倾斜度是视线向量与xz平面的夹角,方位角是xz平面的角度。

这样做很好,直到我的倾斜度达到225度。在这一点上,由于某种原因,旋转中存在不连续。(请注意,225度,我的意思是它超过了颠倒的点)

有什么想法可以解释为什么会这样吗?

编辑:不要紧,我想通了。方位角不需要180度。向上向量的倾斜。

EN

回答 1

Stack Overflow用户

发布于 2011-12-05 15:18:02

我想你说的是90度的极限角度(pi)。你得到的是一个正常的行为。使用gluLookAt时,可以指定用于确定摄影机滚动的“向上”向量。在朝下看的特殊情况下,“向上”向量与眼睛方向向量平行,因此无法确定相机的滚动(此问题是无限多个解决方案,因此gluLookAt会选择任意一个)。也许你应该用你的倾角和方位角来计算这个‘向上’向量。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8381915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档