mathematische Funktionen malen lassen

Mahzuni

Mitglied
Hallo,

ich bräuchte da mal einen Tipp von euch.. ich hab vor ein paar Mathematische Funktionen zu "animieren".. also z.B. dass die sin Funktion Punkt für Punkt gemalt wird :)
Jetzt dachte ich, ich machs einfach in Flash.. weil da könnte ich noch mit wenig Aufwand ein paar Designelemente reinbringen. Doch nun kommt das Problem:

Ich hab keine Ahnung von Flash :) hab zwar früher ein wenig damit gearbeitet doch nichts programmiert. Hat eine/r ein extrem einfaches Tutorial wo so etwas beschrieben wird? Oder gibt es andere Vorschläge wo ich sowas machen könnte?

MfG Mahzuni
 
Hallo,

das ist schon ein sehr senkrechter Start, den du dir da vorgenommen hast ;). Um mathematische Spielereien mit ActionScript darstellen zu können, brauchst du schon ein bisschen Erfahrung im Umgang mit Code. Für den Fall, dass AS nun die erste Programmiersprache ist, die du lernen willst, empfehle ich dir mal sicher die Flash-internen Tutorials, weil du da vor für Anfänger lösbare Aufgaben gestellt wirst, die gut erklärt sind (finde zumindest ich).

Solltest du aber schon andere Programmiersprachen kennen und angewandt haben, dann geht es für dich vor allem darum, dich mit der Syntax von AS vertraut zu machen, die zwar über weite Strecken sehr logisch ist, aber trotzdem ihre Tücken aufweist. Hier findest du eine Sammlung von tollen mathematischen Flash-Spielereien. Es sind dies die Source-Daten für das Buch Flash Math Creativity, wühl da einfach mal ein bisschen im Code rum, probier zu verstehen, wies gemacht ist und bei Fragen hilft man dir hier sicher weiter.

gruss
 
Vielen Dank für die Sammlung :) Da ich schon ein wenig Java kann sollte das Programmieren an sich, mit Hilfe dieser Sammlung, keine Schwierigkeiten mehr machen ;)

Jetzt stellt sich für mich nur noch die Frage ob .. oder besser gesagt wie man in Flash Dateien einlesen kann. Ich habe einen "Auftrag" bekommen wo man mir eine Datei gibt wo x,y Koordinaten von verschiedenen Punkten und sonstiger Schnickschnack drin ist. Gibt es in Flash eine Funktion womit man diese "Numbers" einlesen kann? Und dann weiterverarbeiten?

Ich hab meinen Freund Google mal gefragt :) aber der gibt mir nur Beispiele wo Texte eingelesen werden..

Nochmals danke für die Sammlung

MfG Mahzuni
 
Hallo,

das kommt sehr auf den Dateityp deines Speicher-Files an. Man kann aber jeden String in Flash als Nummer interpretieren lassen. Bei XML-Dateien erkennt Flash via nodeValue den Variablen-Typ sogar automatisch. Das Medium prägt also die Methode. Ich persönlich empfehle dir XML, da sich XML-Daten in Flash auch sehr komfortabel verarbeiten lassen. Such doch mal in deiner Flash-Hilfe nach dem Begriff "XML", da werden dir die Möglichkeiten sehr gut erklärt.

Ich würde mir an deiner Stelle mal überlegen, wo, wie und in welcher Form du die Koordinaten einsetzen willst. Willst du Arrays durchlaufen? Wenn ja, wie sollen die sortiert und aufgebaut sein? Beschreib dein Kontept dann hier und man wird dir hier auch besser helfen können.

gruss
 
Zuletzt bearbeitet:
Ich weiss nicht ob XML wirklich vorteilhaft ist für meine Bedürfnisse :)

