Beiträge von ivettaB im Thema „schnelles farbiges Apfelmännchen“

    ja zuwenig ram und dann müsste ich im Bios diese virtualisierung noch freischalten

    keine exe im archiv ? sicher das da ein binary drinnen ist ?

    ok habe readme gelesen. jetzt weiss ich genau warum du die finger von windos lässt...
    da muss ich wohl und übel das Linux raufziehen.... brrr

    hast du was in Basic ?

    Ich leider nicht. Das "so was" war mehr allgemein gemeint, also dass ich Algorithmen immer erst in BASIC konzipiere. Hab mich zwar schon oft durch Pixelwüsten gehangelt, aber Füllen von völlig unregelmäßigen Flächen habe ich noch nicht gemacht. Hätte ich durchaus Lust zu, aber ich habe noch genug andere Baustellen. ^^

    das ist gar nicht easy das füllzeug.

    Habe mir extra den cc65 installiert weil ich am assembler gescheitert bin.... ich habe jetzt einen Triangle fillercode welcher immer funktioniert egal wie das dreieck steht solange es 3 ecken hat.


    in c wo ich mich nicht gut auskenne:

    im meinem 3d Thread am c64 habe ich ja irgendwo ein rotierendes Dreieck das weiss gefüllt wird. Das ist der Source. Das muss ich jetzt mit assembler verkleben denn ich habe schnellere Routine in Assembler (bruteforce Speedcode) aber ich habe hier probleme den übergang vom C code in den Assemblerteil...


    mal sehen ob cc65 das frisst - ansonsten ist es shitty den gcc will ich nicht auch noch am laptop haben....
    oh shit ... ich bin raus:

    D:\c64\cc65\samples\ColorMandel>..\..\bin\cl65 mandel2.c -o mandel2.prg

    mandel2.c:10: Fatal: Floating point type is currently unsupported

    Fürs Floodfill gibt es sicherlich wieder verschiedene Ansätze, so wie es ja auch viele verschiedene Floodfill-Algorithmen für Malprogramme gibt. Es soll schnell sein, aber es darf auch nichts von dem bunten Bereich übersehen werden. So was mache ich gern in BASIC, und erst, wenn ich den Algorithmus nicht mehr schneller machen kann, setze ich das in Asm um.

    hast du was in Basic ?

    ich habe nur einen Dreieckfüller für mein 3d System gemacht und der war schon hart.

    Dein C code :smile:
    Du bist da sicher versierter als wir andere ?

    Ich hänge noch im Floodfill von vorhin geistig fest.

    Während mein anderer Rechner die Hintergrundgrafik hackt vom SWIV.

    Code ist nicht optimal. aber soweit schonmal...

    Mein Code verfolgt dein Video frame by frame und rechnet die Sprites weg indem er mehrere Frames durchrechnet danach wartet bis neuer Bildinhalt (alle 3 Sek) geliefert werden - dann den CUT Punkt sucht und die Bilder aneinander klebt.

    Code 115 Zeilen Python bis jetzt.

    Fazit: Kompliziert im Detail

    Wer das Apfelmännchen bei guter Strukturauflösung richtig schnell haben will, der muss es schaffen, möglichst effektiv den rechenintensiven inneren Bereich zu überspringen, ohne dabei die Ränder in Mitleidenschaft zu ziehen.

    Das geht mit einem Floodfill von allen(!) Randpunkten des Bildschirms aus, mit den Iterationen=Maximum (-> schwarz, "Mandelbrot-Punkt") als Stop-Bedingung. Man nutzt hier aus, daß die Mandelbrot-Menge einfach zusammenhängend ist - insbesondere heißt das, daß sie keine Löcher hat.

    Ich hatte das seinerzeit bereits kombiniert mit einer Anzeigemethode, welche die Filamente hervorhebt. Hier zwei Beispiele vom VC-20:

    Bitte melde dich an, um diesen Anhang zu sehen. Bitte melde dich an, um diesen Anhang zu sehen.

    hast du code ?

    unter floodfill verstehe ich einen pixelfiller der zeilenweise füllt bis er ein pixel erkennt und stoppt. habe ich das richtig verstanden ?
    also meinst du ich soll von rechts nach links(319->pix) eine zeile füllen und auch von links nach rechts (0->pixel) bis was kommt ?

    der c code von daybyter :


    Code
    im Anhang

    An Coma Light 11 kommt es nicht ganz ran

    Das lässt sich aber nicht vergleichen, weil in der Demo eine viel schlechtere Zahlenauflösung benutzt wird. Das sieht man sofort an den groben Rändern. Und besonders tief kommt man damit auch nicht. Wer das Apfelmännchen bei guter Strukturauflösung richtig schnell haben will, der muss es schaffen, möglichst effektiv den rechenintensiven inneren Bereich zu überspringen, ohne dabei die Ränder in Mitleidenschaft zu ziehen.

    erzähl mir mehr darüber bitte