Diamètre, périmètre et surface d'un cercle et longueur d'un arc

Dans l'article Droite et distance entre deux points, on a vu comment faire la liaison entre deux points de coordonnées x et y pour créer un segment en Java. Dans ce tutoriel, on va utiliser la classe Point.java pour dessiner un cercle de centre p(x, y) et de rayon r. Commençons par la création de la classe Cercle:

public class Point {
double x,y;
public Point(double x, double y){
this.x = x;
this.y = y;
}
}

public class Cercle {

Point centre;
double rayon;

public Cercle(Point centre, double rayon){
this.centre=centre;
this.rayon=rayon;
}
}

Définitions

Dans un cercle, on doit connaitre:
  • Le diamètre: composé de deux rayons, sa longueur est 2r.
  • La longueur d'arc: est une partie du cercle sous tendu par une angle alpha exprimée en radians, est égale à alpha*r.
  • Le Périmètre: est la longueur pour un angle alpha de 2*PI, la longueur vaut 2*r*PI (PI=3.14).
  • La surface ou l'air du cercle: PI*r².
rayon, diamètre, arc et surface d'un cercle en java

Le code Java suivant implémente les quatre méthodes pour obtenir le diamètre, la longueur d'arc, le périmètre et la surface: getDiametre(), getLongueur(), getLongueurArc() et getSurface().

public class Cercle {

Point centre;
static double rayon;

public Cercle(Point centre, double rayon){
this.centre=centre;
this.rayon=rayon;
}

static double getDiametre(){
return rayon*2;
}

static double getLongueur(){
return 2*3.14*rayon;
}

static double getSurface(){
return 3.14*Math.pow(rayon, 2);
}

static double getLongueurArc(double alpha){
return 3.14*alpha;
}

public static void main(String[] args) {

Cercle cercle = new Cercle(new Point(0, 0), 8);
System.out.println("Diamètre: "+Cercle.getDiametre());
System.out.println("Longueur: "+Cercle.getLongueur());
//longueur de l'arc avec une angle de 55 radians
double alpha = 55;
System.out.println("Longueur de l'arc: "+Cercle.getLongueurArc(55));
System.out.println("Surface: "+Cercle.getSurface());
}
}
Sortie
Diamètre: 16.0
Périmètre: 50.24
Longueur de l'arc: 172.70000000000002
Surface: 200.96