From 6cd8a65423b94f8f074ee3db4500e98ee8633017 Mon Sep 17 00:00:00 2001 From: Jesse Morgan Date: Tue, 8 Mar 2011 01:46:26 +0000 Subject: Attempt 2 --- src/tesseract/objects/PhysicalObject.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/tesseract/objects/PhysicalObject.java b/src/tesseract/objects/PhysicalObject.java index 96c9bfa..43990f4 100644 --- a/src/tesseract/objects/PhysicalObject.java +++ b/src/tesseract/objects/PhysicalObject.java @@ -134,10 +134,12 @@ public class PhysicalObject extends CollidableObject { * Move the object to the correct side of the new world. */ public void rotateForTransmission(PeerInformation a, PeerInformation b) { - double angle = /*Math.atan(-velocity.z / velocity.x) + */ Math.PI + Math.atan((b.location.getY() - a.location.getY()) / (b.location.getX() - a.location.getX())); + Vector3f velnormal = new Vector3f(velocity); + velnormal.normalize(); + velnormal.negate(); - position.x = (float) (position.x * Math.cos(angle) - position.z * Math.sin(angle)); - position.z = (float) (position.z * Math.cos(angle) + position.x * Math.sin(angle)); + position.x = velnormal.x * position.x; + position.z = velnormal.z * -position.z; } /** -- cgit v1.2.3