/* Numerik-I, Aufgabe 16, bearbeitet von ........... */ import java.awt.*; import java.awt.Graphics; import java.awt.event.*; class Fenster extends Frame implements WindowListener { //Fenster für Graphikausgabe Fenster() {//Konstruktor super("Bildausgabe"); setSize(480,480); addWindowListener(this); } public void windowClosing(WindowEvent e) {//Fenster schließen System.exit(0); } public void windowOpened(WindowEvent e) { } public void windowClosed(WindowEvent e) { } public void windowActivated(WindowEvent e) { } public void windowDeactivated(WindowEvent e) { } public void windowIconified(WindowEvent e) { } public void windowDeiconified(WindowEvent e) { } double[] ua,va; // = Speicher Spline-Koeffizienten // Auswertung Spline an Stelle x: static double splwert(double x, int n, double[] a) { /* Eigene Anweisungen zur Spline-Auswertung */ } public void paint(Graphics g) { // Zeichnet 2D-Kurve int s0,z0,s1,z1; double t; s1 = (int) Math.round(splwert(0.0,8,ua)); z1 = (int) Math.round(splwert(0.0,8,va)); for (int i=1; i<=480; i++) { s0 = s1; z0 = z1; t = i/60.0; s1 = (int) Math.round(splwert(t,8,ua)); z1 = (int) Math.round(splwert(t,8,va)); g.drawLine(s0,z0,s1,z1); } } } class Aufg16 { static void tgauss(int n, double[] a){ //Löst Lineares System [1..n-1] für Spline double[] d = new double[n]; //Speicher Hauptdiagonale d[1] = 4.0; // LGS lösen, Diagonale=4 for (int i=2; i0; i--) { a[i] = (a[i]-a[i+1])/d[i]; } } public static void main(String args[]) { Fenster f = new Fenster(); // neues Graphik-Fenster f f.ua = new double[9]; f.va = new double[9]; /* Eigene Anweisungen zur Berechnung der Bezier-Koeffizienten f.ua, f.va */ f.setVisible(true); //ruft f.paint auf //f.repaint(); } }