| Precedente | Altri Applet | Successivo |
È come l'esempio simple 2, ma vengono disegnate 8 curve con colori
differenti e valori leggermente diversi per il parametro pr1.
Il risultato è graficamente accattivante.
|
|
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 il valore di r1 nella curva rossa |
| Codice sorgente: simple4.java |
|---|
import java.applet.Applet;
import java.awt.event.*;
import java.awt.*;
public class simple4 extends Applet
implements MouseListener, MouseMotionListener {
double r0 = 100.0;
double r1 = 40.0;
public void paint(Graphics g) {
int n = 200;
int x0=0,y0=0,x1,y1;
for(int j=0;j<8;j++)
{
double r1j = r1 + j*4;
g.setColor(new Color(255-j*20,j*30,0));
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) + r1j*Math.cos(theta);
double y = r0*Math.sin(rho) + r1j*Math.sin(theta);
// cambio sistema di riferimento
x1 = getSize().width/2+(int)x;
y1 = getSize().height/2+(int)y;
// disegno
if(i>0) g.drawLine(x0,y0,x1,y1);
x0 = x1;
y0 = y1;
}
}
}
public void init() {
setBackground(Color.black);
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) {}
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 |