首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

基础知识十镜头位置变化[转]

2012-12-21 
基础知识10镜头位置变化[转]转载 原文为 http://www.pan3d.me/tutorial 作者 Pan3d.Me 在这个程序中我们的

基础知识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;}


这段程序,最好是先看上一节的例子,因为上一节只对angle_y进行运算,在这里只是多加了关于

angle_x的偏转。 没必要死记,只要知到这样计算出来的结果是正确的就可以了

热点排行