APL/APL2.1/TP08/Polyligne/Spirale.java

34 lines
905 B
Java
Raw Normal View History

2022-03-14 17:26:22 +01:00
import java.awt.Point;
public class Spirale implements ProducteurDePoints {
private static final int centreX = 100;
private static final int centreY = 100;
private static final double rayon = 90.0;
private static final double radiusIncrement = -0.1;
private static final double angleDepart = 0.0;
private static final double angleIncrement = Math.PI / 30;
private double angle;
private double curRadius;
public Spirale() {
angle = angleDepart;
curRadius = rayon;
}
public Point suivant() {
Point p = null;
angle += angleIncrement;
curRadius += radiusIncrement;
if (curRadius > 0.0) {
p = new Point(
(int)(Math.cos(angle) * curRadius),
(int)(Math.sin(angle) * curRadius)
);
p.translate(centreX, centreY);
}
return p;
}
}