perpendicular static method

Returns a vector perpendicular to o by crossing it with its least-aligned cardinal axis.

Implementation

static Vector3Base perpendicular(Vector3Base o) {
  double min = o.x.abs();
  Vector3Base cardinalAxis = createFactory(1.0, 0.0, 0.0);

  if ((o.y).abs() < min) {
    min = (o.y).abs();
    cardinalAxis = createFactory(0.0, 1.0, 0.0);
  }

  if ((o.z).abs() < min) {
    cardinalAxis = createFactory(0.0, 0.0, 1.0);
  }

  return o.crossProduct(cardinalAxis) as Vector3Base;
}