Ciao a tutti ragazzi!!! Mi chiamo Patrick e studio informatica all'università... Ho un problema che non riesco a risolvere purtroppo.. Mi spiego... Sto creando un'Applet in java che deve disegnare ellissi o cerchi all'interno di una circonferenza immaginaria... Cioè, io gli passo una variabile che gli dice il numero di cerchi da disegnare e lui li crea... Ora però, ho dei problemi sia con la creazione dei cerchi, sia con il disegno delle linee... I cerchi non vengono disegnati sempre nelle giuste posizioni, mentre le linee collegano i cerchi tra loro, ma a volte si fermano qualche pixel prima del cerchio, oppure sono un pò troppo spostate sopra o sotto e di conseguenza lo mancano...
Qui sotto vi posto il codice che ho utilizzato... Spero riusciate a essermi d'aiuto...
codice:
import java.applet.*;
import java.awt.*;
import java.lang.*;
public class Bivett extends Applet {
public static int Circ = 360; // i gradi della circonferenza
public int n = 0; //numero di cerchi da creare
public double q = 0; //variabile che conterrà il risultato della divisione 360/n ...
public int si =0; //indica lo stato iniziale della macchina
public double Vettx [] ; //vettore delle x
public double Vetty [] ; //vettore delle y
public void init() {
int i; //variabile per il ciclo for
n = 6; // numero di cerchi da disegnare
Vettx = new double[n];
Vetty = new double[n];
setBackground(Color.white);
q = 360/n;
for ( i=0; i<=n-1; i++ ) {
Vettx[i] = (((Math.cos((i*q))*250)+200)); //calcolo la posizione nell'asse X dei cerchi
Vetty[i] = (((Math.sin((i*q))*250)+200)); //qui delle y
}
}
public void paint(Graphics g) {
int i = 0;
for ( i=0; i<=n-1; i++ ) {
g.fillOval((int)Vettx[i], (int)Vetty[i], 40, 40); //disegno i cerchi passando le coordinate e impostando la dimensione a 40 pixel
g.drawLine((int)Vettx[i], (int)Vetty[i], (int)Vettx[i+1], (int)Vetty[i+1]); //disegno le righe che devono collegare i cerchi tra loro
}
g.drawString(""+Vettx[0]+" "+ Vetty[0], 10,10); //queste 4 righe sono messe solo per controllare la posizione e le coordinate dove vengono disegnati i cerchi
g.drawString(""+Vettx[1]+" "+ Vetty[1], 20,20);
g.drawString(""+Vettx[2]+" "+ Vetty[2], 40,40);
g.drawString(""+Vettx[3]+" "+ Vetty[3], 60,60);
}
}
Per qualsiasi altra spiegazione sono sempre qui
!!!