Class Scalar3d

java.lang.Object
org.opentrafficsim.core.math.Scalar3d

public final class Scalar3d extends Object
Calculate between Polar (spherical) and Cartesian (xyz) coordinates.

Copyright (c) 2013-2024 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.

Author:
Alexander Verbraeck, Peter Knoppers
  • Method Details

    • polarToCartesian

      public static double[] polarToCartesian(double r, double theta, double phi)
      Constructor.
      Parameters:
      r - the radius
      theta - the angle from the z direction
      phi - the projected angle in the xy-plane from the x direction
      Returns:
      a double array [x, y, z] with cartesian coordinates
    • cartesianToRadius

      public static double cartesianToRadius(double x, double y, double z)
      Get the (polar) radius based on Cartesian coordinates.
      Parameters:
      x - the x-coordinate
      y - the y-coordinate
      z - the z-coordinate
      Returns:
      the radius, which is the distance from (0,0,0)
    • cartesianToTheta

      public static Direction cartesianToTheta(double x, double y, double z)
      Get the (polar) theta angle, which is the angle from the z-direction, from Cartesian coordinates.
      Parameters:
      x - the x-coordinate
      y - the y-coordinate
      z - the z-coordinate
      Returns:
      the radius, which is the distance from (0,0,0)
    • cartesianToPhi

      public static Direction cartesianToPhi(double x, double y)
      Get the (polar) phi angle, which is the projected angle in the xy-plane from the x direction.
      Parameters:
      x - the x-coordinate
      y - the y-coordinate
      Returns:
      the projected angle of direction in the xy-plane