cross function

List<double> cross(
  1. List<double> out,
  2. List<double> a,
  3. List<double> b
)

Computes the cross product of two vec3's

@param {vec3} out the receiving vector @param {ReadonlyVec3} a the first operand @param {ReadonlyVec3} b the second operand @returns {vec3} out

Implementation

List<double> cross(List<double> out, List<double> a, List<double> b) {
  final ax = a[0], ay = a[1], az = a[2];
  final bx = b[0], by = b[1], bz = b[2];

  out[0] = ay * bz - az * by;
  out[1] = az * bx - ax * bz;
  out[2] = ax * by - ay * bx;
  return out;
}