-
Dessiner une courbe
Salut;
je suis entrain de programmer avec la classe graphic 2D une petite application qui me permettre de dessiner une courbe selon les cordonnées des points calculés par une fonction ,et normalement sa marche très bien mais juste j'ai un problème avec la position des points lorsque les valeurs sont des nombres à virgule flottante , je constate que le dessin donne une sorte d’inexactitude dans la représentation graphique. donc est ce que je peux régler ce problème on utilisant une méthode de dessin pour les points et même les lignes reliant les points qui prends en entrée des positions de nombres à virgule flottante ,malgré j'ai comme information que toutes les valeurs de pixels sont des entiers, et on ne peut donc pas utiliser des nombres à virgule flottante pour représenter une valeur.
Merci infiniment .
-
C'est bon j'ai trouver une solution :). il faut que je travail avec des unités de mesure très petite dans mon repère afin d'obtenir une représentation graphique proche de celle réellement fait à la main par l’être humain ,dont les détails sont négligeables à ce point avec cet échelle de mesure.
-
Un peut tard, mais si tu utilises Graphics2D et Java2D tu peux tout a fait utiliser des coordonnées en float ou double, nottament en utilisant des formes Line2D, etc. Les indices de rendu (RenderingHints) peuvent permettre ensuite d'affiner le rendu entre autre grâce a l’antialiasing. Vu que tu peux faire toutes sortes de transformation (rotation, mise a l’échelle, etc.), il est tout a fait possible que les "pixels" de ta surface de dessin ne correspondent pas a des pixels de ton périphérique d'affichage physique (écran, feuille de papier quand on imprime). Considère les juste comme l’unité de mesure de ton repère de travail et qu'ils seront projetés de toute manière (même si généralement par la transformation identité ou de simples translations) sur un autre repère lors de l'affichage sur le périphérique final.
Le dessin en coordonnées entières uniquement, c'est une relique de l'AWT.