Java & JavaScript


Home
Applets
   3D:
 · Würfel
 · Würfel 2
 · Würfel 3
 · Tetraeder
 · Tetraeder 2
 · Dodekaeder
 · Ikosaeder
 · Fußball
 · Kugel
 · Kugel 2
   Fraktale:
 · Apfelmännchen
 · Apfelmännchen 2
 · Apfelmännchen 3
 · Apfelmännchen MA
 · Apfelmännchen Zoom
 · Apfelmännchen Zoom 2
 · Juliamenge
 · Juliamenge MA
 · Julia-Generator
 · Koch-Kurve
 · Koch-Kurve 2
 · Hilbert-Kurve
 · Sierpinski-Dreieck
 · Sierpinski-Dreieck 2
 · Sierpinski-Dreieck 3
 · Sierpinski-Teppich
 · Pythagoras-Baum
 · Lindenmayer-System
 · Lindenmayer-System 2
   Mathematik:
 · Funktionsplotter
 · Eratosthenes-Sieb
 · Miller-Rabin-Test
   Verschiedenes:
 · Morsezeichen-Ticker
 · Analoguhr
Scripts
Gäste
Kontakt



Zeppenfeld/Wolters: Lehrbuch der Grafikprogrammierung
- Anzeige -


- Applets : 3D : Kugel 2 -


Eine Kugel mit Beleuchtungs-Effekt als Java-Applet.

[Die Kugel (Sphere) mit Beleuchtungs-Effekt als Java-Applet lässt sich allerdings nur mit aktiviertem Java betrachten !]


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