Vector class lab assignment

From WLCS

Resources

Vector class

  • Create a Vector class using the following specifications (HINT: Use any of your notes or other classes as resources):

BE SURE TO COMMENT YOUR CODE

Attributes (private):

  • double magnitude (default: 0)
  • double direction (default: 0) - in radians

Methods (public)

  • Vector() - default constructor
  • Vector(double r, double theta) - specific constructor
  • void setMagnitude(double newMag) - sets the magnitude
  • void setDirection(double newDir) - sets the direction (in radians)
  • double getMagnitude() - returns the magnitude
  • double getDirection() - returns the direction (in radians)
  • double getDirectionDegrees() - returns the direction (in degrees)
  • double getX()
    • returns the Cartesian x-coordinate of the Vector (look at Resources to convert Polar->Cartesian)
  • double getY()
    • returns the Cartesian y-coordinate of the Vector (look at Resources to convert Polar->Cartesian)
  • String toString() - returns a String representation of the Vector in the format (magnitude, direction)
    • Example: (2, 6.283)
  • Vector add(Vector v)
    • returns a new Vector after calculating the Vector addition of itself and Vector v
    • Note: if you need to use arc tangent, then use the Math.atan2() method
  • Vector sub(Vector v)
    • returns a new Vector after calculating the Vector subtraction of itself and Vector v
    • Note: if you need to use arc tangent, then use the Math.atan2() method

Testing Vector class

  • Write your own main method to test out all the methods in the Vector class
//Example (incomplete -- add more testing)
Vector v = new Vector();
Vector v2 = new Vector(4, Math.PI/2);

v.setMagnitude(3);

System.out.println(v);
System.out.println(v2);

System.out.println("Vector add: v + v2");
Vector v3 = v.add(v2);
System.out.println(v3);  // magnitude=5, direction=0.927 radians

System.out.println("Vector sub: v - v2");
Vector v4 = v.sub(v2);
System.out.println(v4);  // magnitude=5, direction=-0.927 or 5.356 radians