Example usage for org.apache.commons.math3.geometry.euclidean.twod Vector2D Vector2D

List of usage examples for org.apache.commons.math3.geometry.euclidean.twod Vector2D Vector2D

Introduction

In this page you can find the example usage for org.apache.commons.math3.geometry.euclidean.twod Vector2D Vector2D.

Prototype

public Vector2D(double a, Vector2D u) 

Source Link

Document

Multiplicative constructor Build a vector from another one and a scale factor.

Usage

From source file:de.r2soft.empires.framework.test.ObjectTreeTest.java

@Test
public void testNearestN() {
    Object obj1 = new Object();
    Object obj2 = new Object();
    tree.insert(new Vector2D(40, 40), obj1);
    tree.insert(new Vector2D(41, 41), obj2);
    Object[] objT = tree.nearest(new Vector2D(41, 41), 2);
    Assert.assertEquals(2, objT.length);
    Assert.assertEquals(obj1, objT[1]);/*  w  ww.  j  ava 2  s.co  m*/
    Assert.assertEquals(obj2, objT[0]);
}

From source file:edu.unc.cs.gamma.rvo.Blocks.java

private void setupScenario() {
    // Specify the global time step of the simulation.
    Simulator.instance.setTimeStep(0.25);

    // Specify the default parameters for agents that are subsequently
    // added.//from w w  w .  ja  v  a2s .c  o m
    Simulator.instance.setAgentDefaults(15.0, 10, 5.0, 5.0, 2.0, 2.0, Vector2D.ZERO);

    // Add agents, specifying their start position, and store their goals on
    // the opposite side of the environment.
    for (int i = 0; i < 5; i++) {
        for (int j = 0; j < 5; j++) {
            Simulator.instance.addAgent(new Vector2D(55.0 + i * 10.0, 55.0 + j * 10.0));
            goals.add(new Vector2D(-75.0, -75.0));

            Simulator.instance.addAgent(new Vector2D(-55.0 - i * 10.0, 55.0 + j * 10.0));
            goals.add(new Vector2D(75.0, -75.0));

            Simulator.instance.addAgent(new Vector2D(55.0 + i * 10.0, -55.0 - j * 10.0));
            goals.add(new Vector2D(-75.0, 75.0));

            Simulator.instance.addAgent(new Vector2D(-55.0 - i * 10.0, -55.0 - j * 10.0));
            goals.add(new Vector2D(75.0, 75.0));
        }
    }

    // Add (polygonal) obstacles, specifying their vertices in
    // counterclockwise order.
    final List<Vector2D> obstacle1 = new ArrayList<>();
    obstacle1.add(new Vector2D(-10.0, 40.0));
    obstacle1.add(new Vector2D(-40.0, 40.0));
    obstacle1.add(new Vector2D(-40.0, 10.0));
    obstacle1.add(new Vector2D(-10.0, 10.0));
    Simulator.instance.addObstacle(obstacle1);

    final List<Vector2D> obstacle2 = new ArrayList<>();
    obstacle2.add(new Vector2D(10.0, 40.0));
    obstacle2.add(new Vector2D(10.0, 10.0));
    obstacle2.add(new Vector2D(40.0, 10.0));
    obstacle2.add(new Vector2D(40.0, 40.0));
    Simulator.instance.addObstacle(obstacle2);

    final List<Vector2D> obstacle3 = new ArrayList<>();
    obstacle3.add(new Vector2D(10.0, -40.0));
    obstacle3.add(new Vector2D(40.0, -40.0));
    obstacle3.add(new Vector2D(40.0, -10.0));
    obstacle3.add(new Vector2D(10.0, -10.0));
    Simulator.instance.addObstacle(obstacle3);

    final List<Vector2D> obstacle4 = new ArrayList<>();
    obstacle4.add(new Vector2D(-10.0, -40.0));
    obstacle4.add(new Vector2D(-10.0, -10.0));
    obstacle4.add(new Vector2D(-40.0, -10.0));
    obstacle4.add(new Vector2D(-40.0, -40.0));
    Simulator.instance.addObstacle(obstacle4);

    // Process the obstacles so that they are accounted for in the
    // simulation.
    Simulator.instance.processObstacles();
}

From source file:de.thkwalter.et.schlupfbezifferung.SchlupfbezifferungControllerTest.java

/**
 * Diese Methode initialisiert die Tests.
 * /*from w  ww  .  j ava2  s  . c o  m*/
 * @throws java.lang.Exception
 */
