小智 14
将坐标框架旋转到指定方向的点有很多种不同的方法; 它们都会使z轴指向您想要的方向,但x轴和y轴的方向会有所不同.
以下内容为您提供最短轮换,可能是您想要的,也可能不是.
vec3 target_dir = normalise( vector );
float rot_angle = acos( dot_product(target_dir,z_axis) );
if( fabs(rot_angle) > a_very_small_number )
{
vec3 rot_axis = normalise( cross_product(target_dir,z_axis) );
glRotatef( rot_angle, rot_axis.x, rot_axis.y, rot_axis.z );
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10090 次 |
最近记录: |