|
- Applets : 3D : Kugel 2 -
Eine Kugel mit Beleuchtungs-Effekt als Java-Applet.
Kugel2.java
import java.awt.*;
import java.awt.geom.*;
import java.applet.*;
public class Kugel2 extends Applet {
public void init() {
setBackground(new Color(255,255,255));
}
Image buffer;
Graphics2D gBuffer;
AffineTransform at;
public void paint(Graphics g) {
// Double-Buffering
if (buffer==null) {
buffer=createImage(this.getSize().width, this.getSize().height);
gBuffer=(Graphics2D)buffer.getGraphics();
}
// Antialiasing
gBuffer.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
// Neigung um 30 Grad
at = AffineTransform.getRotateInstance(Math.toRadians(-30),200,200);
gBuffer.setTransform(at);
// Blaue Scheibe
gBuffer.setColor(new Color(0,0,255));
gBuffer.fillOval(110,110,180,180);
// Schatten
for (int i=0;i<91;i++) {
gBuffer.setColor(new Color(0,0,165+(int)(90*Math.sin(Math.toRadians(i)))));
gBuffer.fillArc(111+(int)((90-(90*Math.cos(Math.toRadians(i))))),111,
(int)(178*Math.cos(Math.toRadians(i))),178,90,180);
}
// Lichtfleck
for (int i=0;i<30;i++) {
gBuffer.setColor(new Color(0+6*i,0+6*i,255));
gBuffer.fillOval(220+i,175+i,(int)(45-3/2.0*i),60-2*i);
}
g.drawImage (buffer,0,0,this);
}
}
Download Kugel_2.zip (Applet und Code, ca. 2 kb)
© 2001-2004 Albert Kluge - Alle Rechte vorbehalten
Impressum | Datenschutz | Nutzung | eMail
|