algorithme itératif de calcul de distance

La question :

Salut.

l'algorithme de Bresenham
http://fr.wikipedia.org/wiki/Algorithme_de_trac%C3%A9_d'arc_de_cercle_de_Bresenham

permet de tracer un cercle en utilisant des opération simple.
existe t-il un algorithme pour remplir le disque avec la valeur de la
distance des points par rapport à leur centre ?

Etienne

Poser votre question sur le forum Programmation

Les 12 réponses :

WebShaker a écrit :


l'algorithme de Bresenham
http://fr.wikipedia.org/wiki/Algorithme_de_trac%C3%A9_d'arc_de_cercle_de_Bresenham

permet de tracer un cercle en utilisant des opération simple.
existe t-il un algorithme pour remplir le disque avec la valeur de la
distance des points par rapport à leur centre ?


Bien sur. En doutes tu?

Algorithme Rempli rayon
Entrée: c, centre du cercle
rmax, rayon maximum
Sortie: un disque de rayon rmax et centre c, étiqueté par la distance au
centre.
Faire:
r := 0
boucle:
appliquer l'algorithme de Bresenham sur le cercle de center c, rayon
r, en assignant à chaque point tracé la valeur r.
r := r+1
si r<=rmax aller a boucle.
fin.



--
__Pascal Bourguignon__ http://www.informatimago.com/
A bad day in () is better than a good day in {}.

On Sun, 07 Aug 2011 14:50:49 +0200, WebShaker :


existe t-il un algorithme pour remplir le disque avec la valeur de la
distance des points par rapport à leur centre ?


Pas sûr de comprendre. Si tu veux tracer des cercles concentriques
pour obtenir un disque, regarde la section "Limites de la méthode" sur
la page que tu as toi-même indiquée.

Si tu veux juste tracer un disque de façon efficace, il suffit de
remplacer

tracerPixel( x+x_centre, y+y_centre ) ;
tracerPixel( -x+x_centre, y+y_centre ) ;

par

Tracer une ligne horizontale de -x+x_centre à x+x_centre, d'ordonnée
y+y_centre.

Remplacer les 3 autres couples de lignes de code de la même façon.

Le 07/08/2011 14:59, Pascal J. Bourguignon a écrit :


Bien sur. En doutes tu?

Algorithme Rempli rayon
Entrée: c, centre du cercle
rmax, rayon maximum
Sortie: un disque de rayon rmax et centre c, étiqueté par la distance au
centre.
Faire:
r := 0
boucle:
appliquer l'algorithme de Bresenham sur le cercle de center c, rayon
r, en assignant à chaque point tracé la valeur r.
r := r+1
si r<=rmax aller a boucle.
fin.


Merci pour cette réponse rapide, mais en fait. j'aurai du préciser que
je cherche à ne calculer le pixel destination qu'une seule fois.

En gros j'aimerai que mes boucles itèrent sur le carre contenant mon
cercle et calculer pour chaque valeur (x, y) la distance par rapport au
centre.

Voila.

Le 07/08/2011 15:05, Fabien LE LEZ a écrit :


Pas sûr de comprendre. Si tu veux tracer des cercles concentriques
pour obtenir un disque, regarde la section "Limites de la méthode" sur
la page que tu as toi-même indiquée.


non en gros je voudrais arriver a fabriquer cette image
http://www.webshaker.net/distance.jpg

ou l'intensité du pixel représente la distance.
Et ceci le plus rapidement possible sans passer par des opérations
complexes.

WebShaker a écrit :


Le 07/08/2011 14:59, Pascal J. Bourguignon a écrit :


Bien sur. En doutes tu?

Algorithme Rempli rayon
Entrée: c, centre du cercle
rmax, rayon maximum
Sortie: un disque de rayon rmax et centre c, étiqueté par la distance au
centre.
Faire:
r := 0
boucle:
appliquer l'algorithme de Bresenham sur le cercle de center c, rayon
r, en assignant à chaque point tracé la valeur r.
r := r+1
si r<=rmax aller a boucle.
fin.


Merci pour cette réponse rapide, mais en fait. j'aurai du préciser que
je cherche à ne calculer le pixel destination qu'une seule fois.


Mais c'est le cas.


En gros j'aimerai que mes boucles itèrent sur le carre contenant mon
cercle et calculer pour chaque valeur (x, y) la distance par rapport
au centre.


Tu ne connais pas le théorème de Pythagore? r = sqrt(x^2+y^2)

--
__Pascal Bourguignon__ http://www.informatimago.com/
A bad day in () is better than a good day in {}.

Poser votre question sur le forum Programmation

Questions similaires :

Algorithme rapide de permutation

ast écrivit : Tout dépend des outils utilisés ! Nous ne sommes pas ici dans le cadre de l'étude d'une rapidité de convergence vers une solution, à laquelle on peut mathématiquement répondre, mais d'une recherche de la performance. Tous les algos de tri, Bubble sort, Quicksort,...

algorithme de la fonction pow

[Copie et suivi vers fr.comp.algorithmes] Le 13/09/2011 10:24, Etienne a écrit dans fr.sci.maths : Dans quelle implémentation sur quelle machine ? Sans cette précision, je ne vois pas bien qui pourrait deviner de quel algorithme il s'agit exactement ! À tout hasard, un algorithme est exposé ici...

Algorithme de simulation

Bonjour , Je suis à la recherche d'un algorithme de simulation discrete informatique et l'algorithme ou le code source colonie de fourmie j'ai fais boucoup de recherche mais j'ai pas trouvé l'algorithme .Please Bonne année et Merci . All the best .

Calcul efficace

Bonjour, Je cherche un moyen de calculer le plus efficacement et precisement possible l'equation suivante: a * b resultat = ------- c * d les entiers a, b, c,d pouvant prendre n'importe quelle valeur sur 64 bits. Est ce quelqu'un aurait une idee ? Merci -- Francis

Algorithme de minimisation de variable.

Salut. j'ai 275 équations (qui ne sont que des additions, mais bon a aurait pu être autre chose), lesquels sont dépendantes les unes des autres voila une portion du...