-
- topLeft.rotate(cameraCenter, -viewAngle, -viewAngle);
- topRight.rotate(cameraCenter, viewAngle, -viewAngle);
- bottomLeft.rotate(cameraCenter, -viewAngle, viewAngle);
- bottomRight.rotate(cameraCenter, viewAngle, viewAngle);
-
- topLeft.rotate(cameraCenter, -avatar.getAngleXZ(), -avatar.getAngleYZ());
- topRight.rotate(cameraCenter, -avatar.getAngleXZ(), -avatar.getAngleYZ());
- bottomLeft.rotate(cameraCenter, -avatar.getAngleXZ(), -avatar.getAngleYZ());
- bottomRight.rotate(cameraCenter, -avatar.getAngleXZ(), -avatar.getAngleYZ());
+ cameraCenter = new Point3D();
+ topLeft = new Point3D(0, 0, SIZE).rotate(-viewAngle, -viewAngle);
+ topRight = new Point3D(0, 0, SIZE).rotate(viewAngle, -viewAngle);
+ bottomLeft = new Point3D(0, 0, SIZE).rotate(-viewAngle, viewAngle);
+ bottomRight = new Point3D(0, 0, SIZE).rotate(viewAngle, viewAngle);
+
+ topLeft.rotate(-avatar.getAngleXZ(), -avatar.getAngleYZ());
+ topRight.rotate(-avatar.getAngleXZ(), -avatar.getAngleYZ());
+ bottomLeft.rotate(-avatar.getAngleXZ(), -avatar.getAngleYZ());
+ bottomRight.rotate(-avatar.getAngleXZ(), -avatar.getAngleYZ());
+
+ // place camera view at avatar location
+ avatar.getLocation().clone().scaleDown(zoom).addTo(cameraCenter, topLeft, topRight, bottomLeft, bottomRight);