@Before
public void setUp() throws Exception {
    // Der Prfling wird erzeugt.
    this.schlupfbezifferungController = new SchlupfbezifferungController();

    // Die in den Tests verwendete Ortskurve wird erzeugt und initialisiert.
    Ortskurve testOrtskurve = new Ortskurve(new Vector2D(6.0768, 1.8413), 4.4975);

    // Die in den Tests verwendeten Betriebspunkte, die zur Bestimmung der Schlupfbezifferung verwendet werden, werden
    // erzeugt.
    Betriebspunkt[] testBetriebspunkte = new Betriebspunkt[3];
    testBetriebspunkte[0] = new Betriebspunkt(1.8843, 0.22026);
    testBetriebspunkte[1] = new Betriebspunkt(1.6135, 1.2989);
    testBetriebspunkte[2] = new Betriebspunkt(1.6639, 2.7199);

    // Das in den Tests verwendete Datenmodell der Schlupfbezifferungsbestimmung wird erzeugt und initialisiert.
    this.testSchlupfbezifferungModell = new SchlupfbezifferungModell();
    this.testSchlupfbezifferungModell.setOrtskurve(testOrtskurve);
    this.testSchlupfbezifferungModell.setBetriebspunkte(testBetriebspunkte);

    // Das in den Tests verwendete Datenmodell der Schlupfbezifferungsbestimmung wird im Controller der 
    // Schlupfbezifferungsbestimmung gespeichert.
    Field feldSchlupfbezifferungModell = SchlupfbezifferungController.class
            .getDeclaredField("schlupfbezifferungModell");
    feldSchlupfbezifferungModell.setAccessible(true);
    feldSchlupfbezifferungModell.set(this.schlupfbezifferungController, this.testSchlupfbezifferungModell);
}

From source file:de.thkwalter.et.ortskurve.Modellgleichungen.java

/**
 * Diese Methode brechnet die Werte der Modellgleichungen (der Kreisgleichungen).
 * /* w  w  w.ja  v  a2  s.c om*/
 * @param kreisparameter Die Parameterwerte der Kreisgleichungen. Das 0-te Element ist die x-Koordinate des
 *        Kreismittelpunkts, das 1-te Element ist die y-Koordinate des Kreismittelpunkts, das 2-te Element ist der
 *        Radius des Kreises.
 * 
 * @return Die Werte der Modellgleichungen. Der Index des Feldes luft ber die Gleichungen.
 * 
 * @see org.apache.commons.math3.analysis.MultivariateVectorFunction#value(double[])
 */
@Override
public double[] value(double[] kreisparameter) {
    // Der Vektor fr den Mittelpunkt der Ortskurve wird erzeugt.
    Vector2D mittelpunkt = new Vector2D(kreisparameter[0], kreisparameter[1]);

    // Der Radius des Kreises wird gelesen.
    double radius = kreisparameter[2];

    // Dieses Feld enthlt fr jeden Betriebspunkt den Abstand des entsprechenden Messpunktes von der Ortskurve.
    double[] abstaende = new double[this.messpunkte.length];

    // Die Abstnde der Messpunkte vom Kreis werden berechnet und protokolliert.
    for (int i = 0; i < this.messpunkte.length; i++) {
        abstaende[i] = this.messpunkte[i].distance(mittelpunkt) - radius;
    }

    return abstaende;
}

From source file:de.thkwalter.et.ortskurve.Modellgleichungen2d.java

/**
 * Diese Methode brechnet die Werte der Modellgleichungen (der Kreisgleichungen).
 * /*from  www .j  a va 2 s.co  m*/
 * @param kreisparameter Die Parameterwerte der Kreisgleichungen. Das 0-te Element ist die x-Koordinate des
 *        Kreismittelpunkts, das 1-te Element ist die y-Koordinate des Kreismittelpunkts, das 2-te Element ist der
 *        Radius des Kreises.
 * 
 * @return Die Werte der Modellgleichungen. Der Index des Feldes luft ber die Gleichungen.
 * 
 * @see org.apache.commons.math3.analysis.MultivariateVectorFunction#value(double[])
 */
@Override
public double[] value(double[] kreisparameter) {
    // Der Vektor fr den Mittelpunkt der Ortskurve wird erzeugt.
    Vector2D mittelpunkt = new Vector2D(kreisparameter[0], 0.0);

    // Der Radius des Kreises wird gelesen.
    double radius = kreisparameter[1];

    // Dieses Feld enthlt fr jeden Betriebspunkt den Abstand des entsprechenden Messpunktes von der Ortskurve.
    double[] abstaende = new double[this.messpunkte.length];

    // Die Abstnde der Messpunkte vom Kreis werden berechnet und protokolliert.
    for (int i = 0; i < this.messpunkte.length; i++) {
        abstaende[i] = this.messpunkte[i].distance(mittelpunkt) - radius;
    }

    return abstaende;
}

From source file:de.thkwalter.et.ortskurve.StartpunktbestimmungTest.java

/**
 * Test fr den Konstruktor {@link Startpunktbestimmung#Startpunktbestimmung(Vector2D[])}.
 * /*from   ww w  .  j a va2s .  c  o m*/
 * @throws ApplicationRuntimeException 
 */
