Verfügbare Informationen zu "Bézier-Kurve"
Qualität des Beitrags: Beteiligte Poster: timo Forum: 14. Info Forenbeschreibung: Informatiker der NTA-Isny aus dem Unterforum: Java Antworten: 1 Forum gestartet am: Donnerstag 15.06.2006 Sprache: deutsch Link zum Originaltopic: Bézier-Kurve Letzte Antwort: vor 16 Jahren, 9 Monaten, 2 Tagen, 5 Stunden, 20 Minuten
Alle Beiträge und Antworten zu "Bézier-Kurve"
Re: Bézier-Kurve
timo - 24.07.2007, 22:11Bézier-Kurve
Bézier-Kurve
Schreibt ein Programm in Java, welches eine Bézier-Kurve mit beliebig vielen Stützpunkten (mindestens 4) darstellen kann.
Zum darstellen (zeichnen) der Kurve verwendet das Graphics Objekt in der paint-Methode eines JPanels.
Die mitgelieferte Klasse BezierCurve enthält einige Funktionen und Kommentare, welche als Anhaltspunkte für die Implementierung verwendet werden können.
Als Beispiel können die mitgelieferten class-Files mit Hilfe der bat-Datei start.bat gestartet werden.
start.bat
java BezierCurve
BezierCurve.java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class BezierCurve extends JPanel implements MouseListener
{
private Punkt[] punkte;
private int punkteAnzahl = 0;
public BezierCurve()
{
punkte = new Punkt[punkteAnzahl];
addMouseListener(this);
JFrame frame = new JFrame();
frame.setSize(1000,500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(this);
frame.setVisible(true);
}
long fakultaet(int fak)
{
long returnValue = 1;
for(long i = fak; i > 1; i--)
{
returnValue *= i;
}
return(returnValue);
}
double nUeberI(int n, int i)
{
return(fakultaet(n)/(fakultaet(i)*fakultaet(n-i)));
}
public void paint(Graphics g)
{
g.setColor(Color.WHITE); // Fpllt das Fenster Weiss aus
g.fillRect(0, 0, getSize().width, getSize().height);
g.setColor(Color.BLACK);
for(int i = 0; i < punkteAnzahl-1; i++) // Zeichnet Verbindungslinien zwischen den Punkten
{
g.drawLine((int)punkte[i].x, (int)punkte[i].y, (int)punkte[i+1].x, (int)punkte[i+1].y);
}
g.setColor(Color.RED);
// Ab hier soll die Bezier-Kurve gezeichnet werden
// Erstellt dazu eine Schleife die einen Parameter u von 0 bis 1 in Abständen von 0.01 laufen lässt
// Zeichnet einen errechneten Punkt der Kurve mit drawRect(.x, .y, 2, 2)
}
/* MouseListener */
public void mouseClicked(MouseEvent e)
{
punkteAnzahl++;
Punkt[] newPunkte = new Punkt[punkteAnzahl];
for(int i = 0; i < punkteAnzahl-1; i++)
{
newPunkte[i] = punkte[i];
}
punkte = newPunkte;
punkte[punkteAnzahl-1] = new Punkt((double)e.getX(),(double)e.getY(),0.0);
repaint();
}
public void mousePressed(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public static void main(String[] args)
{
new BezierCurve();
}
}
Punkt.java
public class Punkt
{
public double x;
public double y;
public double z;
public double w;
public Punkt()
{
}
public Punkt(double xWert, double yWert, double zWert)
{
x = xWert;
y = yWert;
z = zWert;
w = 1;
}
}
Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken
Weitere Beiträge aus dem Forum 14. Info
Änderungen Klausur- und Raumplan - gepostet von timo am Montag 16.07.2007
WIKIs - gepostet von ravekev am Mittwoch 29.11.2006
wo ist der prüfungsplan ws 06/07 online? - gepostet von Tobi am Freitag 05.01.2007
Wichtig! - gepostet von Onas am Dienstag 20.06.2006
Wichtig!!! Stundenplanänderung für 04.10.2006 - gepostet von timo am Donnerstag 28.09.2006
Medientechnik - gepostet von Maggi am Donnerstag 01.02.2007
Stellensuche per Zeitung - gepostet von timo am Mittwoch 26.07.2006
Ähnliche Beiträge wie "Bézier-Kurve"
Schumi erhält Kurve am Nürburgring - starbuck77 (Sonntag 25.03.2007)
Buch "Gaskrank, Geschichten aus der Kurve" - Boko (Donnerstag 30.11.2006)
Günters Kurve - Bado (Dienstag 14.08.2007)
Politik in der Kurve... - South_Winner/BVAW03 (Samstag 18.03.2006)
was is mit der kurve *heul* - lammgottes (Donnerstag 30.11.2006)
Achtung die Kurve (Weltmeisterschaft) - betty (Donnerstag 07.10.2004)
Frauen in der Kurve , damit die Kurve lebt ?! - daniel (Montag 27.08.2007)
FX18 - GAS/PITCH KURVE - joa42 (Samstag 17.06.2006)
Xtreme die kurve Kratzen!!! - Zero (Montag 27.03.2006)
MX-12 Pitch Gas Kurve??? - Makis (Freitag 24.03.2006)