Español
Fuente/ Codesnippets

Bresenham-Linienalgorithmus

 

p.specht


'Base XProfan11.2a free de https://XProfan.de/start.htm
Windowtitle "BRESENHAM-Algorithmus"
'Schnarch-langsam, sólo para Lernzwecke geproggd de P. Pájaro carpintero
Windowstyle 31
Ventana %maxx*.81,%maxy*.81
Cls @Rgb(221,221,221)
var w%=@width(%hWnd)/2
var h%=@height(%hWnd)/2
brline(0,0, 2*w%,2*h%, @rgb(255,0,0))
brline(0,1, w%-1,2*h%, @rgb(0,255,0))
brline(3,0, 2*w%,h%-3, @rgb(0,0,255))
var i%=0
var j!=0

mientras que i%<360

    j!=i%*@pi()/180
    brline(w%,h%,w%+240*cos(j!),h%+240*sin(j!),46603*i%)
    inc i%,1

endwhile

Imprimir "OK, con LINE en lugar de Einzelpixel conjunto wär´s más rápido gegangen..."
WaitInput
End

proc brline

    ' Bresenham-Algorithmus para Linie en beliebigem Oktanten
    parámetros xstart%,ystart%,xend%,yend%,c%
    declarar i%,el%,pdx%,pdy%,ddx%,ddy%,lo%,fehler%
    var x% = xstart%
    var y% = ystart%
    var dx% = xend%-xstart%
    var dy% = yend%-ystart%
    var adx% = ABS(dx%)
    var ady% = ABS(dy%)' Absolutbetraege
    var sdx% = int((dx%>0)-(dx%<0))' Signum-Función
    var sdy% = int((dy%>0)-(dy%<0))

    IF adx% > ady%

        pdx% = sdx%
        pdy% = 0
        ddx% = sdx%
        ddy% = sdy%
        lo%  = ady%
        el%  = adx%

    ELSE

        pdx% = 0
        pdy% = sdy%
        ddx% = sdx%
        ddy% = sdy%
        lo%  = adx%
        el%  = ady%

    ENDIF

    fehler% = el%/2' el% son auch Anzahl el a zeichnenden Pixel a
    i%=1

    mientras que i% <= el%

        fehler% = fehler% - lo%

        IF fehler% < 0

            fehler% = fehler% + el%
            x% = x% + ddx%
            y% = y% + ddy%

        ELSE

            x% = x% + pdx%
            y% = y% + pdy%

        ENDIF

        SETPIXEL x%,y%, x%*y%*3' oder c%, wäre Punktfarbe
        inc i%

    endwhile

ENDPROC

 
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
04.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

605 Views

Untitledvor 0 min.
Hans Neff24.01.2023
N.Art23.07.2021
Glubbfan19.06.2021
Uwe ''Pascal'' Niemeier13.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