@Test(expected = ApplicationRuntimeException.class)
public void testStartpunktbestimmung2() throws ApplicationRuntimeException {
    // Es wird berprft, ob der Konstruktor eine Ausnahme wirft, wenn weniger als drei Messpunkte bergeben werden.
    Startpunktbestimmung.startpunktBerechnen(new Vector2D[] { new Vector2D(0.0, 0.0), new Vector2D(1.0, 1.0) });
}

From source file:de.thkwalter.et.schlupfbezifferung.SchlupfbezifferungModellTest.java

/**
 * Test der Methode {@link SchlupfbezifferungModell#datenUebernehmen(OrtskurveModell)}.
 *///  ww w .  j a v a  2  s . c  o  m
@Test
public void testDatenUebernehmen() {
    // Die in diesem Test verwendete Ortskurve wird erzeugt.
    Ortskurve testOrtskurve = new Ortskurve(new Vector2D(2.0, 0.5), 1.0);

    // Das in diesem Test verwendete Datenmodell der Ortskurvenberechnung wird erzeugt und initialisiert.
    OrtskurveModell testOrtskurveModell = new OrtskurveModell();
    testOrtskurveModell.setOrtskurve(testOrtskurve);

    // Der in diesem Test verwendete Messpunkt wird erzeugt.
    Vector2D testMesspunkt = new Vector2D(4.0, 0.5);

    // Das in diesem Test verwendete Feld der Messpunkte wird erzeugt.
    Vector2D[] testMesspunkte = new Vector2D[] { testMesspunkt };

    // Das in diesem Test verwendete Feld der Messpunkte wird im Datenmodell der Ortskurvenberechnung gespeichert.
    testOrtskurveModell.setMesspunkte(testMesspunkte);

    // Die zu testende Methode wird aufgerufen
    this.schlupfbezifferungModell.datenUebernehmen(testOrtskurveModell);

    // Es wird berprft, ob die Ortskurve korrekt bernommen worden ist.
    assertEquals(testOrtskurve, this.schlupfbezifferungModell.getOrtskurve());

    // Es wird berprft, ob der Betriebspunkt korrekt bernommen worden ist.
    Betriebspunkt[] betriebspunkte = this.schlupfbezifferungModell.getBetriebspunkte();
    assertEquals(1, betriebspunkte.length);
    assertEquals(4.0, betriebspunkte[0].getI_1x(), 0.0);
    assertEquals(0.5, betriebspunkte[0].getI_1y(), 0.0);
}

From source file:de.thkwalter.jsf.converter.CSVConverterTest.java

/**
 * Test fr die Methode {@link CSVConverter#getAsObject(javax.faces.context.FacesContext, 
 * javax.faces.component.UIComponent, java.lang.String)}.
 *//*from w  ww.  j  av a2  s .co  m*/
@Test
public void testGetAsObject1() {
    // Die zu erstellende Zeichemkette wird erstellt.
    String eingabe = "1.0,2.0\n3.0,4.0  \n5.0,6.0\n   ";

    // Die zu testende Methode wird aufgerufen.
    Vector2D[] vektoren = (Vector2D[]) this.csvConverter.getAsObject(null, null, eingabe);

    // Es wird berprft, ob die Zeichenkette in das korrekte Feld von Vector2D-Objekten konvertiert worden ist.
    assertEquals(3, vektoren.length);
    assertEquals(new Vector2D(1.0, 2.0), vektoren[0]);
    assertEquals(new Vector2D(3.0, 4.0), vektoren[1]);
    assertEquals(new Vector2D(5.0, 6.0), vektoren[2]);
}

From source file:de.r2soft.empires.framework.test.ObjectTreeTest.java

@Test
public void testRange() {
    Object obj = new Object();
    tree.insert(new Vector2D(100, 100), obj);
    Object[] objT = tree.range(new Vector2D(90, 90), new Vector2D(110, 110));
    Assert.assertEquals(1, objT.length);
    Assert.assertEquals(obj, objT[0]);//from  ww w. j a  v  a 2s  .co m
}

From source file:de.thkwalter.et.ortskurve.OrtskurveModellTest.java

/**
 * Diese Methode initialisiert die Tests.
 * /*from  w w  w  .  j  a  va  2s.co m*/
 * @throws java.lang.Exception
 */
@Before
public void setUp() throws Exception {
    // Ein Objekt der zu testenden Klasse OrtskurveModell wird initialisiert.
    this.ortskurveModell = new OrtskurveModell();

    // Die im Test verwendeten Messpunkte werden erzeugt.
    this.test_messpunkte = new Vector2D[] { new Vector2D(2.0, 0.0), new Vector2D(1.0, 1.0) };

    // Der im Test verwendete Ortskurve wird erzeugt.
    this.ortskurve = new Ortskurve(new Vector2D(1.0, 0.0), 1.0);

    // Die im Test verwendete Ortskurve der 2d-Ausgleichsrechnung wird erzeugt.
    this.ortskurve2d = new Ortskurve(new Vector2D(1.0, -0.5), 1.0);
}