Added almost equal for vector2 and vector4
@@ -404,3 +404,13 @@ func (v *Vector2) InTriangle(p0, p1, p2 *Vector2) bool {
return s >= 0 && t >= 0 && (s+t) < 2*A*sign
}
+
+// AlmostEquals returns whether the vector is almost equal to another vector within the specified tolerance.
+func (v *Vector2) AlmostEquals(other *Vector2, tolerance float32) bool {
+ if (Abs(v.X - other.X) < tolerance) &&
+ (Abs(v.Y - other.Y) < tolerance) {
+ return true
+ }
+ return false
+}
@@ -630,3 +630,15 @@ func (v *Vector4) Clone() *Vector4 {
return NewVector4(v.X, v.Y, v.Z, v.W)
+func (v *Vector4) AlmostEquals(other *Vector4, tolerance float32) bool {
+ (Abs(v.Y - other.Y) < tolerance) &&
+ (Abs(v.Z - other.Z) < tolerance) &&
+ (Abs(v.W - other.W) < tolerance) {