org.jzy3d.maths
Class Coord3d
- java.lang.Object
-
- org.jzy3d.maths.Coord3d
-
- All Implemented Interfaces:
- java.io.Serializable
public class Coord3d extends java.lang.Object implements java.io.SerializableACoord3dstores a 3 dimensional coordinate for cartesian or polar mode, and provide few operators. Operators allow adding, substracting, multiplying and divising coordinate values, as well as computing the distance between two points, and converting polar and cartesian coordinates.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field and Description static Coord3dIDENTITYThe origin is a Coord3d having value 1 for each dimension.static Coord3dINVALIDAn invalid Coord2d has value NaN for each dimension.static Coord3dORIGINThe origin is a Coord3d having value 0 for each dimension.floatxfloatyfloatz
-
Constructor Summary
Constructors Constructor and Description Coord3d()Create a 3d coordinate with value 0 for each dimension.Coord3d(Coord2d c, float zi)Coord3d(double xi, double yi, double zi)Create a 3d coordinate.Coord3d(float[] c)Coord3d(float xi, float yi, float zi)Create a 3d coordinate.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description Coord3dadd(Coord3d c2)Add a Coord3d to the current one and return the result in a new Coord3d.Coord3dadd(float value)Add a value to all components of the current Coord and return the result in a new Coord3d.Coord3dadd(float x, float y, float z)Coord3daddSelf(Coord3d c2)Coord3daddSelf(float value)Coord3dcartesian()Converts the current Coord3d into cartesian coordinates and return the result in a new Coord3d.Coord3dclone()Return a duplicate of this 3d coordinate.Coord3dcross(Coord3d v)doubledistance(Coord3d c)Compute the distance between two coordinates.doubledistanceSq(Coord3d c)Coord3ddiv(Coord3d c2)Divise a Coord3d to the current one and return the result in a new Coord3d.Coord3ddiv(float value)Divise all components of the current Coord by the same value and return the result in a new Coord3d.voiddivSelf(Coord3d c2)floatdot(Coord3d v)booleanequals(java.lang.Object obj)Coord3dgetNormalizedTo(float len)Coord2dgetXY()Return the x and y component as a 2d coordinate.static RangegetZRange(java.util.List<Coord3d> coords)inthashCode()Coord3dinterpolateTo(Coord3d v, float f)static java.util.List<Coord3d>list(int size)floatmagSquared()Coord3dmul(Coord3d c2)Multiply a Coord3d to the current one and return the result in a new Coord3d.Coord3dmul(float value)Multiply all components of the current Coord and return the result in a new Coord3d.voidmulSelf(Coord3d c2)Coord3dnegative()Coord3dnormalizeTo(float len)Coord3dpolar()Converts the current Coord3d into polar coordinates and return the result in a new Coord3d.Coord3drotate(float angleDeg, Coord3d axis)Applies a rotation represented by the AxisAngle notation using the Rodrigues' rotation formula.Coord3dset(Coord3d c2)Coord3dset(float x, float y, float z)Coord3dsub(Coord3d c2)Substract a Coord3d to the current one and return the result in a new Coord3d.Coord3dsub(float value)Substract a value to all components of the current Coord and return the result in a new Coord3d.Coord3dsubSelf(Coord3d c2)Coord3dsubSelf(float value)float[]toArray()Return an array representation of this coordinate.java.lang.StringtoString()Return a string representation of this coordinate.
-
-
-
Field Detail
-
ORIGIN
public static final Coord3d ORIGIN
The origin is a Coord3d having value 0 for each dimension.
-
IDENTITY
public static final Coord3d IDENTITY
The origin is a Coord3d having value 1 for each dimension.
-
INVALID
public static final Coord3d INVALID
An invalid Coord2d has value NaN for each dimension.
-
x
public float x
-
y
public float y
-
z
public float z
-
-
Constructor Detail
-
Coord3d
public Coord3d()
Create a 3d coordinate with value 0 for each dimension.
-
Coord3d
public Coord3d(float xi, float yi, float zi)Create a 3d coordinate. When using polar mode, x represents azimuth, y represents elevation, and z represents range.
-
Coord3d
public Coord3d(Coord2d c, float zi)
-
Coord3d
public Coord3d(float[] c)
-
Coord3d
public Coord3d(double xi, double yi, double zi)Create a 3d coordinate. When using polar mode, x is azimuth, y is elevation, and z is range.
-
-
Method Detail
-
list
public static java.util.List<Coord3d> list(int size)
-
set
public Coord3d set(float x, float y, float z)
-
clone
public Coord3d clone()
Return a duplicate of this 3d coordinate.- Overrides:
clonein classjava.lang.Object
-
getXY
public Coord2d getXY()
Return the x and y component as a 2d coordinate.
-
add
public Coord3d add(Coord3d c2)
Add a Coord3d to the current one and return the result in a new Coord3d.- Parameters:
c2-- Returns:
- the result Coord3d
-
add
public Coord3d add(float x, float y, float z)
-
add
public Coord3d add(float value)
Add a value to all components of the current Coord and return the result in a new Coord3d.- Parameters:
value-- Returns:
- the result Coord3d
-
addSelf
public Coord3d addSelf(float value)
-
sub
public Coord3d sub(Coord3d c2)
Substract a Coord3d to the current one and return the result in a new Coord3d.- Parameters:
c2-- Returns:
- the result Coord3d
-
sub
public Coord3d sub(float value)
Substract a value to all components of the current Coord and return the result in a new Coord3d.- Parameters:
value-- Returns:
- the result Coord3d
-
subSelf
public Coord3d subSelf(float value)
-
mul
public Coord3d mul(Coord3d c2)
Multiply a Coord3d to the current one and return the result in a new Coord3d.- Parameters:
c2-- Returns:
- the result Coord3d
-
mulSelf
public void mulSelf(Coord3d c2)
-
mul
public Coord3d mul(float value)
Multiply all components of the current Coord and return the result in a new Coord3d.- Parameters:
value-- Returns:
- the result Coord3d
-
div
public Coord3d div(Coord3d c2)
Divise a Coord3d to the current one and return the result in a new Coord3d.- Parameters:
c2-- Returns:
- the result Coord3d
-
divSelf
public void divSelf(Coord3d c2)
-
div
public Coord3d div(float value)
Divise all components of the current Coord by the same value and return the result in a new Coord3d.- Parameters:
value-- Returns:
- the result Coord3d
-
negative
public Coord3d negative()
-
cartesian
public Coord3d cartesian()
Converts the current Coord3d into cartesian coordinates and return the result in a new Coord3d.- Returns:
- the result Coord3d
-
polar
public Coord3d polar()
Converts the current Coord3d into polar coordinates and return the result in a new Coord3d.- Returns:
- the result Coord3d
-
distance
public double distance(Coord3d c)
Compute the distance between two coordinates.
-
distanceSq
public double distanceSq(Coord3d c)
-
magSquared
public float magSquared()
-
getNormalizedTo
public Coord3d getNormalizedTo(float len)
-
normalizeTo
public Coord3d normalizeTo(float len)
-
dot
public final float dot(Coord3d v)
-
rotate
public final Coord3d rotate(float angleDeg, Coord3d axis)
Applies a rotation represented by the AxisAngle notation using the Rodrigues' rotation formula. math implemented using http://en.wikipedia.org/wiki/Rodrigues%27_rotation_formula- Parameters:
angleDeg- angle of rotation about the given axis [deg]axis- unit vector describing an axis of rotation- Returns:
- rotated copy of the original vector
-
toString
public java.lang.String toString()
Return a string representation of this coordinate.- Overrides:
toStringin classjava.lang.Object
-
toArray
public float[] toArray()
Return an array representation of this coordinate.
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
-
DMelt 3.0 © DataMelt by jWork.ORG