答案 0 :(得分:1)
我认为你应该把矩形的中间考虑为中心(0,0),而矩形的其他4个点必须有一个坐标,如(width / 2; hight / 2),右上角点,( - widht / 2; hight / 2)表示左上角等 之后,您可以使用此代码
float sign (fPoint p1, fPoint p2, fPoint p3){
return (p1.x - p3.x) * (p2.y - p3.y) - (p2.x - p3.x) * (p1.y - p3.y);}
bool PointInTriangle (fPoint mousePos, fPoint v1, fPoint v2, fPointev3) {
bool b1, b2, b3;
b1 = sign(mousePos, v1, v2) < 0.0f;
b2 = sign(mousePos, v2, v3) < 0.0f;
b3 = sign(mousePos, v3, v1) < 0.0f;
return ((b1 == b2) && (b2 == b3));}