Package healpix.essentials
Class Vec3
- java.lang.Object
-
- healpix.essentials.Vec3
-
public class Vec3 extends java.lang.ObjectCartesian 3-vector. Instead of using the javax.vecmath.Vector3d class, this separate class was implemented for two reasons: first, to avoid the external dependency from vecmath.jar, and also because the function Vector3d.angle(Vector3d v1) is too inaccurate for usage in Healpix for very small angles.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Vec3add(Vec3 v)Vector additiondoubleangle(Vec3 v1)Angle between two vectors.Vec3cross(Vec3 v)Vector cross product.doubledot(Vec3 v1)Computes the dot product of the this vector andv1.booleanequals(java.lang.Object o)voidflip()Invert the signs of all componentsVec3flipped()inthashCode()doublelength()Vector lengthdoublelengthSquared()Squared vector lengthVec3mul(double n)Vector scaling.Vec3norm()Return normalized vectorvoidnormalize()Normalize the vectorvoidscale(double n)Scale the vector by a given factorVec3sub(Vec3 v)Vector subtractiondouble[]toArray()voidtoArray(double[] arr)java.lang.StringtoString()
-
-
-
Constructor Detail
-
Vec3
public Vec3()
Default constructor.
-
Vec3
public Vec3(Vec3 v)
-
Vec3
public Vec3(double x1, double y1, double z1)Creation from individual components
-
Vec3
public Vec3(double[] arr)
-
-
Method Detail
-
length
public final double length()
Vector length- Returns:
- the length of the vector.
-
lengthSquared
public final double lengthSquared()
Squared vector length- Returns:
- the squared length of the vector.
-
normalize
public void normalize()
Normalize the vector
-
norm
public Vec3 norm()
Return normalized vector
-
angle
public final double angle(Vec3 v1)
Angle between two vectors.- Parameters:
v1- another vector- Returns:
- the angle in radians between this vector and
v1; constrained to the range [0,PI].
-
cross
public Vec3 cross(Vec3 v)
Vector cross product.- Parameters:
v- another vector- Returns:
- the vector cross product between this vector and
v
-
mul
public Vec3 mul(double n)
Vector scaling.- Parameters:
n- the scale number to be multiply to the coordinatesx,y,z- Returns:
- the vector with coordinates multiplied by
n
-
flip
public void flip()
Invert the signs of all components
-
flipped
public Vec3 flipped()
-
scale
public void scale(double n)
Scale the vector by a given factor- Parameters:
n- the scale factor
-
dot
public final double dot(Vec3 v1)
Computes the dot product of the this vector andv1.- Parameters:
v1- another vector- Returns:
- dot product
-
add
public Vec3 add(Vec3 v)
Vector addition- Parameters:
v- the vector to be added- Returns:
- addition result
-
sub
public Vec3 sub(Vec3 v)
Vector subtraction- Parameters:
v- the vector to be subtracted- Returns:
- subtraction result
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
toArray
public double[] toArray()
-
toArray
public void toArray(double[] arr)
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
-