Also zuerst mal ein paar Details zu dem was ich eigentlich vorhabe.. oder machen soll:
Mir wird eine Datei, dessen Struktur noch nicht festgelegt ist, bereitgestellt wo sozusagen schon die komplette Animation drin ist.
Also der Spass wird zum Beispiel 50 Abschnitte haben wo vielleicht 7 Punkte mit x und y Koordinaten beschrieben sind. Die 50 Abschnitte werden nacheinander ausgeführt und neue x, y Koordinaten eingelesen so dass am Ende eine Animation erstellt wird. Zusätzlich zu den Koordinaten ist dann auch noch eine Matrix gegeben wo drin steht ob zwischen den Knoten n und k eine Verbindung besteht, wenn das so ist wird zwischen Knoten n und k eine Verbindung reingezeichnet. Die Verbindung is aber nicht dauerhaft, also die Matrix muss bei jedem Abschnitt neu eingelesen werden.

Am Ende sieht man dann die Punkte rumwandern und wenn die einen bestimmten Abschnitt oder eine bestimmte Entfernung zu einem anderen Punkt erreicht haben dann wird diese Verbindungslinie reingezeichnet.

Jetzt müsste ich eine Matrix in XML umsetzen die u.U. 7 Spalten und 7 Zeilen haben wird.. also bei 49 Einträge und das bei 50 Abschnitten... klingt lustig :)

Hmm vielleicht kann ich die vorgegebene Datei auch mit Hilfe von ner anderen Programmiersprach so umwursteln dass ich meine XML Datei erhalte... klingt irgendwie aufwändig :)

MfG Mahzuni
 
Ich kanns mir grade noch so vorstellen ;)...

Nun, für die Animation mit den 50 Abschnitten à 7 Punkten würd ich sicher mit XML arbeiten. Ich hab abgesehen davon nicht gesagt, dass XML die am wenigsten aufwendigste Methode ist, aber mal sicher die eleganteste.

Be dieser Matrix hingegen blick ich noch nicht ganz durch. Die Punkte, die da schwirren, sind Teil der Animation oder sind die beiden Teile unabhängig voneinander? Werden da zu Laufzeit neue Dateien ausgegeben, die Informationen über die Nähe von n und k enthalten bzw ob und wie die verknüpft werden oder soll das in Flash passieren?

:confused: mal wieder....

gruss
 
Die Matrix is sone Art Adjanzenzmatrix, also nur "0"en und "1"en drin :) Also wenn in Zeile 2 und Spalte 3 eine 1 steht dann sind die Knoten 2 und 3 verbunden und zwischen die beiden Knoten kommt ne Linie.
Die Matrix zeigt mir also an in welchem Abschnitt da zwischen die Punkte eine Linie reinsoll und welchem nicht.
 
sry dass es so lang gedauert hat:

Also ich hab jetzt mal die Details geklärt.

Die Datei wird ungefähr so aussehen:

<FRAME TIME=1>
<NODE ID=1>
<x>...</x>
<y>...</y>
<kante> n </kante> // also das hier wird anzeigen ob zwischen dem Knoten 1
<kante> n </kante> // und n eine Verbindung besteht, wobei n halt einer der anderen Knoten ist
</NODE>
</FRAME>

Node sind die einzelnen Punkte also da kommen noch ein paar mehr rein. Und bei <kante> kommen die Punkte rein zwischen denen eine Verbindung ist.

Ist das so richtig? oder besser ist das auf diese Weise machbar? oder sollte man es doch etwas anders machen?

MfG Mahzuni
 
Hallo,

wenn ich mich richtig erinnere, gibts auf 50 Abschnitte je 7 verschiedene Punkte, die zum Zeichnen einer Animation gebraucht werden, dazu kommt eine "Matrix", die alle Punkte ausgibt, die zusätzlich verbunden werden sollen.
Wenn dem so ist ;), dann ist dein Ansatz gut, aber ich würd die Animationspunkte und die Matrix trennen:

Code:
<abschnitt>
    <animation>
        <punkt_1>
            <x>14</x>
            <y>34</y>
        </punkt_1>
        <punkt_2>
            <x>14</x>
            <y>34</y>
        </punkt_2>
        <punkt_3>
            <x>14</x>
            <y>34</y>
        </punkt_3>
    </animation>
    <verbindungen>
        <link_1>
           <n>4</n>
           <k>5</k>
        </link_1>
        <link_2>
           <n>4</n>
           <k>5</k>
        </link_2>
    </verbindungen>
</abschnitt>

Sieht umständlich aus, aber ich würd mir eine XML-Struktur so aufbauen.

gruss
 
Zurück