import java.awt.*;
import java.applet.*;
import java.awt.geom.Ellipse2D;
import javax.swing.JOptionPane;

public class Cerchi extends Applet {
	private double x, y, r,
				   stepx, stepy, stepr;
	private int n;
	
	public void init() {
		x = leggiDouble("x centro?");
		y = leggiDouble("y centro?");
		r = leggiDouble("raggio?");
		stepx = leggiDouble("passo x?");
		stepy = leggiDouble("passo y?");
		stepr = leggiDouble("passo raggio?");
		n = leggiInt("quanti cerchi?");
	}

	public void paint(Graphics g) {
		Graphics2D g2D = (Graphics2D)g;
		double xcorr, ycorr, rcorr;
		Ellipse2D.Double cerchio;
		for(int i = 0; i < n; i++) { // buone ragioni per partire da 0?
			xcorr = x + i * stepx;
			ycorr = y + i * stepy;
			rcorr = r + i * stepr;
			cerchio = new Ellipse2D.Double(xcorr - rcorr, ycorr - rcorr, 2 * rcorr, 2 * rcorr);
			g2D.draw(cerchio);
//			g2D.draw(new Ellipse2D.Double(xcorr - rcorr, ycorr - rcorr, 2 * rcorr, 2 * rcorr));
		}
	}
	
	private double leggiDouble(String msg) {
		do {
			try {
				return Double.parseDouble(JOptionPane.showInputDialog(msg).trim());
			}
			catch(NumberFormatException e) {
			}
			catch(NullPointerException e) {
			}
		} while(true);
	}
	
	private int leggiInt(String msg) {
		do {
			try {
				return Integer.parseInt(JOptionPane.showInputDialog(msg).trim());
			}
			catch(NumberFormatException e) {
			}
			catch(NullPointerException e) {
			}
		} while(true);
	}
}


Questa la bacheca di Informatica Grafica, corso di laurea specialistica in Ing. Edile-architettura
by FdA
ultima modifica: 02/02/2005 11.30