@@ -82,8 +82,8 @@ var SeparateY = function (body1, body2, overlapOnly, bias)
8282 // We don't need costly sqrts if both masses are the same
8383 if ( mass1 === mass2 )
8484 {
85- var bnv1 = ( v2 > 0 ) ? v2 : v2 * - 1 ;
86- var bnv2 = ( v1 > 0 ) ? v1 : v1 * - 1 ;
85+ var bnv1 = Math . abs ( v2 ) * ( ( v2 > 0 ) ? 1 : - 1 ) ;
86+ var bnv2 = Math . abs ( v1 ) * ( ( v1 > 0 ) ? 1 : - 1 ) ;
8787
8888 var avg = ( bnv1 + bnv2 ) * 0.5 ;
8989
@@ -92,6 +92,14 @@ var SeparateY = function (body1, body2, overlapOnly, bias)
9292
9393 ny1 = avg + nv1 * bounce1 . y ;
9494 ny2 = avg + nv2 * bounce2 . y ;
95+
96+ console . log ( 'resolution 1' ) ;
97+ console . log ( 'pre-impact v = body1' , v1 , 'body2' , v2 ) ;
98+ console . log ( 'post-impact v = body1' , ny1 , 'body2' , ny2 ) ;
99+ console . log ( 'avg' , avg ) ;
100+ console . log ( 'nv' , nv1 , nv2 ) ;
101+ console . log ( 'sqrt mult' , bnv1 , bnv2 ) ;
102+ console . log ( 'delta' , body1 . deltaY ( ) , body2 . deltaY ( ) ) ;
95103 }
96104 else
97105 {
@@ -108,21 +116,21 @@ var SeparateY = function (body1, body2, overlapOnly, bias)
108116
109117 ny1 = avg + nv1 * bounce1 . y ;
110118 ny2 = avg + nv2 * bounce2 . y ;
119+
120+ console . log ( 'resolution 2' ) ;
121+ console . log ( 'pre-impact v = body1' , v1 , 'body2' , v2 ) ;
122+ console . log ( 'post-impact v = body1' , ny1 , 'body2' , ny2 ) ;
123+ console . log ( 'avg' , avg ) ;
124+ console . log ( 'nv' , nv1 , nv2 ) ;
125+ console . log ( 'sqrt' , bnv1 , bnv2 ) ;
126+ console . log ( 'delta' , body1 . deltaY ( ) , body2 . deltaY ( ) ) ;
111127 }
112128
113129 // var total = v1 - v2;
114130 // ny1 = (((mass1 - mass2) * v1 + 2 * mass1 * v1) / (mass1 + mass2)) * bounce1.y;
115131 // ny2 = (total + ny1) * bounce2.y;
116132 // console.log('*1', ny1, ny2, 'vs', v1, v2, 'delta', body1.deltaY(), body2.deltaY());
117133
118- console . log ( 'resolution' ) ;
119- console . log ( 'body1' , ny1 , 'body2' , ny2 ) ;
120- console . log ( 'speed' , body1 . speed , body2 . speed ) ;
121- console . log ( 'v1' , v1 , 'v2' , v2 ) ;
122- console . log ( 'avg' , avg ) ;
123- console . log ( 'nv' , nv1 , nv2 ) ;
124- console . log ( 'sqrt' , bnv1 , bnv2 ) ;
125- console . log ( 'delta' , body1 . deltaY ( ) , body2 . deltaY ( ) ) ;
126134
127135 // console.log('*1', ny1, ny2, 'vs', v1, v2, 'avg', avg, 'nv', nv1, nv2, 'bounce', body1.bounce.y, body2.bounce.y, 'delta', body1.deltaY(), body2.deltaY());
128136 // console.log('*1', ny1, ny2, 'vs', v1, v2, 'avg', avg, 'nv', nv1, nv2, 'bounce', body1.bounce.y, body2.bounce.y, 'delta', body1.deltaY(), body2.deltaY());
@@ -414,6 +422,8 @@ var SeparateY = function (body1, body2, overlapOnly, bias)
414422
415423 // Rebound check
416424
425+ console . log ( 'SepY End' , ny1 , ny2 ) ;
426+
417427 velocity1 . y = ny1 ;
418428 velocity2 . y = ny2 ;
419429
0 commit comments