| Precedente | Altri Applet | Successivo |
Esattamente come il precedente, ma ho fatto qualche aggiunta al disegno per illustrare meglio la funzione
dei parametri
r0 e r1.
|
|
Istruzioni: Facendo click&drag con il mouse sulla figura si possono modificare i parametri. In particolare: Movimento orizzontale per modificare r0 Movimento verticale per modificare r1 r0 è il raggio del cerchio blu, mentre r1 è il raggio del cerchio verde. Il cursore permette di muovere un punto rosso la cui ordinata è r1 e la cui ascissa è r0. |
| Codice sorgente: simple3.java |
|---|
import java.applet.Applet;
import java.awt.event.*;
import java.awt.*;
public class simple3 extends Applet
implements MouseListener, MouseMotionListener {
int r0 = 100;
int r1 = 40;
public void paint(Graphics g) {
int n = 400;
int x0=0,y0=0,x1,y1;
int cx = getSize().width/2;
int cy = getSize().height/2;
g.setColor(Color.black);
for(int i=0;i <=n;i++)
{
double rho = 2*Math.PI*i/n;
double theta = 16*Math.PI*i/n;
double x = r0*Math.cos(rho) + r1*Math.cos(theta);
double y = r0*Math.sin(rho) + r1*Math.sin(theta);
// cambio sistema di riferimento
x1 = cx+(int)x;
y1 = cy+(int)y;
// disegno
if(i>0) g.drawLine(x0,y0,x1,y1);
x0 = x1;
y0 = y1;
}
int rr0 = r0>0?r0:-r0;
int rr1 = r1>0?r1:-r1;
int px = cx+r0;
int py = cy+r1;
g.setColor(Color.blue);
g.drawOval(cx-rr0,cy-rr0,2*rr0,2*rr0);
g.setColor(Color.green);
g.drawOval(px-rr1,cy-rr1,2*rr1,2*rr1);
g.setColor(Color.red);
g.fillOval(px-3,py-3,6,6);
g.fillOval(px-3,cy-3,6,6);
g.drawLine(px,py,px,cy);
}
public void init() {
//addMouseListener(this);
addMouseMotionListener(this);
}
public void mouseClicked(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {System.out.println("Yuk");}
public void mouseMoved(MouseEvent e) {}
public void mouseDragged(MouseEvent e) {
int x = e.getX(), y = e.getY();
r0 = x-getSize().width/2;
r1 = y-getSize().height/2;
repaint();
e.consume();
}
}
|
| Precedente | Altri Applet | Successivo |