基础知识10镜头位置变化[转]
转载 原文为 http://www.pan3d.me/tutorial 作者 Pan3d.Me
在这个程序中我们的镜头具备了绕X轴旋转的效果了, 而我们在之前的程序中镜头角度只有angle_y在改变,
也就是只在绕着Y轴在转而以,并不能绕X轴在转。 (简单我们可以理解 镜头一般都可以向上向下,向左向右)
我们是通过MOUSE 的x,y来修改镜头的 两个偏转角值的 angle_y,angle_x,到这一步我们其本上就可以做到3D
空间里镜头成像的效果了,
一、程序解释
在这个例子中,基本的数据模型跟上一个一样的,只有镜头计算映射过程中多加了一些程序来处理
①.设计一个固定的点,用来捆定镜头
public function math_change_point(_3dpoint) {var rx = _3dpoint.x -_Cam.xvar ry = _3dpoint.y -_Cam.yvar rz = _3dpoint.z -_Cam.zvar sin_y = Math.sin(_Cam.angle_y * Math.PI/180);var cos_y = Math.cos(_Cam.angle_y * Math.PI / 180);var sin_x = Math.sin(_Cam.angle_x * Math.PI/180);var cos_x = Math.cos(_Cam.angle_x * Math.PI/180);var tmp_rx = rx;rx = cos_y * tmp_rx – sin_y * rz;rz = sin_y * tmp_rx + cos_y * rz;var tmp_ry = ry;ry = cos_x * tmp_ry – sin_x * rz;rz = sin_x * tmp_ry + cos_x * rz;_3dpoint.bx = rx;_3dpoint.by = ry;_3dpoint.bz = rz;}