|
@@ -534,9 +534,11 @@ Object.assign( Vector3.prototype, {
|
|
|
|
|
|
projectOnVector: function ( v ) {
|
|
projectOnVector: function ( v ) {
|
|
|
|
|
|
- // v cannot be the zero v
|
|
|
|
|
|
+ var denominator = v.lengthSq();
|
|
|
|
|
|
- var scalar = v.dot( this ) / v.lengthSq();
|
|
|
|
|
|
+ if ( denominator === 0 ) return this.set( 0, 0, 0 );
|
|
|
|
+
|
|
|
|
+ var scalar = v.dot( this ) / denominator;
|
|
|
|
|
|
return this.copy( v ).multiplyScalar( scalar );
|
|
return this.copy( v ).multiplyScalar( scalar );
|
|
|
|
|
|
@@ -563,7 +565,7 @@ Object.assign( Vector3.prototype, {
|
|
|
|
|
|
var denominator = Math.sqrt( this.lengthSq() * v.lengthSq() );
|
|
var denominator = Math.sqrt( this.lengthSq() * v.lengthSq() );
|
|
|
|
|
|
- if ( denominator === 0 ) console.error( 'THREE.Vector3: angleTo() can\'t handle zero length vectors.' );
|
|
|
|
|
|
+ if ( denominator === 0 ) return Math.PI / 2;
|
|
|
|
|
|
var theta = this.dot( v ) / denominator;
|
|
var theta = this.dot( v ) / denominator;
|
|
|
|
|