private boolean isPointsInTriangle(int a, int b, int c, int[] verts) {
	Point2D pa = points[verts[a]];
	Point2D pb = points[verts[b]];
	Point2D pc = points[verts[c]];
	final double e = 1e-6;
	double abcSquare = square(pa,pb,pc);
	
	for (Point2D pd : points) {
	    // если точки совпадают
	    if (pd.equals(pa) || pd.equals(pb) || pd.equals(pc))
		continue;
	    double abdSquare = square(pa, pb, pd);
	    double adcSquare = square(pa, pd, pc);
	    double dbcSquare = square(pd, pb, pc);
	    
	    // если треугольник выржден в линию
	    if (abdSquare == 0 || adcSquare == 0 || dbcSquare == 0)
		continue;
	    
	    double sum = abdSquare + adcSquare + dbcSquare;
	    if (sum - abcSquare < e)
		return true;
	}
	return false;
    }