Español
Fuente/ Codesnippets

Bresenham-Kreisalgorithmus

 

p.specht


'In XProfan 11.2a free geschrieben a Lernzwecken
Windowstyle 31
Windowtitle "Bresenham-Circles"
Ventana %maxx*.81,%maxy*.81
Cls @Rgb(231,231,221)
'  Kreise en Abstand de%
var r%= sqrt((@width(%hWnd)/2)^2 + (@height(%hWnd)/2)^2 )
var de%=14

mientras que r%>0

    brCircle( @width(%hWnd)/2, @height(%hWnd)/2 , r% , \
    @rgb(rnd(100)+155,rnd(155)+100,r% and 255) )
    r% = r% - de%
    caso %MousePressed : romper

endwhile

WaitInput
End

proc brCircle

    ' Bresenham-Algorithmus para una (Achtel-)Kreis
    parámetros xmittel%,ymittel%,r%,c%
    var x% = r%
    var y% = 0
    var fehler% = r%
    declarar dy%,dx%
    Gosub "DrawPixels"' JAWOLL, EIN GOSUB! DA STAUNSTE, WAS?

    WHILE y% < x%

        dy% = y%*2+1 : REM en Ensamblador-Implementierung *2 por Shift
        inc y%
        fehler% = fehler% - dy%

        IF fehler%<0

            dx% = 1 - x%*2
            x% = x% - 1
            fehler% = fehler% - dx%

        ENDIF

        ' Como lo en el Bildschirm y no ums Plotten va,
        ' puede ser el otro Oktanten hier con abdecken:
        Gosub "DrawPixels"

    ENDWHILE

    RETORNO
    DrawPixels:
    SETPIXEL xmittel%+x%, ymittel%+y%,c%
    SETPIXEL xmittel%-x%, ymittel%+y%,c%
    SETPIXEL xmittel%-x%, ymittel%-y%,c%
    SETPIXEL xmittel%+x%, ymittel%-y%,c%
    SETPIXEL xmittel%+y%, ymittel%+x%,c%
    SETPIXEL xmittel%-y%, ymittel%+x%,c%
    SETPIXEL xmittel%-y%, ymittel%-x%,c%
    SETPIXEL xmittel%+y%, ymittel%-x%,c%
    Volver

ENDPROC

 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
05.04.2021  
 



Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

558 Views

Untitledvor 0 min.
Hans Neff24.01.2023
Stringray05.01.2022
N.Art23.07.2021
Glubbfan19.06.2021
Más...

Themeninformationen

Dieses Thema ha 1 subscriber:

p.specht (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie