Warum ist Leda so wavin’?

November 4th, 2010 by admin

FlashPlayer starten

Frage: Welches Gefühl könnte obiges Bild symbolhaft beschreiben?

A: Heiterkeit
B: Genügsamkeit
C: Selbstmordgedanken eines verzweifelten Kryptologen?

Insgesamt drei mails habe ich zu dem nachfolgenden Thema bekommen,  zwei davon in verständlicher Sprache formuliert – für die dritte musste ich mehrere Wissenschaftler engagieren und fünf Wochen lang versorgen, ehe ich das folgende Ergebniss in den Händen hielt: Warum ist Leda so wavin’?

Großartig. Einen Haufen Geld für teure Wissenschaftler rausgehauen. Vielen Dank an Wolfgang. H aus H. Nie wieder wird man Da Vinci skizzen auf meinem Blog finden!

Um weiteren Kopfnüssen vorzubeugen und die Frage “Warum ist Leda so wavin’?” weitestgehend zu beantworten: Wer sich auf meinem kleinen Blog schon mal umgeschaut hat, hat sicher mal das Tutorial zu fortlaufenden Perlinschen Störungen bemerkt oder zumindest einen Hinweis darauf wahrgenommen. Mit perlinschen Bildern kann man ganz wundervolle Sachen anstellen. Das Bild, das aus diesen (in jedem Frame leicht modifizierten) Störungen hervorgeht, enthält Farbwerte, die (da bin ich mir sicher, auch wenn ich nicht explizit im AS3DMod Code nachgeschaut habe) bei Wavin’ Leda als Grundlage für die Z-Position der Polygoneckpunkte dienen, auf denen das Bitmap (also Leda) abgebildet ist.

Wer ein wenig mit Bitmapdata.perlin() gearbeitet hat, der kann sich das gut vorstellen: z.B, je heller ein Bereich (punkt) im Perlin Bild mit der Zeit wird, desto weiter wird der “zugehörige” Polygoneckpunkt in die Tiefe geschoben. Wenn also das Plane 100×100 px hätte und aus 10 segmenten besteht, befindet sich jeweils ein Eckpunkt an den Positionen (0,0), (0,10),(10,0),(10,10) und so weiter bis (100,100). Jetzt macht man sich so ein hübsches vortlaufendes perlinsches Störungsbild, das ebenfalls 100×100 hat, ehe die Magie ins Spiel kommt: Jetzt werden in Jedem Frame Farbinfos aus dem Bild entnommen und zwar an genau den Punkten/Pixeln, an denen sich auch die beschriebenen Sgement-Eckpunkte des Planes befinden. Wavin’ Leda: Voila.

Schematisch könnte man sich das z.B so vorstellen:

// on ENTER FRAME
plane.punkt3D.z = perlin_pixel_integer_color_value;

Schaut euch doch einfach nochmal dieses kurze Tutorial an, klickt das Bild und fokusiert euer Augenmerk auf einen Punkt in der Animation – hier könnte so ein Segment-Eckpunkt liegen, dessen Tiefe immer vom akutellen Farbwert abhängt. Wer hierzu mehr Infos wünscht, dem gebe ich noch einen Wertvollen Hinweis, wie man die Farbinfos effizient und auch möglichst performant rauskriegt – ihr erinnert euch? Bei der dynamischen Nebel Erzeugung haben wir genau das schon mal getan. Und schaut auch mal selbst auf www.everydayflash.com vorbei und sehet, was der gute Bartek Drozdz dort treibt.

Dieser Text wurde verfasst mit freundlicher Genehmigung von Wolfi H. aus H. Danke Wolf und weiterhin viel Spaß beim Flashen.

Waving Leda

Dezember 8th, 2009 by admin

Jetzt habe ich die letzten Tage ein Paar tuts für meine geschätzten Leser produziert, doch es wurde Zeit mal wieder was Neues auszuprobieren. Und weil ich im Rahmen der Grundlagen-Tutorials für Papervision mal wieder ein paar Kleinigkeiten im 3D Bereich coden konnte, hab ich mich auch für ein 3D Experiment entschieden. Das Ergebnis ist “Wavin’ Leda”, Davinci wäre begeistert (oder er dreht sich gerade in Grabe um). Dabei stellt man schnell fest, dass Bitmapmaterials mit Shader und Modifikatoren die FrameRate in die Knie gehen lassen. Ich habe das Plane hier mit nur 10×10 Segmenten mit “Leda bezogen” (hoffentlich liest das ein Kunsthistoriker) und komplett auf shading verzichtet und ich merke wie meine Athlon CPU leidet. Mit einfachen ShadeMaterials läuft die Sache schon flüssiger, aber dass niemand einen falschen Eindruck von meiner Meinung bekommt: AS3Dmod ist großartig, seht selbst:

FlashPlayer starten

Hier könnt ihr könnt ihr WavinLeda downloaden.
Um den Code zu kompilieren, benötigt ihr AS3DMod und natürlich Papervision3D Great White