three.js 源码注释(二十八)Cameras/Camera.js

页面导航:首页 > 网络编程 > JavaScript > three.js 源码注释(二十八)Cameras/Camera.js

three.js 源码注释(二十八)Cameras/Camera.js

来源: 作者: 时间:2016-02-05 11:06 【

俺也是刚开始学,好多地儿肯定不对还请见谅 以下代码是THREE JS 源码文件中Cameras Camera js文件的注释 ** * @author mrdoob http: mrdoob com * @author mikael emtinger http: gom

 

俺也是刚开始学,好多地儿肯定不对还请见谅.

以下代码是THREE.JS 文件中Cameras/Camera.js文件的注释.

 

/**
 * @author mrdoob / http://mrdoob.com/
 * @author mikael emtinger / http://gomo.se/
 * @author WestLangley / http://github.com/WestLangley
*/
/*
///Camera是相机对象的抽象基类,当创建相机时都从这个类继承.Camera对象的功能函数采用定义构造的函数原型对象来实现.
*/
///Camera
THREE.Camera = function () {

	THREE.Object3D.call( this );	//调用Object3D对象的call方法,将原本属于Object3D的方法交给当前对象Camera来使用.

	this.matrixWorldInverse = new THREE.Matrix4();	//为相机设置属性matrixWorldInverse,这是matrixWorld的逆矩阵,matrixWorld包含相机在世界坐标系的变换矩阵
	this.projectionMatrix = new THREE.Matrix4();	//为相机设置属性projectionMatrix,包含相机的投影矩阵

};

/*************************************************
****下面是Camera对象的方法属性定义,继承自Object3D
**************************************************/
THREE.Camera.prototype = Object.create( THREE.Object3D.prototype );	//Camrea对象从THREE.Objec3D的原型继承所有属性方法

/*
///lookAt方法用来旋转相机对象,并将对象面对空间中的点(参数vector)
*/
///lookAt
///Vector3对象
///返回新的Camera对象
THREE.Camera.prototype.lookAt = function () {

	// This routine does not support cameras with rotated and/or translated parent(s)
	//TODO: 这个程序不支持Camera摄像机的旋转和变换??英语不好,啥意思?

	var m1 = new THREE.Matrix4();

	return function ( vector ) {

		m1.lookAt( this.position, vector, this.up );	//调用THREE.Matrix4.lookAt()方法

		this.quaternion.setFromRotationMatrix( m1 );	//应用旋转矩阵

	};

}();

/*clone方法
///clone方法克隆Camera对象,
*/
///clone
///Camera对象
///返回克隆的Camera对象	
THREE.Camera.prototype.clone = function ( camera ) {

	if ( camera === undefined ) camera = new THREE.Camera();

	THREE.Object3D.prototype.clone.call( this, camera );	//调用THREE.Object3D.Clone(camera)方法,克隆相机对象

	camera.matrixWorldInverse.copy( this.matrixWorldInverse );	//将相机的matrixWorldInverse属性值复制
	camera.projectionMatrix.copy( this.projectionMatrix );	//将相机的projectionMatrix属性值复制

	return camera;	//返回克隆的Camera对象
};


商域无疆 (http://blog.csdn.net/omni360/)

本文遵循“署名-非商业用途-保持一致”创作公用协议

转载请保留此句:商域无疆 - 本博客专注于 敏捷开发及移动和物联设备研究:数据可视化、GOLANG、Html5、WEBGL、THREE.JS,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。


以下代码是THREE.JS 源码文件中Cameras/Camera.js文件的注释.

更多更新在 : https://github.com/omni360/three.js.sourcecode

Tags:

文章评论

最 近 更 新
热 点 排 行
Js与CSS工具
代码转换工具

<