VTK/OpenGL中球坐标转直角坐标

在球坐标中,表示一个点的位置用(r,  θ, φ),三个参数分别代表着半径,俯仰角和方位角

VTK/OpenGL中球坐标转直角坐标_第1张图片

 

在VTK/OpenGL中,空间坐标系为右手的直角坐标系,屏幕上的左右是x轴,上下是y轴,z轴则垂直于屏幕

VTK/OpenGL中球坐标转直角坐标_第2张图片

 

因此,球坐标转VTK/OpenGL中的坐标公式可以这样写(r为半径,θ为theta,φ为phi):

x = r * std::sin(theta) * std::sin(phi)
y = r * std::cos(theta) 
z = r * std::sin(theta) * std::cos(phi)

 

实际上,我们输入的时候应该是角度制,但是上面公式中的参数是弧度制,因此作些修改,将theta和phi用glm转为弧度制:

theta = glm::radians(theta);
phi = glm::radians(phi);

x = r * std::sin(theta) * std::sin(phi)
y = r * std::cos(theta) 
z = r * std::sin(theta) * std::cos(phi)

你可能感兴趣的:(VTK,OpenGL)