spatial/r3: implement Vec.Cross

This commit is contained in:
Sebastien Binet
2020-03-25 15:31:09 +01:00
parent 2321f504d0
commit e98ce15ff2
2 changed files with 32 additions and 0 deletions

View File

@@ -38,6 +38,15 @@ func (p Vec) Dot(q Vec) float64 {
return p.X*q.X + p.Y*q.Y + p.Z*q.Z
}
// Cross returns the cross product p×q.
func (p Vec) Cross(q Vec) Vec {
return Vec{
p.Y*q.Z - p.Z*q.Y,
p.Z*q.X - p.X*q.Z,
p.X*q.Y - p.Y*q.X,
}
}
// Box is a 3D bounding box.
type Box struct {
Min, Max Vec