• SpryFlashCMS das Flash CMS
  • TWUMBLE - bald online
  • Adobe User Group
Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-03-2004, 18:40   #1 (Permalink)
_root.wheez
 
Benutzerbild von WHEEZ
 
Registriert seit: Apr 2002
Ort: W´hof City BAVARIA
Beiträge: 102
An die Mathe Profis... Supershape

Bei Heise http://www.heise.de/newsticker/meldung/45863 habe ich heute was über die "Grafik Superformel" gelesen. Auf http://astronomy.swin.edu.au/~pbourk...es/supershape/ gibt es eine Beschreibung über den Aufbau der Formel und ein Code Beispiel dazu. Leider bin ich in Mathe nicht unbedingt eine Leuchte... aber das könnte man doch sicherlich auch gut in AS umsetzen. Vielleicht hat ja jemand Lust drauf...

WHEEZ
WHEEZ ist offline   Mit Zitat antworten
Alt 21-03-2004, 22:46   #2 (Permalink)
God made me funky..
 
Registriert seit: Apr 2003
Ort: Bremen
Beiträge: 1.067
Kann man:

ActionScript:
  1. function getPoint( m:Number, n1:Number, n2:Number, n3:Number, phi:Number ) {
  2.     var r:Number;
  3.     var t1:Number;
  4.     var t2:Number;
  5.     var a:Number = 1;
  6.     var b:Number = 1;
  7.     var x:Number = 0;
  8.     var y:Number = 0;
  9.     t1 = (1 / a) * Math.cos((m / 4) * phi);
  10.     t1 = Math.abs(t1);
  11.     t1 = Math.pow(t1, n2);
  12.     t2 = (1 / b) * Math.sin((m / 4) * phi);
  13.     t2 = Math.abs(t2);
  14.     t2 = Math.pow(t2, n3);
  15.     r = Math.pow(t1 + t2, 1 / n1);
  16.     if (r != 0) {
  17.         r = 1 / r;
  18.         x = r * Math.cos(phi);
  19.         y = r * Math.sin(phi);
  20.     }
  21.     var p:Object = {x:x, y:y};
  22.     return p;
  23. }
  24. var m:Number = 1 / 6;
  25. var n1:Number = 0.3;
  26. var n2:Number = 0.3;
  27. var n3:Number = 0.3;
  28. var maxAngle:Number = 12 * Math.PI;
  29.  
  30. var x = 100;
  31. var y = 100;
  32. _root.lineStyle(1, 0x0000FF );
  33. for (var i:Number = 0; i <= maxAngle; i += 0.01 ) {
  34.     var p:Object = getPoint(m, n1, n2, n3, i );
  35.     if (i == 0) {
  36.         _root.moveTo( x + ( p.x * 100 ), y + ( p.y * 100 ) );
  37.     } else {
  38.         _root.lineTo( x + ( p.x * 100 ), y + ( p.y * 100 ) );
  39. }
  40. }
__________________
Kunst ist in erster Linie eine Frage der Form und nicht des Inhalts
Paul Rand
e2e4 ist offline   Mit Zitat antworten
Alt 21-03-2004, 23:23   #3 (Permalink)
i++
snafu
 
Benutzerbild von i++
 
Registriert seit: Feb 2003
Ort: 5 feet over ground
Beiträge: 214
hi,

@wheez: danke für die links. da hat sich ja mal wieder jemand eine schöne formel ausgedacht

mit der musste ich doch erstmal etwas rumspielen:

http://www.liquid-screen.de/forum/fl...uperShape.html

und hier die fla, falls sie jemand beötigt.

http://www.liquid-screen.de/forum/fl...hape_1.fla.zip

i++
i++ ist offline   Mit Zitat antworten
Alt 21-03-2004, 23:36   #4 (Permalink)
God made me funky..
 
Registriert seit: Apr 2003
Ort: Bremen
Beiträge: 1.067
@i++: Die Idee hatte ich auch grad:
http://www.e2e4.net/ff/supershapes/supershape.htm
__________________
Kunst ist in erster Linie eine Frage der Form und nicht des Inhalts
Paul Rand
e2e4 ist offline   Mit Zitat antworten
Alt 22-03-2004, 09:21   #5 (Permalink)
Hot's no frogn gebn?!
 
Benutzerbild von Joemoe
 
Registriert seit: Oct 2002
Ort: Vlbg, ÖR
Beiträge: 186
und ich fand mathe in der schule immer so lagnweilig, doch da stell ich fest, ich hatte nur den falschen lehrer!
__________________
www.morgenstille.at
www.treemotion.at
Joemoe ist offline   Mit Zitat antworten
Alt 22-03-2004, 10:02   #6 (Permalink)
VISIONcom
 
Registriert seit: Feb 2004
Ort: Luzern (CH)
Beiträge: 223
Coole Formel!

Aber wie kann ich so ein 5eck zeichen!?
visioncom ist offline   Mit Zitat antworten
Alt 22-03-2004, 10:47   #7 (Permalink)
i++
snafu
 
