Created
October 13, 2015 17:49
-
-
Save DarkSeraphim/21587c6f79e53b268460 to your computer and use it in GitHub Desktop.
Vector rotation utility
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private static Vector rotateZ(Vector v, double rot) | |
{ | |
return new Vector(v.getX() * Math.cos(rot) - v.getY() * Math.sin(rot), | |
v.getX() * Math.sin(rot) + v.getY() * Math.cos(rot), | |
v.getZ()); | |
} | |
private static Vector rotateY(Vector v, double rot) | |
{ | |
return new Vector( v.getX() * Math.cos(rot) + v.getZ() * Math.sin(rot), | |
v.getY(), | |
-v.getX() * Math.sin(rot) + v.getZ() * Math.cos(rot)); | |
} | |
private static Vector rotateX(Vector v, double rot) | |
{ | |
return new Vector(v.getX(), | |
v.getY() * Math.cos(rot) - v.getZ() * Math.sin(rot), | |
v.getY() * Math.sin(rot) + v.getZ() * Math.cos(rot)); | |
} | |
public static Vector rotate(Vector v, double rotX, double rotY, double rotZ) | |
{ | |
return rotateX(rotateY(rotateZ(v, rotZ), rotY), rotX); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment