商域无疆 (http://blog.csdn.net/omni360/)
本文遵守“署名-非商业用处-保持1致”创作公用协议
转载请保存此句:商域无疆 - 本博客专注于 敏捷开发及移动和物联装备研究:数据可视化、GOLANG、Html5、WEBGL、THREE.JS,否则,出自本博客的文章谢绝转载或再转载,谢谢合作。
俺也是刚开始学,好多地儿肯定不对还请见谅.
以下代码是THREE.JS 源码文件中Cameras/OrthographicCamera.js文件的注释.
更多更新在 : https://github.com/omni360/three.js.sourcecode
/**
* @author alteredq / http://alteredqualia.com/
*/
/*
///OrthographicCamera方法根据 left, right, top, bottom, near, far 生成正交投影相机.OrthographicCamera对象的功能函数采取
/// 定义构造的函数原型对象来实现.
*/
///<summary>OrthographicCamera</summary>
///<param name ="left" type="Number">指明相对垂直平面的左边坐标位置</param>
///<param name ="right" type="Number">指明相对垂直平面的右边坐标位置</param>
///<param name ="top" type="Number">指明相对垂直平面的顶部坐标位置</param>
///<param name ="bottom" type="Number">指明相对垂直平面的底部坐标位置</param>
///<param name ="near" type="Number">指明相对深度剪切面的近的距离,必须为正数,可选参数,如果未指定,初始化为0.1</param>
///<param name ="far" type="Number">指明相对深度剪切面的远的距离,必须为正数,可选参数,如果未指定,初始化为2000</param>
///<returns type="OrthographicCamera">返回OrthographicCamera,正交投影相机.</returns>
THREE.OrthographicCamera = function ( left, right, top, bottom, near, far ) {
THREE.Camera.call( this ); //调用Camera对象的call方法,将本来属于Camera的方法交给当前对象OrthographicCamera来使用.
this.left = left; //指明相对垂直平面的相机的左边坐标位置
this.right = right; //指明相对垂直平面的相机的右边坐标位置
this.top = top; //指明相对垂直平面的相机的顶部坐标位置
this.bottom = bottom; //指明相对垂直平面的相机的底部坐标位置
this.near = ( near !== undefined ) ? near : 0.1; //指明相对深度剪切面的近的距离,必须为正数,可选参数,如果未指定,初始化为0.1
this.far = ( far !== undefined ) ? far : 2000; //指明相对深度剪切面的近的距离,必须为正数,可选参数,如果未指定,初始化为2000
this.updateProjectionMatrix(); //调用updateProjectionMatrix方法,更新相机的投影矩阵.
};
/**************************************************************************************
****下面是OrthographicCamera对象提供的功能函数定义,1部份通过prototype继承自Camera方法
***************************************************************************************/
THREE.OrthographicCamera.prototype = Object.create( THREE.Camera.prototype );
/*
///updateProjectionMatrix方法返回正交投影相机的可视边界的矩阵.
*/
///<summary>updateProjectionMatrix</summary>
///<returns type="OrthographicCamera">返回新的OrthographicCamera对象</returns>
THREE.OrthographicCamera.prototype.updateProjectionMatrix = function () {
this.projectionMatrix.makeOrthographic( this.left, this.right, this.top, this.bottom, this.near, this.far ); //调用THREE.Matrix4.makeOrthographic生成正交矩阵
};
/*clone方法
///clone方法克隆OrthographicCamera对象
*/
///<summary>clone</summary>
///<returns type="OrthographicCamera">返回克隆的OrthographicCamera对象</returns>
THREE.OrthographicCamera.prototype.clone = function () {
var camera = new THREE.OrthographicCamera();
THREE.Camera.prototype.clone.call( this, camera ); //调用THREE.Camera.Clone(camera)方法,克隆相机对象
camera.left = this.left; //将正交投影相机的 left 属性值复制
camera.right = this.right; //将正交投影相机的 right 属性值复制
camera.top = this.top; //将正交投影相机的 top 属性值复制
camera.bottom = this.bottom; //将正交投影相机的 bottom 属性值复制
camera.near = this.near; //将正交投影相机的 near 属性值复制
camera.far = this.far; //将正交投影相机的 far 属性值复制
return camera; //返回克隆的OrthographicCamera对象
};
商域无疆 (http://blog.csdn.net/omni360/)
本文遵守“署名-非商业用处-保持1致”创作公用协议
转载请保存此句:商域无疆 - 本博客专注于 敏捷开发及移动和物联装备研究:数据可视化、GOLANG、Html5、WEBGL、THREE.JS,否则,出自本博客的文章谢绝转载或再转载,谢谢合作。
以下代码是THREE.JS 源码文件中Cameras/OrthographicCamera.js文件的注释.
更多更新在 : https://github.com/omni360/three.js.sourcecode