Explorar el Código

Adding angle to for vector2

Christian Wolfgang hace 5 años
padre
commit
2e6ad0a78f
Se han modificado 1 ficheros con 8 adiciones y 0 borrados
  1. 8 0
      math32/vector2.go

+ 8 - 0
math32/vector2.go

@@ -420,3 +420,11 @@ func (v *Vector2) AlmostEquals(other *Vector2, tolerance float32) bool {
 	}
 	return false
 }
+
+// AngleTo returns the angle between this vector and other
+func (v *Vector2) AngleTo(other *Vector2) float32 {
+
+	theta := v.Dot(other) / (v.Length() * other.Length())
+	// clamp, to handle numerical problems
+	return Acos(Clamp(theta, -1, 1))
+}