Punkt in Kreis in Processing

Hinzugefügt am von Steffen Fiedler

Powered by Processing.js

Beim Test ob sich ein Punkt, in diesem Fall die Mausposition, in der Fläche eines Kreises befindet bedarf es wenig Aufwand. Indem der Abstand zwischen dem Punkt und dem Zentrum des Kreises mit dem Radius dessen verglichen wird, erhält man eine konkrete Aussage ob der Fall zutrifft oder nicht. Der dist() Befehl erleichtert uns das Arbeiten und liefert die Entfernung zwischen zwei Punkten ohne das mit Quadrat oder »Wurzel aus...« gearbeitet werden muss.

Der Sketch

float x; // x-Position
float y; // y-Position
float rad = 70; // Radius

void setup () {
  size(550, 200);
  noStroke ();
  smooth ();
  
  // Kreis im Sketch zentrieren
  x = width / 2;
  y = height / 2;
}

void draw () {
  background (79);
  
  /* Wenn der Abstand zwischen Maus und 
   * Kreiszentrum kleiner als der Radius 
   * des Kreises ist -> Cursor im Kreis!
   */
  if (dist (mouseX, mouseY, x, y) < rad) {
    fill (229, 90, 38);
  }else{
    fill (138, 170, 178);
  }
  // Zeichne Kreis
  ellipse (x, y, rad * 2, rad * 2);
}