/* Copyright 1996 Stefan Mintert */ import java.awt.Graphics; import netscape.javascript.*; public class Graph extends java.applet.Applet { /* Weltkoordinaten */ public static double xmin = -10; public static double xmax = 10; public static double ymin = -10; public static double ymax = 10; public double f(double bild_x) { /* Umrechnung: Bild in Weltkoordinate */ double welt_x = bild_x * (xmax-xmin) / size().width + xmin; /* Berechnung des Funktionswertes */ double welt_y = g(welt_x); /* Umrechnung: Welt- in Bildkoordinate */ double bild_y = size().height - ( (welt_y-ymin) * size().height / (ymax-ymin) ); return bild_y; } /* Funktion g berechnet den Cosinus */ double g(double x) { // Ergebnis als double deklarieren: double ergebnis; // Zwischenergebnis wird als String geliefert: String ergebnis_string; // X-Wert in String wandeln, da eval() einen String erwartet String x_string = java.lang.String.valueOf(x); // Funktionswert berechnen, Ergebnis in String wandeln: ergebnis_string = (String) JSObject.getWindow(this).eval("berechne_fkt("+x_string+");"); // String-Ergebnis in Double wandeln: ergebnis = java.lang.Double.valueOf(ergebnis_string).doubleValue(); // Ergebnis zurueckliefern: return ergebnis; } public void neu() { repaint(); } public void paint(Graphics g) { for (int x = 0 ; x < size().width ; x++) { g.drawLine(x, (int)f(x), x + 1, (int)f(x + 1)); } } }