Package zombie.iso

Class Vector2

java.lang.Object
zombie.iso.Vector2
All Implemented Interfaces:
Cloneable

public final class Vector2 extends Object implements Cloneable
  • Field Details

    • x

      public float x
      The horizontal part of this vector
    • y

      public float y
      The vertical part of this vector
  • Constructor Details

    • Vector2

      public Vector2()
      Create a new vector with zero length
    • Vector2

      public Vector2(Vector2 other)
      Create a new vector which is identical to another vector
      Parameters:
      other - The Vector2 to copy
    • Vector2

      public Vector2(float x, float y)
      Create a new vector with specified horizontal and vertical parts
      Parameters:
      x - The horizontal part
      y - The vertical part
  • Method Details

    • fromAwtPoint

      public static Vector2 fromAwtPoint(Point p)
      Create a new vector from an AWT Point
      Parameters:
      p - The java.awt.Point to convert
      Returns:
      A new Vector2 representing the Point
    • fromLengthDirection

      public static Vector2 fromLengthDirection(float length, float direction)
      Create a new vector with a specified length and direction
      Parameters:
      direction - The direction of the new vector, in radians
      length - The length of the new vector
      Returns:
    • dot

      public static float dot(float x, float y, float tx, float ty)
    • addScaled

      public static Vector2 addScaled(Vector2 a, Vector2 b, float scale, Vector2 result)
      Result = a + b * scale
      Returns:
      The supplied result vector.
    • rotate

      public void rotate(float rad)
    • add

      public Vector2 add(Vector2 other)
      Add another vector to this one and return this
      Parameters:
      other - The other Vector2 to add to this one
      Returns:
      this
    • aimAt

      public Vector2 aimAt(Vector2 other)
      Set the direction of this vector to point to another vector, maintaining the length
      Parameters:
      other - The Vector2 to point this one at.
    • angleTo

      public float angleTo(Vector2 other)
      Calculate the angle between this point and another
      Parameters:
      other - The second point as vector
      Returns:
      The angle between them, in radians
    • angleBetween

      public float angleBetween(Vector2 other)
      Calculate angle between this and other vectors
      Parameters:
      other - The other vector
      Returns:
      The angle in radians in the range [0,PI]
    • clone

      public Vector2 clone()
      Clone this vector
    • distanceTo

      public float distanceTo(Vector2 other)
      Calculate the distance between this point and another
      Parameters:
      other - The second point as vector
      Returns:
      The distance between them
    • dot

      public float dot(Vector2 other)
    • equals

      public boolean equals(Object other)
      See if this vector is equal to another
      Overrides:
      equals in class Object
      Parameters:
      other - A Vector2 to compare this one to
      Returns:
      true if other is a Vector2 equal to this one
    • getDirection

      public float getDirection()
    • getDirection

      public static float getDirection(float x, float y)
    • getDirectionNeg

      @Deprecated public float getDirectionNeg()
      Deprecated.
      The direction of the angle is backwards. Clockwise-positive.
      get the direction in which this vector is pointing
      Note: if the length of this vector is 0, then the direction will also be 0
      Returns:
      The direction in which this vector is pointing in radians
    • setDirection

      public Vector2 setDirection(float direction)
      Set the direction of this vector, maintaining the length
      Parameters:
      direction - The new direction of this vector, in radians
    • getLength

      public float getLength()
      get the length of this vector
      Returns:
      The length of this vector
    • getLengthSquared

      public float getLengthSquared()
      get the squared length of this vector
      Returns:
      The squared length of this vector
    • setLength

      public Vector2 setLength(float length)
      Set the length of this vector, maintaining the direction
      Parameters:
      length - The length of this vector
    • normalize

      public float normalize()
    • set

      public Vector2 set(Vector2 other)
      Make this vector identical to another vector
      Parameters:
      other - The Vector2 to copy
    • set

      public Vector2 set(float x, float y)
      Set the horizontal and vertical parts of this vector
      Parameters:
      x - The horizontal part
      y - The vertical part
    • setLengthAndDirection

      public Vector2 setLengthAndDirection(float direction, float length)
      Set the length and direction of this vector
      Parameters:
      direction - The direction of this vector, in radians
      length - The length of this vector
    • toAwtDimension

      public Dimension toAwtDimension()
      Convert this vector to an AWT Dimension
      Returns:
      a java.awt.Dimension
    • toAwtPoint

      public Point toAwtPoint()
      Convert this vector to an AWT Point
      Returns:
      a java.awt.Point
    • toString

      public String toString()
      Returns a string representing this vector
      Overrides:
      toString in class Object
      Returns:
      A String representing this vector
    • getX

      public float getX()
      Returns:
      the x
    • setX

      public void setX(float x)
      Parameters:
      x - the x to set
    • getY

      public float getY()
      Returns:
      the y
    • setY

      public void setY(float y)
      Parameters:
      y - the y to set
    • tangent

      public void tangent()
    • scale

      public void scale(float scale)
    • scale

      public static Vector2 scale(Vector2 val, float scale)