Zum Thema PLASMA ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Nachdem Ihr in der letzten Ausgabe einen Plasmascroller im Quell- code gefunden habt, der allerdings nicht n„her von uns erl„utert wurde, greife ich hier das Thema noch einmal auf. Plasma - Was ist das? Ich nehme mal an, daá die meisten von Euch wissen, was Plasma ist. Zumindest habt Ihr es bestimmt schon einmal gesehen. Flieáende Farbverl„ufe. Colorcycling. Schlag- w”rter, die man direkt mit Plasma in Verbindung bringt. Diejenigen, die sich unter Plasma berhaupt nichts vorstellen k”nnen, sollten sich ersteinmal das Beispielprogramm anschauen (PROGS\PLASMA1.EXE). Also, jetzt drfte wohl jeder wissen, was gemeint ist. Doch die Frage, die einen (hoffentlich...) direkt besch„ftigt, lautet: Wie geht das?!? Tja, welch ein Zufall! Ich wollte n„mlich genau das gerade erkl„ren... Plasma ist wirklich nicht schwierig 'herzustellen'. Es ist eine relativ einfache Idee, die dahinter steckt: Man nehme einen Bildschirmausschnitt, dessen Eckkoordinaten x1/y1 sowie x2/y2 seien (links oben und rechts unten). Nun setze man bei (x1+x2) DIV 2 / y1, x2 / (y1+y2) DIV 2, (x1+x2) DIV 2 / y2 und x1 / (y1+y2) DIV 2 jeweils einen Punkt, also immer in die Mitte jeder Seite des viereckigen Ausschnittes. Die Farbe des Punktes berechnet sich wie folgt: 1 - HilfsFarbe1 = x2-x1 + y2-y1 2 - HilfsFarbe2 = BildeZufallszahl(zwischen 0 und HilfsFarbe * 3) und ziehe HilfsFarbe1 ab 3 - PixelFarbe = HilfsFarbe2 + (Farbe von x1/y1 + Farbe von x2/y2) DIV 2. Das ganze sieht zwar etwas kompliziert aus, ist es aber nicht! Schaut Euch einfach mal das Listing an, dann werdet Ihr es sehen. Wozu das ganze? Nunja, ganz sicher bin ich mir da auch nicht. Allerdings kann man an diesem 'Formelsatz' wirklich nichts „n- dern. Er ist einfach zur Bestimmung der neuen Farbe gut (damit ein vernnftiger Farbbergang zustande kommt). Das einzige, was man doch „ndern kann (ich weiá, ich widerspreche mir selbst), ist der Faktor 3, der in Schritt zwei verwendet wird. Hier kann man eigentlich jeden beliebigen Wert einsetzen. Spielt einfach mal ein wenig damit herum! Bei Werten zwischen 0 und 1 erhaltet Ihr ein Sirpinski-Dreieck. Bis etwa 5 erscheint ein mehr oder weniger feines Plasma heraus und darber wird der Plasmaauschnitt immer gr”áer! Aber einfach mal anschauen. Doch nun: Das war (natrlich) noch nicht alles! Wurden diese vier Punkte gesetzt, kommt noch ein fnfter hinzu. Und zwar genau in die Mitte von diesen. Die Farbe von diesem Pixel berechnet sich dann aus dem Mittelwert der vier anderen Farben. Alles klar? Hoffentlich. Nun kommt das Interessante: Das ganze wird iterativ aufgebaut! Also: Haben wir nun auf dem Bildschirm fnf Punkte und hat man so den gleichen in vier neue Rechtecke unterteilt, verf„hrt man mit jedem dieser neuen Rechtecke ebenso. Und mit den dann ent- standenen wieder und so weiter... Liegen x1 und x2 dann irgend- wann direkt nebeneinander, setzt eine Abbruchbedingung ein, die das ganze zum Stoppen bringt. Tja, um dem Plasma dann noch den letzten Schliff zu geben, sollte man die Palette neu setzten, damit man dort perfekte Farbverl„ufe hat. Ansonsten ist es zwar auch ganz nett, doch wie Plasma wirkt es auf keinen Fall. Wenn man nun, nach dem Setzen der Palette, diese auch noch 'cycelt' also immer ver„ndert bzw. 'im Kreise dreht', dann kommen m„chtig tolle Effekte heraus. Das war's auch schon wieder. šber's Palettensetzen und Color- cycling drfte wohl noch ein anderer Artikel zu finden sein. šber Plasma steht zumindest in der Pascal-Rubrik noch etwas. Viel Spaá........... Kemil PS: Ich hab da noch etwas von Skylab bekommen: Meine šberlegungen auf einem Schmierzettel waren wie folgt: Rechteck gegeben [(x1,y1)/(x2,y2)]! (Gedankenrechteck : keine Linien zeichnen) Auf jeder Seite dieses Rechtecks wird der Mit- telpunkt (der Seite) als farbiger Punkt gesetzt, wenn er noch farblos (schwarz) ist. Er erh„lt eine Farbe bestehend aus dem Mittleweret der Farben der Eckpunkte der (Gedanken-)linie und aus einem Zufallswert. Die Gr”áe des Zufallswertes h„ngt von der Ent- fernung der beiden Eckpunkte voneinander ab (je kleiner die Dif- ferenz, desto kleiner der Zufallswert vom Betrage her gesehen). Dadurch werden bei nahe bei einanderliegenden Punkten ungef„hr gleichfarbige Punkte zwischen diese gesetzt. In die Mitte des Rechtecks wird ein Punkt gesetzt, der als Farbe den Mittelwert der 4 Punkte, die auf den Rechteckseiten liegen, erh„lt. Skizze: P1 (x1/y1) *--------*--------* (x2/y2) | | | | 1 | 2 | | | | P4 *--------*--------* P2 | P5 | | 3 | 4 | | | | (x1/y2) *--------*--------* (x2/y2) p3 Wie in der Skizze dargestellt, wird dieses Rechteck nun in 4 wei- tere aufgeteilt. Fr jedes dieser Rechtecke verf„hrt man wie oben beschrieben und teilt diese wiederum in 4 weiter Rechtecke auf, usw... Das Verfahren wird solange ITERATIV angewendet, bis keine schwar- zen Pixel mehr vorhanden sind. Der so gefllte Screen wird nun per Palettencycling "animiert". Skylab