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...![]()
Per qualsiasi altra spiegazione sono sempre quicodice: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); } }!!!

!!!
Rispondi quotando