Math 计算光线跟踪器中的摄影机旋转

Math 计算光线跟踪器中的摄影机旋转,math,raytracing,perspectivecamera,Math,Raytracing,Perspectivecamera,我目前正在为学校编写自己的光线跟踪器,在设置相机时遇到了一些问题 我知道我的相机在哪里(cX、cY、cZ) 我知道它在看什么(lX,lY,lZ) 我需要将这些数据转换为: 我的相机在哪里(cX、cY、cZ) 以及它的旋转x和旋转z 如果你们中有人能告诉我,我的数学不是很好 帮点忙? 非常感谢你 我自己想出来的 我所做的是: cam_rot.x=辐射度(acos(-(方向z/sqrt(功率(方向x,2)+功率(方向z,2俬俬)))-90; cam_rot.y=辐射度(M_PI/2-acos(dir

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

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

我需要将这些数据转换为: 我的相机在哪里(cX、cY、cZ) 以及它的旋转x和旋转z

如果你们中有人能告诉我,我的数学不是很好 帮点忙?
非常感谢你

我自己想出来的

我所做的是: cam_rot.x=辐射度(acos(-(方向z/sqrt(功率(方向x,2)+功率(方向z,2俬俬)))-90; cam_rot.y=辐射度(M_PI/2-acos(dir.y))

假设dir是相机所在位置和观察位置之间的标准化方向向量

我不完全确定rotationX的-90,但我需要它

工作得很有魅力

你听说过欧拉角吗?可能会有帮助…在你这么做之前:我很确定你不想要欧拉角。使用方向向量和由这些向量形成的矩阵。指定什么是旋转X和旋转Z,以及如何定义相机方向