Guest User

Untitled

a guest
Apr 1st, 2022
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.69 KB | None | 0 0
  1. Vector2 GetLinesCrossPoint(Vector2 A, Vector2 B, Vector2 C, Vector2 D)
  2. {
  3.     var a1 = B.Y - A.Y;
  4.     var b1 = A.X - B.X;
  5.     var c1 = a1 * (A.X) + b1 * (A.Y);
  6.     var a2 = D.Y - C.Y;
  7.     var b2 = C.X - D.X;
  8.     var c2 = a2 * (C.X) + b2 * (C.Y);
  9.     var determinant = a1 * b2 - a2 * b1;
  10.     if (determinant == 0)
  11.         return new Vector2(float.NaN, float.NaN);
  12.     else
  13.     {
  14.         var x = (b2 * c1 - b1 * c2) / determinant;
  15.         var y = (a1 * c2 - a2 * c1) / determinant;
  16.         return new Vector2(x, y);
  17.     }
  18. }
  19. bool LineContainsPoint(Vector2 point, Vector2 A, Vector2 B)
  20. {
  21.     var length = Vector2.Distance(A, B);
  22.     var sum = Vector2.Distance(A, point) + Vector2.Distance(B, point);
  23.     return sum.IsBetween(length - 0.01f, length + 0.01f);
  24. }
Advertisement
Add Comment
Please, Sign In to add comment