首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >旋转全景图看摄像机方向

旋转全景图看摄像机方向
EN

Stack Overflow用户
提问于 2017-05-16 09:14:55
回答 1查看 1.1K关注 0票数 0

我有两个领域,全景图像是映射的。我想做两个渐变效果的全景之间的平稳过渡。对于这两幅全景图,我都设置了最佳视角的初始摄像机方向。现在的问题是,如果用户在第一个全景图中看到某个摄像机角度,然后单击某个按钮来切换全景图,我希望给出淡出效果,并直接降落在另一个全景的初始摄像机角度上。但是由于两台pano共用一台普通相机,我不能用相机来实现它,所以我设计了以下解决方案-

图像描绘问题

  1. 旋转目标球体,使其能看到所需的摄像机方向。
  2. 旋转目标球体,使其能观察现有摄像机的方向。
  3. 暗源球体
  4. 相机看新的panos相机方向。
  5. 向后旋转至初始方向。

在这里,我找不到旋转全景的公式来看相机。(就像相机是静态的,而pano是旋转的,以达到类似的效果,就像我们在移动相机一样)。有人能帮忙找出相对于相机旋转全景(球体)的公式吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-17 05:59:45

矩阵是解决旋转问题的有力工具。我做了一个简单的解释。

一开始,摄像机位于左球体的中心,面向初始视点,然后,摄像机面对另一个点,现在,摄像机的旋转发生了变化,然后,摄像机移动到右球体的中心,并保持其方向。我们需要旋转正确的球体。如果C是我们想让相机面对的点,首先,我们旋转A到B,第二,我们旋转一些角度θ等于C到A。

那么,怎么做呢?我使用了矩阵,因为A是一个单位矩阵中的一个初始点,从A到C的旋转可以用一个矩阵来表示,由three.js函数matrix4.lookAt(eye,center,up)计算,‘眼睛’是摄像机的位置,‘中心’是C的坐标,' up‘是相机上的向量。然后,从C到A的旋转矩阵是从A到C的矩阵的逆矩阵,因为相机现在是面对B的,所以摄像机的矩阵等于A到B的旋转矩阵。

最后,我们把它放在一起,最后的旋转矩阵可以写成:rotationMatrix = matrixAtoB.multiply(new THREE.Matrix4().getInverse(matrixAtoC));

小提琴手例子

这是一种矩阵方法,你也可以用球极系统来解决这个问题。

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

https://stackoverflow.com/questions/43997187

复制
相关文章

相似问题

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