test_class.file: app/src/test/java/org/hwyl/sexytopo/control/util/Space3DUtilsTest.java
test_class.identifier: Space3DUtilsTest
test_case.body: @Test
      public void testTransform10mNEUAndBack() {
          Leg northEastAndUp10M = new Leg(10, 45, 45);
          Coord3D result = Space3DUtils.toCartesian(Coord3D.ORIGIN, northEastAndUp10M);
          Leg reverse = new Leg(10, 225, -45);
          result = Space3DUtils.toCartesian(result, reverse);
          assertEquals(Coord3D.ORIGIN, result);
      }
test_case.class_method_signature: Space3DUtilsTest.testTransform10mNEUAndBack()
test_case.full_signature: @Test public void testTransform10mNEUAndBack()
test_case.identifier: testTransform10mNEUAndBack
test_case.invocations: toCartesian toCartesian assertEquals
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testTransform10mNEUAndBack()
focal_class.file: app/src/main/java/org/hwyl/sexytopo/control/util/Space3DUtils.java
focal_class.identifier: Space3DUtils
focal_class.class_method_signature: Space3DUtils.toCartesian(Coord3D start, Leg leg)
focal_class.full_signature: public static Coord3D toCartesian(Coord3D start, Leg leg)
focal_class.identifier: toCartesian
focal_class.modifiers: public static
focal_class.parameters: (Coord3D start, Leg leg)
focal_class.return: Coord3D
focal_class.signature: Coord3D toCartesian(Coord3D start, Leg leg)
focal_method.body: public static Coord3D toCartesian(Coord3D start, Leg leg) {
          double r = leg.getDistance();
          double phi = Math.toRadians(leg.getAzimuth());
          double theta = Math.toRadians(leg.getInclination());
  
          double y = r * Math.cos(theta) * Math.cos(phi);
          double x = r * Math.cos(theta) * Math.sin(phi);
          double z = r * Math.sin(theta);
  
          x += start.x;
          y += start.y;
          z += start.z;
  
          return new Coord3D(x, y, z);
      }
focal_method.class_method_signature: Space3DUtils.toCartesian(Coord3D start, Leg leg)
focal_method.full_signature: public static Coord3D toCartesian(Coord3D start, Leg leg)
focal_method.identifier: toCartesian
focal_method.invocations: getDistance toRadians getAzimuth toRadians getInclination cos cos cos sin sin
focal_method.modifiers: public static
focal_method.parameters: (Coord3D start, Leg leg)
focal_method.return: Coord3D
focal_method.signature: Coord3D toCartesian(Coord3D start, Leg leg)