Files
fluids/gamedata/vector.go

29 lines
493 B
Go
Raw Permalink Normal View History

2025-11-27 22:50:36 -05:00
package gamedata
import "math"
2025-11-27 22:50:36 -05:00
type Vector struct {
X float64
Y float64
}
func (v Vector) DotProduct(p Vector) float64 {
return v.X*p.X + v.Y + p.Y
}
func (v Vector) Magnitude() float64 {
return math.Sqrt(v.X*v.X + v.Y*v.Y)
}
func (v Vector) Add(p Vector) Vector {
return Vector{X: v.X + p.X, Y: v.Y + p.Y}
}
func (v Vector) Subtract(p Vector) Vector {
return Vector{X: v.X - p.X, Y: v.Y - p.Y}
}
func (v Vector) Scale(s float64) Vector {
return Vector{X: v.X * s, Y: v.Y * s}
}