📄 worldvector.java.svn-base
字号:
package base;/** * CSCI 201 FAA Project - Spring 2009 - Team 4c * * World Vector. * * @author Josh Villbrandt */public class WorldVector { public double x = 0; public double y = 0; public double z = 0; public boolean forceUnitVector = false; public WorldVector() { } public WorldVector(double x, double y, double z) { this.x = x; this.y = y; this.z = z; } public WorldVector(WorldVector v) { x = v.x; y = v.y; z = v.z; } public WorldVector(WorldVector v, int addToX, int addToY, int addToZ) { x = v.x + addToX; y = v.y + addToY; z = v.z + addToZ; } public WorldVector(boolean forceUnitVector) { x = y = z = 1; this.forceUnitVector = forceUnitVector; } public WorldVector(double x, double y, double z, boolean forceUnitVector) { this.x = x; this.y = y; this.z = z; this.forceUnitVector = forceUnitVector; forceUnitVector(); } public WorldVector(WorldVector v, boolean forceUnitVector) { x = v.x; y = v.y; z = v.z; this.forceUnitVector = forceUnitVector; forceUnitVector(); } public WorldVector(WorldVector v, double addToX, double addToY, double addToZ, boolean forceUnitVector) { x = v.x + addToX; y = v.y + addToY; z = v.z + addToZ; this.forceUnitVector = forceUnitVector; forceUnitVector(); } /** Multiplication. */ public WorldVector times(double factor) { return new WorldVector(x*factor, y*factor, z*factor); } /** Addition. */ public WorldVector plus(WorldVector v) { return new WorldVector(x+v.x, y+v.y, z+v.z); } /** Cross Product. */ public WorldVector cross(WorldVector v) { return new WorldVector(y*v.z-z*v.y, z*v.x-x*v.z, x*v.y-y*v.x); } /** Dot Product. */ public WorldVector dot(WorldVector v) { return new WorldVector(x*v.x, y*v.y, z*v.z); } /** Magnitude. */ public double magnitude() { return Math.sqrt(x*x + y*y + z*z); } /** Normalize. */ public WorldVector normalize() { return this.times(1 / this.magnitude()); } /** Convert toCartesianVector */ /*public SphericalVector toSphericalVector() { double rho = this.magnitude(); double phi = Math.atan(y / x); double theta = Math.acos(z / this.magnitude()); return new SphericalVector(rho, phi, theta); }*/ /** toString */ public String toString() { return "[" + x + ", " + y + ", " + z + "]"; } private void forceUnitVector() { if(forceUnitVector) { WorldVector normalized = this.normalize(); x = normalized.x; y = normalized.y; z = normalized.z; } } public boolean equals(WorldVector compare){ if(this.x==compare.x && this.y==compare.y && this.z==compare.z) return true; else return false; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -