Certo.
Sono necessari solo due vertici del rettangolo, cioè quelli di una diagonale.
Supponendo che il punto a sia quello in alto a sinistra, condizione ottenibile con un semplice algoritmo:
Chiamiamoli ax, ay, bx, by.
- Codice:
if(ax<xx && xx<bx && by<yy && yy<ay) return VERO
else return FALSO
Se il problema e' ordinare i punti in modo da trovare quello in alto a sinistra e quello in basso a destra:
Supponiamo che le coordinate del rettangolo siano contenute in una matrice 4x2, in riga i punti, in colonna x e y.
- Codice:
for(punto=1;punto<=3;punto++)
{
a=b=0;
if(rettangolo[punto][0]<=rettangolo[a][0] && rettangolo[punto][1]>=rettangolo[a][1]) a=punto;
if(rettangolo[punto][0]>=rettangolo[a][0] && rettangolo[punto][1]<=rettangolo[a][1]) b=punto;
}