Forum de Fandeonepiece2

Bon dev :)


    [Algorithme] Créer un cercle point par points

    Partagez
    avatar
    Aze (admin)
    Admin
    Admin

    Messages : 435
    Date d'inscription : 03/05/2014
    Age : 16
    Localisation : France

    [Algorithme] Créer un cercle point par points

    Message par Aze (admin) le Dim 8 Fév - 12:04

    Bonjour Smile
    Vu qu'il y a pas mal d'explication sur Wikipédia Razz, je ne vous donne que le code, sachant que la fonction tracer pixel colore un pixel Wink.
    Je vous donne l'algorithme en VB.net, mais vous pouvez facilement l'adapter à un autre langage Smile
    Code:
    Dim x As Integer = 0
            Dim y As Integer = rayon
            Dim d As Integer = rayon - 1

            While y >= x
                tracerPixel(x_centre + x, y_centre + y)
                tracerPixel(x_centre + y, y_centre + x)
                tracerPixel(x_centre - x, y_centre + y)
                tracerPixel(x_centre - y, y_centre + x)
                tracerPixel(x_centre + x, y_centre - y)
                tracerPixel(x_centre + y, y_centre - x)
                tracerPixel(x_centre - x, y_centre - y)
                tracerPixel(x_centre - y, y_centre - x)
                If d >= 2 * x Then
                    d -= 2 * x - 1
                    x += 1
                ElseIf d < 2 * (rayon - y) Then
                    d += 2 * y - 1
                    y -= 1
                Else
                    d += 2 * (y - x - 1)
                    y -= 1
                    x += 1
                End If

    Cet algorithme assez simple est l'algorithme de tracé de cercle, d'Andres.

    Source : http://fr.wikipedia.org/wiki/Algorithme_de_trac%C3%A9_de_cercle_d%27Andres
    Bon dev Smile
    avatar
    Salou

    Messages : 145
    Date d'inscription : 02/06/2014
    Age : 22
    Localisation : Le trou du cul de la france

    Re: [Algorithme] Créer un cercle point par points

    Message par Salou le Dim 18 Oct - 5:15

    Cool merci vais voir à le re faire en python.

    Cordialement.

      La date/heure actuelle est Lun 26 Juin - 23:36