コード例 #1
0
ファイル: Vector2d.cs プロジェクト: Sumrix/Billiard
 public static double Scalar(Vector2d a, Vector2d b)
 {
     return(a.x * b.x + a.y * b.y);
 }
コード例 #2
0
ファイル: Vector2d.cs プロジェクト: Sumrix/Billiard
 /// <summary>
 /// Вычислить вектор отражения
 /// </summary>
 /// <param name="a">Падающий вектор</param>
 /// <param name="n">Вектор нормали отражения</param>
 /// <returns></returns>
 public static Vector2d Reflection(Vector2d a, Vector2d n)
 {
     return(a - 2 * n * Vector2d.Scalar(a, n) / Vector2d.Scalar(n, n));
 }