Courbe de bezier

tartur Messages postés 22 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 11 février 2004 - 31 juil. 2003 à 11:23
udiudi Messages postés 6 Date d'inscription vendredi 1 mai 2015 Statut Membre Dernière intervention 2 juin 2015 - 2 juin 2015 à 19:17
bonjour à tous est ce kil y a qqun qui c si on peut dessiner des courbes
de bézier facilement en java, en d'autres termes si ça existe déjà g vu kil y avait
la classe java.awt.geom.Arc2D qui contenait des méthodes semblables mais je ne
c po si ça sera vraiment du bézier et si c facile à manipuler.
merci et bonne journée!
tartur

1 réponse

kaloway Messages postés 358 Date d'inscription jeudi 24 octobre 2002 Statut Membre Dernière intervention 13 avril 2020
1 août 2003 à 07:41
voila une applette qui présente des courbes de bézier avec trois et quatre point de contrôle

import javax.swing.*;
import java.awt.*;
import java.awt.geom.*;

public class CourbeApplet extends JApplet
{
// Initialise l' applet
public void init()
{
affichage = new CourbeAffichage(); // Créer un panneau contenant les courbes
Container content = getContentPane(); // Obtenir le panneau de contenu

// Ajouter le panneau affichant les courbes au panneau de contenu de l'applet
content.add(affichage); // BorderLayout.CENTER est la position par défaut
}

// Classe définissant un panneau sur lequel dessiner
class CourbeAffichage extends JComponent
{
// Constructeur
public CourbeAffichage()
{
quadCourbe = new QuadCurve2D.Double( // Créer une courbe quadratique
debutQ.x, debutQ.y, // Segment debut point
controle.x, controle.y, // Point de contrôle
finQ.x, finQ.y); // Point de terminaison du segment

cubicCurve = new CubicCurve2D.Double( // Créer une courbe cubique
debutC.x, debutC.y, // Segment debut point
controleEtoiles.x, controleEtoiles.y, // Point de contrôle for debut
finControle.x, finControle.y, // Point de contrôle for fin
finC.x, finC.y); // Point de terminaison du segment
}

public void paint(Graphics g)
{
Graphics2D g2D = (Graphics2D)g; // Obtenir un contexte de périphérique

// Tracer les courbes
g2D.setPaint(Color.blue);
g2D.draw(quadCourbe);
g2D.draw(cubicCurve);
}
}
0
udiudi Messages postés 6 Date d'inscription vendredi 1 mai 2015 Statut Membre Dernière intervention 2 juin 2015
2 juin 2015 à 19:17
bonjour j'ai voulu m'inspirer de votre code pour faire le terrain de mon jeu, mais ça ne fonctionne pas, savez vous pourquoi? merci
package game;

import javax.swing.*;

import java.awt.*;
import java.awt.geom.*;
import java.awt.geom.QuadCurve2D.Double;

public class Bezierterrain {

public void initit() {
CourbeAffichage affichage = new CourbeAffichage(); // Créer un panneau contenant les courbes

Container content = getContentPanel(); // Obtenir le panneau de contenu
// Ajouter le panneau affichant les courbes au panneau de contenu de l'applet
content.add(affichage); // BorderLayout.CENTER est la position par défaut
}
private Container getContentPanel() {
// TODO Auto-generated method stub
return null;
}
// Classe définissant un panneau sur lequel dessiner
class CourbeAffichage extends JComponent
{
// Constructeur
public CourbeAffichage()
{
Double quadCourbe = new QuadCurve2D.Double(0,672,220,(int)(Math.random()*672),420,672);
Double quadCourbe2 = new QuadCurve2D.Double(420,672,650,(int)(Math.random()*672),880,672);
Double quadCourbe3 = new QuadCurve2D.Double(880,672,1100,(int)(Math.random()*672),1300,672);


}

public void paint(Graphics g)
{
Graphics2D g2D = (Graphics2D)g; // Obtenir un contexte de périphérique

// Tracer les courbes
g2D.setPaint(Color.blue);
g2D.draw(quadCourbe);
g2D.draw(quadCourbe2);
g2D.draw(quadCourbe3);
}
}
}
0
Rejoignez-nous