提交 59304d8a 编写于 作者: M Mr.doob

Matrix4.transformVector3 ⟶ Matrix4.multiplyVector3

Matrix4.transformVector4 ⟶ Matrix4.multiplyVector4
上级 2929d5a3
此差异已折叠。
此差异已折叠。
此差异已折叠。
......@@ -145,7 +145,7 @@
} else {
var position = new THREE.Vector3().add( intersects[ 0 ].point, intersects[ 0 ].object.rotationMatrix.transformVector3( intersects[ 0 ].face.normal.clone() ) );
var position = new THREE.Vector3().add( intersects[ 0 ].point, intersects[ 0 ].object.rotationMatrix.multiplyVector3( intersects[ 0 ].face.normal.clone() ) );
var voxel = new THREE.Mesh( new Cube( 50, 50, 50 ), [ new THREE.MeshLambertMaterial( { color: 0x00ff80, opacity: 1, shading: THREE.FlatShading } ), new THREE.MeshFaceMaterial() ] );
voxel.position.x = Math.floor( position.x / 50 ) * 50 + 25;
......
......@@ -101,7 +101,19 @@ THREE.Geometry.prototype = {
},
computeBoundingBox: function ( ) {
computeVertexNormals: function () {
var f, fl;
for ( f = 0, fl = this.faces.length; f < fl; f++ ) {
}
},
computeBoundingBox: function () {
if ( this.vertices.length > 0 ) {
......@@ -151,7 +163,7 @@ THREE.Geometry.prototype = {
toString: function () {
return 'THREE.Geometry ( vertices: ' + this.vertices + ', faces: ' + this.faces + ' )';
return 'THREE.Geometry ( vertices: ' + this.vertices + ', faces: ' + this.faces + ', uvs: ' + this.uvs + ' )';
}
......
......@@ -50,7 +50,7 @@ THREE.Matrix4.prototype = {
},
transformVector3: function ( v ) {
multiplyVector3: function ( v ) {
var vx = v.x, vy = v.y, vz = v.z,
d = 1 / ( this.n41 * vx + this.n42 * vy + this.n43 * vz + this.n44 );
......@@ -63,7 +63,7 @@ THREE.Matrix4.prototype = {
},
transformVector4: function ( v ) {
multiplyVector4: function ( v ) {
var vx = v.x, vy = v.y, vz = v.z, vw = v.w;
......
......@@ -52,12 +52,12 @@ THREE.Ray.prototype = {
origin = this.origin.clone();
direction = this.direction.clone();
a = object.matrix.transformVector3( vertices[ face.a ].position.clone() );
b = object.matrix.transformVector3( vertices[ face.b ].position.clone() );
c = object.matrix.transformVector3( vertices[ face.c ].position.clone() );
d = face instanceof THREE.Face4 ? object.matrix.transformVector3( vertices[ face.d ].position.clone() ) : null;
a = object.matrix.multiplyVector3( vertices[ face.a ].position.clone() );
b = object.matrix.multiplyVector3( vertices[ face.b ].position.clone() );
c = object.matrix.multiplyVector3( vertices[ face.c ].position.clone() );
d = face instanceof THREE.Face4 ? object.matrix.multiplyVector3( vertices[ face.d ].position.clone() ) : null;
normal = object.rotationMatrix.transformVector3( face.normal.clone() );
normal = object.rotationMatrix.multiplyVector3( face.normal.clone() );
dot = direction.dot( normal );
if ( dot < 0 ) { // Math.abs( dot ) > 0.0001
......
......@@ -22,7 +22,7 @@ var GeometryUtils = {
var vertexCopy = new THREE.Vertex( vertex.position.clone() );
isMesh && object2.matrix.transformVector3( vertexCopy.position );
isMesh && object2.matrix.multiplyVector3( vertexCopy.position );
vertices1.push( vertexCopy );
......
......@@ -57,11 +57,11 @@ THREE.Projector = function() {
vertex = vertices[ v ];
vertex.positionWorld.copy( vertex.position );
objectMatrix.transformVector3( vertex.positionWorld );
objectMatrix.multiplyVector3( vertex.positionWorld );
vertexPositionScreen = vertex.positionScreen;
vertexPositionScreen.copy( vertex.positionWorld );
_projScreenMatrix.transformVector4( vertexPositionScreen );
_projScreenMatrix.multiplyVector4( vertexPositionScreen );
// Perform the perspective divide. TODO: This should be be performend
// post clipping (imagine if the vertex lies at the same location as
......@@ -101,13 +101,13 @@ THREE.Projector = function() {
_face3.v3.positionScreen.copy( v3.positionScreen );
_face3.normalWorld.copy( face.normal );
objectRotationMatrix.transformVector3( _face3.normalWorld );
objectRotationMatrix.multiplyVector3( _face3.normalWorld );
_face3.centroidWorld.copy( face.centroid );
objectMatrix.transformVector3( _face3.centroidWorld );
objectMatrix.multiplyVector3( _face3.centroidWorld );
_face3.centroidScreen.copy( _face3.centroidWorld );
_projScreenMatrix.transformVector3( _face3.centroidScreen );
_projScreenMatrix.multiplyVector3( _face3.centroidScreen );
faceVertexNormals = face.vertexNormals;
_face3VertexNormals = _face3.vertexNormalsWorld;
......@@ -116,7 +116,7 @@ THREE.Projector = function() {
normal = _face3VertexNormals[ n ] = _face3VertexNormals[ n ] || new THREE.Vector3();
normal.copy( faceVertexNormals[ n ] );
objectRotationMatrix.transformVector3( normal );
objectRotationMatrix.multiplyVector3( normal );
}
......@@ -165,13 +165,13 @@ THREE.Projector = function() {
_face3.v3.positionScreen.copy( v4.positionScreen );
_face3.normalWorld.copy( face.normal );
objectRotationMatrix.transformVector3( _face3.normalWorld );
objectRotationMatrix.multiplyVector3( _face3.normalWorld );
_face3.centroidWorld.copy( face.centroid );
objectMatrix.transformVector3( _face3.centroidWorld );
objectMatrix.multiplyVector3( _face3.centroidWorld );
_face3.centroidScreen.copy( _face3.centroidWorld );
_projScreenMatrix.transformVector3( _face3.centroidScreen );
_projScreenMatrix.multiplyVector3( _face3.centroidScreen );
// TODO: Handle vertex normals
......@@ -245,14 +245,14 @@ THREE.Projector = function() {
vertex = vertices[ 0 ];
vertex.positionScreen.copy( vertex.position );
_projScreenObjectMatrix.transformVector4( vertex.positionScreen );
_projScreenObjectMatrix.multiplyVector4( vertex.positionScreen );
for ( v = 1, vl = vertices.length; v < vl; v++ ) {
v1 = vertices[ v ];
v1.positionScreen.copy( v1.position );
_projScreenObjectMatrix.transformVector4( v1.positionScreen );
_projScreenObjectMatrix.multiplyVector4( v1.positionScreen );
v2 = vertices[ v - 1 ];
......@@ -283,7 +283,7 @@ THREE.Projector = function() {
_vector4.set( object.position.x, object.position.y, object.position.z, 1 );
_projScreenMatrix.transformVector4( _vector4 );
_projScreenMatrix.multiplyVector4( _vector4 );
_vector4.z /= _vector4.w;
......@@ -322,7 +322,7 @@ THREE.Projector = function() {
var matrix = new THREE.Matrix4();
matrix.multiply( THREE.Matrix4.makeInvert( camera.matrix ), THREE.Matrix4.makeInvert( camera.projectionMatrix ) );
matrix.transformVector3( vector );
matrix.multiplyVector3( vector );
return vector;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册