Blackthorn

Get vC where vA.Y == vB.Y

Oct 29th, 2014
431
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.69 KB | None | 0 0
  1. public static Vector2 GetC(Vector2 vA, Vector2 vB, double angleC)
  2. {
  3.     //   vA - - - vD - - - vB
  4.     //    \        |       /
  5.     //     \       |      /
  6.     //      \      |     /
  7.     //       \     |    /
  8.     //        \    |   /
  9.     //         \   |  /
  10.     //          \  | /
  11.     //            \|/
  12.     //            vC
  13.  
  14.     double angleA = 180 - angleC - 90;
  15.     Vector2 vD = (vA + vB)/2;
  16.     double lengthAD = (vA - vB).Length();
  17.     double lengthCD = lengthAD * Math.Cos(angleA);
  18.  
  19.     // Solve for m
  20.     double m = lengthCD / lengthAD;
  21.  
  22.     // Solve for b
  23.     double b = vA.Y - m * vA.X;
  24.  
  25.     Vector2 vC = new Vector2(vD.X, (float)m * vD.X + (float)b);
  26.  
  27.     return vC;
  28. }
Advertisement
Add Comment
Please, Sign In to add comment