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

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

Introduction

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

Prototype

@Override
public String toString() 

Source Link

Document

Get a string representation of this vector.

Usage

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

/**
 * Dieses Feld berechnet die Jakobi-Matrix der Modellgleichungen (der Kreisgleichungen).
 * /*w  w w .j  a v a 2s .  c  o  m*/
 * @param kreisparameter Die Parameterwerte der Kreisgleichungen. Das 0-te Element ist die x-Koordinate des
 *        Kreismittelpunkts, das 1-te Element ist der Radius des Kreises.
 * 
 * @return Die Jakobi-Matrix der Modellgleichungen. Der erste Index des Feldes luft ber die Gleichungen, der zweite
 *         Index ber die Kreisparameter.
 * 
 * @see org.apache.commons.math3.analysis.MultivariateMatrixFunction#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);

    // Das Feld fr die Jakobi-Matrix wird deklariert.
    double[][] jakobiMatrix = new double[this.messpunkte.length][2];

    // In dieser Schleife wird die Jakobi-Matrix initialisiert.
    double abstandMesspunktMittelpunkt = Double.NaN;
    for (int i = 0; i < this.messpunkte.length; i++) {
        // Der Abstand des Messpunktes vom Mittelpunkt wird berechnet.
        abstandMesspunktMittelpunkt = this.messpunkte[i].distance(mittelpunkt);

        // Falls der Messpunkt mit dem Mittelpunkt identisch ist wird eine JSFAusnahme geworfen, da sonst das Inverse
        // des Abstands unendlich gro wird. Da der Vergleich zweier double-Wert jedoch sinnlos ist, wird der Abstand mit 
        // einem Prozent des aktuell vermuteten Radius verglichen.
        if (abstandMesspunktMittelpunkt < 0.01 * kreisparameter[1]) {
            // Die Fehlermeldung fr den Entwickler wird erzeugt und protokolliert.
            String fehlermeldung = "Der Punkt " + this.messpunkte[i].toString() + " ist fast identisch mit dem "
                    + " Mittelpunkt " + mittelpunkt.toString() + "!";
            Jakobimatrix2d.logger.severe(fehlermeldung);

            // Die Ausnahme wird erzeugt und mit der Fehlermeldung fr den Benutzer initialisiert.
            String jsfMeldung = "Der Punkt " + this.messpunkte[i].toString()
                    + " scheint in der Nhe des Kreismittelpunktes zu liegen! berprfen Sie bitte diesen Punkt.";
            ApplicationRuntimeException applicationRuntimeException = new ApplicationRuntimeException(
                    jsfMeldung);

            throw applicationRuntimeException;
        }

        // Das Inverse des Abstands des Messpunkts vom Mittelpunkt wird berechnet.
        double inverserAbstandMesspunktMittelpunkt = 1.0 / abstandMesspunktMittelpunkt;

        // Die Elemente der Jakobi-Matrix werden initialisiert.
        jakobiMatrix[i][0] = inverserAbstandMesspunktMittelpunkt
                * (mittelpunkt.getX() - this.messpunkte[i].getX());
        jakobiMatrix[i][1] = -1.0;
    }

    return jakobiMatrix;
}

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

/**
 * Dieses Feld berechnet die Jakobi-Matrix 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 Jakobi-Matrix der Modellgleichungen. Der erste Index des Feldes luft ber die Gleichungen, der zweite
 *         Index ber die Kreisparameter.
 * 
 * @see org.apache.commons.math3.analysis.MultivariateMatrixFunction#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]);

    // Das Feld fr die Jakobi-Matrix wird deklariert.
    double[][] jakobiMatrix = new double[this.messpunkte.length][3];

    // In dieser Schleife wird die Jakobi-Matrix initialisiert.
    double abstandMesspunktMittelpunkt = Double.NaN;
    for (int i = 0; i < this.messpunkte.length; i++) {
        // Der Abstand des Messpunktes vom Mittelpunkt wird berechnet.
        abstandMesspunktMittelpunkt = this.messpunkte[i].distance(mittelpunkt);

        // Falls der Messpunkt mit dem Mittelpunkt identisch ist wird eine JSFAusnahme geworfen, da sonst das Inverse
        // des Abstands unendlich gro wird. Da der Vergleich zweier double-Wert jedoch sinnlos ist, wird der Abstand mit 
        // einem Prozent des aktuell vermuteten Radius verglichen.
        if (abstandMesspunktMittelpunkt < 0.01 * kreisparameter[2]) {
            // Die Fehlermeldung fr den Entwickler wird erzeugt und protokolliert.
            String fehlermeldung = "Der Punkt " + this.messpunkte[i].toString() + " ist fast identisch mit dem "
                    + " Mittelpunkt " + mittelpunkt.toString() + "!";
            Jakobimatrix.logger.severe(fehlermeldung);

            // Die Ausnahme wird erzeugt und mit der Fehlermeldung fr den Benutzer initialisiert.
            String jsfMeldung = "Der Punkt " + this.messpunkte[i].toString()
                    + " scheint in der Nhe des Kreismittelpunktes zu liegen! berprfen Sie bitte diesen Punkt.";
            ApplicationRuntimeException applicationRuntimeException = new ApplicationRuntimeException(
                    jsfMeldung);

            throw applicationRuntimeException;
        }

        // Das Inverse des Abstands des Messpunkts vom Mittelpunkt wird berechnet.
        double inverserAbstandMesspunktMittelpunkt = 1.0 / abstandMesspunktMittelpunkt;

        // Die Elemente der Jakobi-Matrix werden initialisiert.
        jakobiMatrix[i][0] = inverserAbstandMesspunktMittelpunkt
                * (mittelpunkt.getX() - this.messpunkte[i].getX());
        jakobiMatrix[i][1] = inverserAbstandMesspunktMittelpunkt
                * (mittelpunkt.getY() - this.messpunkte[i].getY());
        jakobiMatrix[i][2] = -1.0;
    }

    return jakobiMatrix;
}

From source file:org.evors.core.TestUtils.java

public static Matcher<Vector2D> vEquals(final Vector2D v, final double eps) {
    return new BaseMatcher<Vector2D>() {

        @Override//w w w .j  av a2  s. c o m
        public boolean matches(Object item) {
            return ((Vector2D) item).distance(v) < eps;
        }

        @Override
        public void describeTo(Description description) {
            description.appendText("Vector does not equal expected vector " + v.toString());
        }
    };
}

From source file:org.evors.core.TestUtils.java

public static void assertTwoVector2DsEqual(Vector2D v1, Vector2D v2, boolean assertion) {
    boolean result;
    if (assertion)
        result = v1.distance(v2) < 0.0001;
    else//from w w w . j av  a 2  s. c om
        result = v1.distance(v2) > 0.0001;
    assertTrue(String.format("Expected: %s, actual: %s", v1.toString(), v2.toString()), result);
}