Benutzerbild von i++
 
Registriert seit: Feb 2003
Ort: 5 feet over ground
Beiträge: 214
hi,

sorry. die erste version beinhaltete noch einen fehler. und zwar habe ich m zu testzwecken auf einen festen wert gesetzt, statt den wert aus dem eingabefeld auszulesen
daher waren keine anderen formen (zb. 5-eck) möglich. ist jetzt aber korrigiert...

für ein 5-eck:
m = 5
n1 = n2 = n3 = 1
range = 2
scaling und detail = ?

i++
i++ ist offline   Mit Zitat antworten
Alt 22-03-2004, 10:54   #8 (Permalink)
VISIONcom
 
Registriert seit: Feb 2004
Ort: Luzern (CH)
Beiträge: 223
sorry aber es funktioniert immer noch nicht!

Oder hast du es erst jetzt fertig hochgeladen!?
visioncom ist offline   Mit Zitat antworten
Alt 22-03-2004, 11:01   #9 (Permalink)
i++
snafu
 
Benutzerbild von i++
 
Registriert seit: Feb 2003
Ort: 5 feet over ground
Beiträge: 214
hi,

also bei mir geht es. vielleicht ein cache-problem deines browsers?

i++
i++ ist offline   Mit Zitat antworten
Alt 22-03-2004, 11:05   #10 (Permalink)
_root.wheez
 
Benutzerbild von WHEEZ
 
Registriert seit: Apr 2002
Ort: W´hof City BAVARIA
Beiträge: 102
Thumbs up

Das is ja geil!
Ging ja superschnell - kann man bestimmt gut für kleine Spielereien gebrauchen.... da gibts auch noch ne 3D Variante davon -
http://astronomy.swin.edu.au/~pbourk.../supershape3d/
... aber da is Flash glaub ich etwas überfordert
WHEEZ ist offline   Mit Zitat antworten
Alt 22-03-2004, 11:12   #11 (Permalink)
VISIONcom
 
Registriert seit: Feb 2004
Ort: Luzern (CH)
Beiträge: 223
Ich bekomme zwar ein 5eck. doch die verbindung der Ecken sind nicht gerade sondern gebogen. kann das irgendwie ändern!?
visioncom ist offline   Mit Zitat antworten
Alt 22-03-2004, 11:55   #12 (Permalink)
God made me funky..
 
Registriert seit: Apr 2003
Ort: Bremen
Beiträge: 1.067
Auf der Site von Paul Bourke ist noch mehr so schönes Zeug: http://astronomy.swin.edu.au/~pbourke/
__________________
Kunst ist in erster Linie eine Frage der Form und nicht des Inhalts
Paul Rand
e2e4 ist offline   Mit Zitat antworten
Alt 22-03-2004, 12:02   #13 (Permalink)
Level up
 
Benutzerbild von Alois
 
Registriert seit: Jun 2001
Ort: Bocholt
Beiträge: 4.154
Zitat:
Geschrieben von visioncom
Ich bekomme zwar ein 5eck. doch die verbindung der Ecken sind nicht gerade sondern gebogen. kann das irgendwie ändern!?
n1=1,57719...
...die genaue Formel muss ich noch überdenken...

Alois
__________________
-Spuckt mir auf den Stuhl, ich will im Grünen sitzen-
Alois ist offline   Mit Zitat antworten
Alt 22-03-2004, 12:10   #14 (Permalink)
i++
snafu
 
Benutzerbild von i++
 
Registriert seit: Feb 2003
Ort: 5 feet over ground
Beiträge: 214
hi,

ich habe nochmal eine version mit ein paar presets und einem grösseren bereich für n1, n2, n3 gemacht.
mit etwas spielerei kommen die witzigsten formen raus, oder auch sehr 'unharmonische'

http://www.liquid-screen.de/forum/fl...erShape_2.html
http://www.liquid-screen.de/forum/fl...hape_2.fla.zip

weitere beispiele gibt es auf der seite von paul bourke: Paul Bourkes SuperShape

i++
i++ ist offline   Mit Zitat antworten
Alt 22-03-2004, 13:06   #15 (Permalink)
Level up
 
Benutzerbild von Alois
 
Registriert seit: Jun 2001
Ort: Bocholt
Beiträge: 4.154
nochmal zur geraden Linie bei m>=4 erreicht man gerade Linien wenn:
n1=(m-2)/2/Math.sin(2*Math.PI/m);
....allerdings ist das nicht mehr richtig bei m<4...das deutet darauf hin, daß da noch ein Denkfehler drin ist.... ich habe aber jetzt nicht mehr die Zeit das Ding durchzuforsten (die Funktion ist eh mehr oder weniger sinnlos).

Gruß

Alois
__________________
-Spuckt mir auf den Stuhl, ich will im Grünen sitzen-
Alois ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 07:09 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2010 Marc Thiele und Sascha Wolter.