// Copyright ©2019 The Gonum Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package r2 // Vec is a 2D vector. type Vec struct { X, Y float64 } // Add returns the vector sum of p and q. func (p Vec) Add(q Vec) Vec { p.X += q.X p.Y += q.Y return p } // Sub returns the vector sum of p and -q. func (p Vec) Sub(q Vec) Vec { p.X -= q.X p.Y -= q.Y return p } // Scale returns the vector p scaled by f. func (p Vec) Scale(f float64) Vec { p.X *= f p.Y *= f return p } // Box is a 2D bounding box. type Box struct { Min, Max Vec }