From t-o-f

Processing: Zone interactive

Contents (hide)

  1. 1. Déterminer si un point est dans un cercle
  2. 2. Déterminer si un point est dans un rectangle

1.  Déterminer si un point est dans un cercle

distance = dist( pointX , pointY , ellipseX , ellipseY ) ;
if ( distance < rayon ) {
        // le point est dans le cercle
}
float distance = dist( pointX , pointY , ellipseX , ellipseY );
if ( distance < rayon ) {
        // le point est dans le cercle
        fill(255);
} else {
        fill(0);
}
ellipse( ellipseX , ellipseY , rayon * 2 , rayon * 2);

2.  Déterminer si un point est dans un rectangle

Avec rectMode(CORNER):

rectMode(CORNER);
float gauche = rectX ;
float droite = rectX+rectW;
float haut = rectY;
float bas = rectY+rectH;
if ( pointX > gauche && pointX < droite && pointY > haut && pointY < bas ) {
        // le point est dans le rectangle
        fill(255);
} else {
        fill(0);
}
rect( rectX , rectY , rectW , rectH );

Avec rectMode(CENTER):

rectMode(CENTER);
float gauche = rectX - rectW/2;
float droite = rectX+rectW/2;
float haut = rectY - rectH/2;
float bas = rectY+rectH/2;
if ( pointX > gauche && pointX < droite && pointY > haut && pointY < bas ) {
        // le point est dans le rectangle
        fill(255);
} else {
        fill(0);
}
rect( rectX , rectY , rectW , rectH );
Récupéré sur http://wiki.t-o-f.info/Processing/ZoneInteractive
Page mise à jour le 19 January 2016 à 13h30