[Graphics2D] Dessin courbe lissée à N points de contrôle
cruachan
Messages postés1Date d'inscriptionlundi 20 mars 2006StatutMembreDernière intervention29 mars 2006
-
29 mars 2006 à 17:39
kaloway
Messages postés358Date d'inscriptionjeudi 24 octobre 2002StatutMembreDernière intervention13 avril 2020
-
29 mars 2006 à 20:43
Bonjour,
Dans le cadre d'un projet de fin d'étude, je dois modéliser une route en 2D se calquant sur une carte existante.
Pour se faire j'aimerai pouvoir la tracer en définissant plusieurs points.
Après recherches diverses, il semble qu'il y ait plusieurs techniques :
BSpline, courbes de Bezier, Nurbs, ...
Toutefois avec mon niveau en math et ce que j'ai trouvé, j'ai du mal à
appréhender ces solutions, et encore plus à les implementer dans mon
code.
Awt propose bien des courbes, mais elles ne possèdent qu'un ou deux
points de contrôle, ce qui est insuffisant pour l'application que je
souhaite en faire, de même que la jointure de plusieurs de ces
éléments.
Existe t'il des packages de dessin de courbe 2D à N points, ou des
classes de dessin de Nurbs et autres ( rien ne m'a convaincu sur le
moment, car beaucoup utilisent une succession de drawLine() qui me pose
problème pour dessiner la route ultérieurement cf plus bas)
Sachant que la route se dessinera sur le "squelette" ( la courbe
lissée à N Points ) j'ai rencontré plusieurs problème pour la tracer,
étant donné qu'une succession de drawLine() avec un trait épais ne
donne pas un rendu 'lisse', que la méthode est gourmande.
De plus j'aimerai donner un rendu visuel avec un marquage routier, toutefois en multipliant les drawLine() ca ne marchera pas.
Si vous avez des idées, des suggestions ou autres, je suis preneur
kaloway
Messages postés358Date d'inscriptionjeudi 24 octobre 2002StatutMembreDernière intervention13 avril 2020 29 mars 2006 à 20:42
il faut savoir que pour les courbes de bézier, un nombre de point de contrôle au dela de 4 n'apporte plus rien de plus. je te conseille de faire ta courbe en découpant en plusieurs courbes de bézier. pour que 2 courbes de bézier se raccordent parfaitement (cas de courbe à 4 points de contrôle) il faut que le troisieme et quatrieme point de contrôle de la premiere courbe soit sur la même droite que le premier et deuxieme point de contrôle de la deuxieme courbe.
kaloway
Messages postés358Date d'inscriptionjeudi 24 octobre 2002StatutMembreDernière intervention13 avril 2020 29 mars 2006 à 20:43
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta name="Generator" content="Kate, the KDE Advanced Text Editor">les apis correspondant aux courbes de Bézier sont
java.awt.geom.CubicCurve2D et java.awt.geom.QuadCurve2D.