Français
Stammtisch & le café

sur den Spuren des Herrn Sierpinski

 

Nico
Madysa
Letzten samedi soir (je hatte mich entschieden, Asterix doch pas trop gucken ) habe je un peu avec binärem OU et AND beschäftigt.
je ging vom einfachen le cas aus, dass je le nombre de 0 jusqu'à 10 dans allen möglichen Kombinationen miteinander verknüpfe.
KompilierenMarqueSéparation
declare s1% , s2% , res%

whileloop 0 , 10

    s1% = &loop

    whileloop 0 , 10

        s2% = &loop
        res% = AND(s1%,s2%)
        Oder eben
        res% = OR(s1%,s2%)
        Oder auch
        res% = ADD(s1%,s2%)

    EndWhile

KompilierenMarqueSéparation
SetPixel s1% , res% , RGB(255,0,0)

cela était déjà anschaulicher, mais chez weitem genauso unnütz comment les numéros (oui c'est ca pris était cela ganze Experiment unnütz ).
Jedenfalls fuhr je fort, dans dem Je l' Zahlenbereich sur 0-100 ausweiterte.
et soudain kamen mir qui Figuren, qui AND et OU hervorbrachten droite bekannt avant...
Pour quelque chose Herumprobieren wählte Je l' Zahlenbereich 0-127 et enfin hatte es chez mir Klick gemacht.
Es handelte sich um un [...] !
cet Figur wird normalement seulement par Rekursion erreicht (seulement l'année dernière suis je am Zeichnen cette Figur mittels Rekursion kläglich gescheitert).
Umso plus était je überrascht, dass sich cet Figur sur binäre Verknüpfungs-Funktionen erreichen laisser.
Pour einiger travail bekam je folgenden bildschönen Code heraus:
KompilierenMarqueSéparation
proc DrawSierpinskiAND

    parameters ord% , la couleur% , x% , y%
    declare i%
    ord% = 2 ^ ord%

    whileloop 0 , ord%-1

        i% = &loop

        whileloop 0 , i%

            SetPixel x%+i% , y%+And(i%,&loop)  , la couleur%

        Endwhile

    Endwhile

endproc

proc DrawSierpinskiOR

    parameters ord% , la couleur% , x% , y%
    declare i%
    ord% = 2 ^ ord%

    whileloop 0 , ord%-1

        i% = &loop

        whileloop 0 , ord%-1-i%

            SetPixel x%+i% , y%+Or(i%,&loop)  , la couleur%

        Endwhile

    Endwhile

endproc

declare time&
cls
Couleur du texte RGB(255,255,255) , (-1)
UseBrush 1 , RGB(000,000,000)
Fill 10 , 10 , 0
UseBrush 1 , RGB(255,255,255)
Rectangle 99 , 99 - 101+256 , 101+256
time& = &GetTickCount
DrawSierpinskiAND 8 , RGB(255,000,000) , 100+000 , 100+000
DrawText 10 , 10 , str$(int((&GetTickCount-time&)1000))
waitinput
Rectangle 99 , 99 - 101+256 , 101+256
time& = &GetTickCount
DrawSierpinskiAND 7 , RGB(255,000,000) , 100+000 , 100+000
DrawSierpinskiAND 7 , RGB(255,000,000) , 100+128 , 100+000
DrawSierpinskiAND 7 , RGB(255,000,000) , 100+128 , 100+128
DrawText 10 , 30 , str$(int((&GetTickCount-time&)1000))
waitinput
Rectangle 99 , 99 - 101+256 , 101+256
time& = &GetTickCount
DrawSierpinskiAND 6 , RGB(255,000,000) , 100+000 , 100+000
DrawSierpinskiAND 6 , RGB(255,000,000) , 100+064 , 100+000
DrawSierpinskiAND 6 , RGB(255,000,000) , 100+064 , 100+064
DrawSierpinskiAND 6 , RGB(255,000,000) , 100+128 , 100+000
DrawSierpinskiAND 6 , RGB(255,000,000) , 100+192 , 100+000
DrawSierpinskiAND 6 , RGB(255,000,000) , 100+192 , 100+064
DrawSierpinskiAND 6 , RGB(255,000,000) , 100+128 , 100+128
DrawSierpinskiAND 6 , RGB(255,000,000) , 100+192 , 100+128
DrawSierpinskiAND 6 , RGB(255,000,000) , 100+192 , 100+192
DrawText 10 , 50 , str$(int((&GetTickCount-time&)1000))
waitinput
end

paramètre:
ord% = Ordung des Dreiecks (je höher, umso größer wird es)
la couleur% = la couleur des Dreieckes comme RGB-Wert
x% , y% = X- et Y-Position des Dreieckes
avec diesem Code peut sich vite herausfinden, dass sich solch un Dreieck plus rapide zeichnen peut, si on es dans kleinere Teildreiecke zerlegt.

Hoffe, cela hat quelqu'un intéressé.
 
Nico Madysa
17.07.2006  
 




Jac
de
Lad
tu peux oui deinen Profan-Code encore trop Wikipedia dazuschreiben. mais mir ist im Moment encore unklar wozu on cela braucht, alors une praktische Anwendung fehlt irgendwie...

Jac

PS: Am samedi était je la fois wieder chez meiner amie dans Döbeln (depuis 6 Wochen la fois wieder) et Asterix hab je am dimanche geschaut (enfant était abgeschoben, Asterix peux toujours!).
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
17.07.2006  
 




Nico
Madysa
je vois là aussi keinen Sinn (sauf dass je meinen Info-l'instituteur beeindrucken peux ). j'étais lediglich en beeindruckt, dass sich quelque chose comme sans Rekursion erzeugen peut et habe mich à dem soir comment un Schneekönig gefreut.
 
Nico Madysa
19.07.2006  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

1.489 Views

Untitledvor 0 min.
Peter Max Müller13.05.2015

Themeninformationen

cet Thema hat 2 participant:

Nico Madysa (2x)
Jac de Lad (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie