Search in sources :

Example 46 with Vector2D

use of spacesettlers.utilities.Vector2D in project spacesettlers by amymcgovern.

the class TestVector2D method testGetAngle.

/**
 * Tests the angle returned by get angle for a variety of vectors
 *
 * (-10, -10, -3pi/4)	(0, -10, -pi/2)		(10, -10, -pi/4)
 *
 * 						(0, 0, 0)			(10, 0, 0)
 *
 * (-10, 10, 3pi/4)		(0, 10, pi/2)		(10, 10, pi/4)
 */
@Test
public void testGetAngle() {
    // the center
    Vector2D vector = new Vector2D(0, 0);
    assertEquals(vector.getAngle(), 0, 0.01);
    // now going around clockwise from the upper left corner
    vector = new Vector2D(-10, -10);
    assertEquals(vector.getAngle(), -(3 * Math.PI) / 4, 0.01);
    vector = new Vector2D(0, -10);
    assertEquals(vector.getAngle(), -Math.PI / 2, 0.01);
    vector = new Vector2D(10, -10);
    assertEquals(vector.getAngle(), -Math.PI / 4, 0.01);
    vector = new Vector2D(10, 0);
    assertEquals(vector.getAngle(), 0, 0.01);
    vector = new Vector2D(10, 10);
    assertEquals(vector.getAngle(), Math.PI / 4, 0.01);
    vector = new Vector2D(0, 10);
    assertEquals(vector.getAngle(), Math.PI / 2, 0.01);
    vector = new Vector2D(-10, 10);
    assertEquals(vector.getAngle(), (3 * Math.PI) / 4, 0.01);
}
Also used : Vector2D(spacesettlers.utilities.Vector2D) Test(org.junit.Test)

Example 47 with Vector2D

use of spacesettlers.utilities.Vector2D in project spacesettlers by amymcgovern.

the class TestVector2D method testDot.

@Test
public void testDot() {
    Vector2D vector1 = new Vector2D(-3, 5);
    Vector2D vector2 = new Vector2D(2, 3);
    double dot = vector1.dot(vector2);
    assertEquals(dot, 9, 0);
}
Also used : Vector2D(spacesettlers.utilities.Vector2D) Test(org.junit.Test)

Example 48 with Vector2D

use of spacesettlers.utilities.Vector2D in project spacesettlers by amymcgovern.

the class TestVector2D method testVectorProjectAlongXLine.

@Test
public void testVectorProjectAlongXLine() {
    Vector2D vector1 = new Vector2D(10, 0);
    Vector2D vector2 = new Vector2D(10, 0);
    Vector2D resultVector = vector1.vectorProject(vector2);
    assertEquals(resultVector.getXValue(), vector1.getXValue(), 0);
    assertEquals(resultVector.getYValue(), vector1.getYValue(), 0);
}
Also used : Vector2D(spacesettlers.utilities.Vector2D) Test(org.junit.Test)

Example 49 with Vector2D

use of spacesettlers.utilities.Vector2D in project spacesettlers by amymcgovern.

the class AbstractWeapon method shiftWeaponFiringLocation.

/**
 * Shift the weapon firing position to be in front of the ship, not hitting it,
 * at the appropriate initial speed
 */
public void shiftWeaponFiringLocation(double initialSpeed) {
    int radiusToShift = firingShip.getRadius() + radius * 2;
    position.setX(position.getX() + (radiusToShift * Math.cos(position.getOrientation())));
    position.setY(position.getY() + (radiusToShift * Math.sin(position.getOrientation())));
    Vector2D newVelocity = new Vector2D(initialSpeed * Math.cos(position.getOrientation()), initialSpeed * Math.sin(position.getOrientation()));
    position.setTranslationalVelocity(newVelocity);
}
Also used : Vector2D(spacesettlers.utilities.Vector2D)

Aggregations

Vector2D (spacesettlers.utilities.Vector2D)49 Test (org.junit.Test)33 Position (spacesettlers.utilities.Position)26 Movement (spacesettlers.utilities.Movement)15 Asteroid (spacesettlers.objects.Asteroid)8 Ship (spacesettlers.objects.Ship)8 MoveAction (spacesettlers.actions.MoveAction)4 Before (org.junit.Before)3 AbstractObject (spacesettlers.objects.AbstractObject)3 Toroidal2DPhysics (spacesettlers.simulator.Toroidal2DPhysics)2 HashMap (java.util.HashMap)1 Random (java.util.Random)1 UUID (java.util.UUID)1 AbstractAction (spacesettlers.actions.AbstractAction)1 DoNothingAction (spacesettlers.actions.DoNothingAction)1 RawAction (spacesettlers.actions.RawAction)1 LineGraphics (spacesettlers.graphics.LineGraphics)1 StarGraphics (spacesettlers.graphics.StarGraphics)1 Beacon (spacesettlers.objects.Beacon)1 Flag (spacesettlers.objects.Flag)1