Example usage for org.apache.commons.math3.geometry.euclidean.threed FieldVector3D crossProduct

List of usage examples for org.apache.commons.math3.geometry.euclidean.threed FieldVector3D crossProduct

Introduction

In this page you can find the example usage for org.apache.commons.math3.geometry.euclidean.threed FieldVector3D crossProduct.

Prototype

public FieldVector3D<T> crossProduct(final Vector3D v) 

Source Link

Document

Compute the cross-product of the instance with another vector.

Usage

From source file:org.orekit.utils.FieldPVCoordinatesTest.java

@Test
public void testGetMomentum() {
    //setup//from w  w w  . j  a  v a  2 s. com
    DerivativeStructure oneDS = new DerivativeStructure(1, 1, 1);
    DerivativeStructure zeroDS = new DerivativeStructure(1, 1, 0);
    FieldVector3D<DerivativeStructure> zero = new FieldVector3D<DerivativeStructure>(zeroDS, zeroDS, zeroDS);
    FieldVector3D<DerivativeStructure> i = new FieldVector3D<DerivativeStructure>(oneDS, zeroDS, zeroDS);
    FieldVector3D<DerivativeStructure> j = new FieldVector3D<DerivativeStructure>(zeroDS, oneDS, zeroDS);
    FieldVector3D<DerivativeStructure> k = new FieldVector3D<DerivativeStructure>(zeroDS, zeroDS, oneDS);
    FieldVector3D<DerivativeStructure> p = new FieldVector3D<DerivativeStructure>(oneDS,
            new DerivativeStructure(1, 1, -2), new DerivativeStructure(1, 1, 3));
    FieldVector3D<DerivativeStructure> v = new FieldVector3D<DerivativeStructure>(
            new DerivativeStructure(1, 1, -9), new DerivativeStructure(1, 1, 8),
            new DerivativeStructure(1, 1, -7));

    //action + verify
    Assert.assertEquals(new FieldPVCoordinates<DerivativeStructure>(p, v).getMomentum(), p.crossProduct(v));
    //check simple cases
    Assert.assertEquals(new FieldPVCoordinates<DerivativeStructure>(i, i.scalarMultiply(-1)).getMomentum(),
            zero);
    Assert.assertEquals(new FieldPVCoordinates<DerivativeStructure>(i, j).getMomentum(), k);
}

From source file:org.orekit.utils.FieldPVCoordinatesTest.java

@Test
public void testGetAngularVelocity() {
    //setup//from   www.  j a v a2  s .  c o  m
    DerivativeStructure oneDS = new DerivativeStructure(1, 1, 1);
    DerivativeStructure zeroDS = new DerivativeStructure(1, 1, 0);
    FieldVector3D<DerivativeStructure> zero = new FieldVector3D<DerivativeStructure>(zeroDS, zeroDS, zeroDS);
    FieldVector3D<DerivativeStructure> i = new FieldVector3D<DerivativeStructure>(oneDS, zeroDS, zeroDS);
    FieldVector3D<DerivativeStructure> j = new FieldVector3D<DerivativeStructure>(zeroDS, oneDS, zeroDS);
    FieldVector3D<DerivativeStructure> k = new FieldVector3D<DerivativeStructure>(zeroDS, zeroDS, oneDS);
    FieldVector3D<DerivativeStructure> p = new FieldVector3D<DerivativeStructure>(oneDS,
            new DerivativeStructure(1, 1, -2), new DerivativeStructure(1, 1, 3));
    FieldVector3D<DerivativeStructure> v = new FieldVector3D<DerivativeStructure>(
            new DerivativeStructure(1, 1, -9), new DerivativeStructure(1, 1, 8),
            new DerivativeStructure(1, 1, -7));

    //action + verify
    Assert.assertEquals(new FieldPVCoordinates<DerivativeStructure>(p, v).getAngularVelocity(),
            p.crossProduct(v).scalarMultiply(p.getNormSq().reciprocal()));
    //check extra simple cases
    Assert.assertEquals(
            new FieldPVCoordinates<DerivativeStructure>(i, i.scalarMultiply(-1)).getAngularVelocity(), zero);
    Assert.assertEquals(
            new FieldPVCoordinates<DerivativeStructure>(i.scalarMultiply(2), j).getAngularVelocity(),
            k.scalarMultiply(0.5));
}