【问题标题】:Compute camera rotation in raytracer在光线追踪器中计算相机旋转
【发布时间】:2016-08-23 23:38:14
【问题描述】:

我目前正在为学校编写自己的光线追踪器,但在设置相机时遇到了一些问题。

我知道我的相机在哪里 (cX, cY, cZ) 我知道它在看哪里 (lX, lY, lZ)

我需要将这些数据转换为: 我的相机在哪里 (cX, cY, cZ) 以及它的rotationX和rotationZ

如果你们中的一些人能给我的话,我的数学不是那么好 有一点帮助吗? 非常感谢!

【问题讨论】:

  • 你听说过欧拉角吗? This 可能会有所帮助...
  • 在你这样做之前:我很确定你不想要欧拉角。请改用方向向量和由这些向量形成的矩阵。
  • 指定什么是rotationX和rotationZ以及如何定义相机方向

标签: math raytracing perspectivecamera


【解决方案1】:

我自己想通了

我所做的是: cam_rot.x = RadienToDegree(acos(-(dir.z / sqrt(pow(dir.x, 2) + pow(dir.z, 2))))) - 90; cam_rot.y = RadienToDegree((M_PI / 2 - acos(dir.y)));

假设 dir 是我的相机所在位置和它正在查看的位置之间的归一化方向向量。

我不完全确定旋转 X 的 -90,但在我的情况下我需要它

像魅力一样工作 Screenshot1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-23
    • 2012-11-13
    • 2012-06-19
    • 1970-01-01
    • 1970-01-01
    • 2011-08-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多