CCW判定

ccw.png
(1)
\begin{vmatrix} a_x&a_y&1\\ b_x&b_y&1\\ c_x&c_y&1\\ \end{vmatrix} = \begin{vmatrix} a_x-c_x&a_y-c_y\\ b_x-c_x&b_y-c_y\\ \end{vmatrix}

0だったら縮退三角形

三角形の頂点が反時計周りかどうか判定する

/**三角形tの頂点が反時計周りかどうか判定する*/
    bool isCCW(const tri& t) {
        if (cross2D(t.c - t.b, t.b - t.a) > 0) return true;//work fine
        return false;
    }

外積を使います

cross-product triangle triangle-cross-product

サポートサイト Wikidot.com cross-producttriangletriangle-cross-product