Size: 503 bytes.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
// cs/renderer/geo/cross.cc
#include "cs/renderer/geo/cross.hh"

#include "cs/renderer/geo/point3.h"
#include "cs/renderer/geo/vector3.h"

using p3 = ::cs::renderer::geo::Point3;
using v3 = ::cs::renderer::geo::Vector3;

v3 cs::renderer::geo::cross(v3 uno, v3 dos) {
  // Make the vector have unit magnitude
  const v3 a = uno.unit();
  const v3 b = dos.unit();

  float cx = a.y * b.z - a.z * b.y;
  float cy = a.z * b.x - a.x * b.z;
  float cz = a.x * b.y - a.y * b.x;

  return v3(p3(cx, cy, cz));
}
v0 (commit) © 2025 @p13i.io | Load balancer proxied to: cs-code-viewer-1:8080 in 3ms.