コード例 #1
0
ファイル: MathAid.cs プロジェクト: SamarSamir9/dcel
        /// <summary>
        /// Returns whether x is in triangle(abc)
        /// </summary>
        public static bool TriangleTest(VecRat2 a, VecRat2 b, VecRat2 c, VecRat2 x)
        {
            int s1 = Rational.Sign(TurnTest(a, b, c));
            int s2 = Rational.Sign(TurnTest(a, b, x));

            if (s1 != s2)
            {
                return(false);
            }
            int s3 = Rational.Sign(TurnTest(b, c, x));

            if (s2 != s3)
            {
                return(false);
            }
            int s4 = Rational.Sign(TurnTest(c, a, x));

            return(s3 == s4);
        }
コード例 #2
0
ファイル: GeomAid.cs プロジェクト: SamarSamir9/dcel
 public static int TurnTest(VecRat2 a, VecRat2 b, VecRat2 c)
 {
     return(Rational.Sign(TriangleTwiceSignedArea(a, b, c)));
 }