Lines Matching defs:Vector
28 type Vector struct { struct
29 X, Y, Z float64
33 func (v Vector) ApproxEqual(ov Vector) bool {
38 func (v Vector) String() string { return fmt.Sprintf("(%0.24f, %0.24f, %0.24f)", v.X, v.Y, v.Z) }
41 func (v Vector) Norm() float64 { return math.Sqrt(v.Dot(v)) }
44 func (v Vector) Norm2() float64 { return v.Dot(v) }
47 func (v Vector) Normalize() Vector {
55 func (v Vector) IsUnit() bool {
61 func (v Vector) Abs() Vector { return Vector{math.Abs(v.X), math.Abs(v.Y), math.Abs(v.Z)} }
64 func (v Vector) Add(ov Vector) Vector { return Vector{v.X + ov.X, v.Y + ov.Y, v.Z + ov.Z} }
67 func (v Vector) Sub(ov Vector) Vector { return Vector{v.X - ov.X, v.Y - ov.Y, v.Z - ov.Z} }
70 func (v Vector) Mul(m float64) Vector { return Vector{m * v.X, m * v.Y, m * v.Z} }
73 func (v Vector) Dot(ov Vector) float64 { return v.X*ov.X + v.Y*ov.Y + v.Z*ov.Z }
76 func (v Vector) Cross(ov Vector) Vector {
85 func (v Vector) Distance(ov Vector) float64 { return v.Sub(ov).Norm() }
88 func (v Vector) Angle(ov Vector) s1.Angle {
104 func (v Vector) Ortho() Vector {
118 func (v Vector) LargestComponent() Axis {
134 func (v Vector) SmallestComponent() Axis {
159 func (v Vector) Cmp(ov Vector) int {