Zurück   Flashforum > Flash > ActionScript > Softwarearchitektur und Entwurfsmuster

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 19-10-2001, 15:34   #1 (permalink)
auferstanden
 
Benutzerbild von Johannes P.
 
Registriert seit: Sep 2001
Ort: München
Beiträge: 5.247
Bezier-Kurven

Hoi

hab' ein bisschen mit Bezier Kurven in Flash gespielt und das ist dabei rausgekommen:

>> Ansehen
>> Downloaden

Die kleinen Anfasser lassen sich auch manuell verschieben.

Hier ein paar Codeschnippsel:
PHP-Code:
// Setzt die "Anfasser"
movieclip.prototype.initPoints = function (setup) {
    var 
= -1;
    for (var 
a=1a<=4a++) {
        
attachMovie ("point""point"+aa);
        
with (this["point"+a]) { 
            
_x setup[++j];
            
_y setup[++j];
          }
    }
}
// Zeichnet die Bezier-Kurve anhand der "Anfasser"-Koordinaten
movieclip.prototype.drawBezier = function() {
    var 
5;
    
getPoints();
    for (var 
i=0i<=1i+=0.01) {
        
z++;
        
_root.attachMovie("dot""dot"+zz);
        
with (_root["dot"+z]) {
            
_x calculateBezier (x1,x2,x3,x4,i);
            
_y calculateBezier (y1,y2,y3,y4,i);
        }
    }
}
// Bewegt Objekt an Bezierkurve
movieclip.prototype.moveBezier = function () {
    
getPoints();
    
t<=+= 0.01 0;
    
_x calculateBezier (x1,x2,x3,x4,t);
    
_y calculateBezier (y1,y2,y3,y4,t);
}
// Berechnet die Bezier-Koordinaten
movieclip.prototype.calculateBezier = function (z1,z2,z3,z4,i) {
    return (((
1-i)*(1-i)*(1-i))*z1)+((3*i)*((1-i)*(1-i))*z2)+(((3*(i*i))*(1-i))*z3)+((i*i*i)*z4);
}
// gibt die aktuellen "Anfasser"-Koordinaten zurück
movieclip.prototype.getPoints = function () {
    
x1 _root.point1._x;
    
x2 _root.point2._x;
    
x3 _root.point3._x;
    
x4 _root.point4._x;
    
y1 _root.point1._y;
    
y2 _root.point2._y;
    
y3 _root.point3._y;
    
y4 _root.point4._y;
    return 
x1x2x3x4y1y2y3y4;

Viel Spass damit
__________________

Gruß
Johannes
¬ Homepage
¬ Tutorials und FAQs Forum
¬ Suchen und Finden
Johannes P. ist offline   Mit Zitat antworten
Alt 19-10-2001, 15:54   #2 (permalink)
netTrek
 
Benutzerbild von netTrek
 
Registriert seit: Jul 2001
Ort: 46282 Dorsten
Beiträge: 2.972
SAUBER...
...und...
COOL...

SABAN
__________________
Saban Ünlü

netTrek GmbH & Co. KG
Softwareentwicklung, Design & Konzeption
www.netTrek.de
netTrek ist offline   Mit Zitat antworten
Alt 19-10-2001, 17:41   #3 (permalink)
ontheoutsidelookingin
 
Benutzerbild von dassoud
 
Registriert seit: Jun 2001
Ort: Dortmund
Beiträge: 5.897
Thumbs up

da schließe ich mich an: ist richtig klasse geworden!!!

wowowow, kann nur noch staunen über die beispiele, die hier diesen monat vorgestellt werden!

hätte ich mal zeit...

grüße, dassoud
__________________

33rpm
dassoud ist offline   Mit Zitat antworten
Alt 19-10-2001, 18:05   #4 (permalink)
hOk
Neuer User
 
Benutzerbild von hOk
 
Registriert seit: Jun 2001
Ort: berlin
Beiträge: 829
Ich glaub ich krieg nen Mathe-Koller,
besonders diese Zeile hat es mir angetan:

(((1-i)*(1-i)*(1-i))*z1)+((3*i)*((1-i)*(1-i))*z2)+(((3*(i*i))*(1-i))*z3)+((i*i*i)*z4);

...voll cool irgendwie, erninnert mich an die Z16.
Johannes, du Mathehengst

netten Gruß, hOk
__________________
gobogo
hOk ist offline   Mit Zitat antworten
Alt 19-10-2001, 18:11   #5 (permalink)
meistens harmlos
 
Benutzerbild von rena
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 17.643
meine herrn .. nicht schlecht das funktioniert nicht nur fantastisch ... es sieht auch noch gut aus - was für 'ne kombination ...

@dassoud ... zeit? ja das wär was ... kenn ich

gruß
rena
__________________
www.rena-hermann.de

The angels have the phone box
rena ist offline   Mit Zitat antworten
Alt 19-10-2001, 18:15   #6 (permalink)
auferstanden
 
Benutzerbild von Johannes P.
 
Registriert seit: Sep 2001
Ort: München
Beiträge: 5.247
Hehe, danke danke
Diese Seite hat mich übrigens dazu inspiriert: http://www.zi.unizh.ch/publications/ps/bezier.html
__________________

Gruß
Johannes
¬ Homepage
¬ Tutorials und FAQs Forum
¬ Suchen und Finden
Johannes P. ist offline   Mit Zitat antworten
Alt 19-10-2001, 18:35   #7 (permalink)
CodeTypingOrganism CTO
 
Registriert seit: Jul 2001
Ort: NRW
Beiträge: 432
Der Link ist cool!

Sonst sucht man immer verzweifelt auf irgendwelchen Uni-Sites, um an kleine Häppchen mathematischer Information zu kommen.

Ich dachte eigentlich Du hast das Beispiel von Flash 5 und ActionScript Professionell aus der Edition PAGE, aber da habe ich mich wohl geirrt
klitze7-c004 ist offline   Mit Zitat antworten
Alt 19-10-2001, 19:25   #8 (permalink)
auferstanden
 
Benutzerbild von Johannes P.
 
Registriert seit: Sep 2001
Ort: München
Beiträge: 5.247
oi, hast recht.. da ist wohl schon jemand vor mir auf diese Idee gekommen.. nunja.. wenigstens ist meine Umsetzung objektorientiert
__________________

Gruß
Johannes
¬ Homepage
¬ Tutorials und FAQs Forum
¬ Suchen und Finden
Johannes P. ist offline   Mit Zitat antworten
Alt 19-10-2001, 19:30   #9 (permalink)
[Matthias K.] - Moderator
 
Benutzerbild von Madokan
 
Registriert seit: Jun 2001
Ort: Berlin/Germany - and the hole World !
Beiträge: 9.971
Find die hier aber schöner

mfg
Matze K.
Madokan ist offline   Mit Zitat antworten
Alt 20-10-2001, 12:05   #10 (permalink)
auferstanden
 
Benutzerbild von Johannes P.
 
Registriert seit: Sep 2001
Ort: München
Beiträge: 5.247
Hoi

hier eine Anwendung für die Bezierkurve.

Zufallsbewegung innerhalb eines definierten Vierecks:

>> Ansehen
PHP-Code:
movieclip.prototype.initObject = function (ltrb) {
    
x1 l+random(r-l);
    
x2 l+random(r-l);
    
x3 l+random(r-l)
    
x4 l+random(r-l);
    
y1 t+random(b-t);
    
y2 t+random(b-t);
    
y3 t+random(b-t);
    
y4 t+random(b-t);
    
_x x1;
    
_y y1;
}
movieclip.prototype.moveBezier = function (ltrb) {
    if (
a<=1) {
          
+= 0.05;
    } else {
        
0;
        
x1 _x;
        
x2 l+random(r-l);
        
x3 l+random(r-l)
        
x4 l+random(r-l);
          
y1 _y;
        
y2 t+random(b-t);
        
y3 t+random(b-t);
        
y4 t+random(b-t);
    }
    
_x calculateBezier (x1,x2,x3,x4,a);
    
_y calculateBezier (y1,y2,y3,y4,a);
}
movieclip.prototype.calculateBezier = function (z1,z2,z3,z4,i) {
    return (((
1-i)*(1-i)*(1-i))*z1)+((3*i)*((1-i)*(1-i))*z2)+(((3*(i*i))*(1-i))*z3)+((i*i*i)*z4);

Beispielaufruf:
PHP-Code:
onClipEvent (load) {
    
initObject(5050500350);
}
onClipEvent (enterFrame) {
    
moveBezier(5050500350);

__________________

Gruß
Johannes
¬ Homepage
¬ Tutorials und FAQs Forum
¬ Suchen und Finden
Johannes P. ist offline   Mit Zitat antworten
Alt 20-10-2001, 12:08   #11 (permalink)
ontheoutsidelookingin
 
Benutzerbild von dassoud
 
Registriert seit: Jun 2001
Ort: Dortmund
Beiträge: 5.897
jetzt hat's geklappt mit dem antworten? habe auch ca. 7-30 mails bekommen, daß du hier geantwortet hättest.

aber echt ein klasse beispiel!!! (stehst auf grüne kugeln, was? )

grüße, dassoud
__________________

33rpm
dassoud ist offline   Mit Zitat antworten
Alt 20-10-2001, 12:15   #12 (permalink)
auferstanden
 
Benutzerbild von Johannes P.
 
Registriert seit: Sep 2001
Ort: München
Beiträge: 5.247
Huch, ja, vorhin war der Server wohl down, hab's ein "paar mal" probiert

.. und ja.. wer mag sie denn nicht, die grünen Kugeln *sieganzputzigfind*
__________________

Gruß
Johannes
¬ Homepage
¬ Tutorials und FAQs Forum
¬ Suchen und Finden
Johannes P. ist offline   Mit Zitat antworten
Alt 20-10-2001, 12:17   #13 (permalink)
ontheoutsidelookingin
 
Benutzerbild von dassoud
 
Registriert seit: Jun 2001
Ort: Dortmund
Beiträge: 5.897
also ich mag sie auf jeden fall

grüße, dassoud
__________________

33rpm
dassoud ist offline   Mit Zitat antworten
Alt 20-10-2001, 13:17   #14 (permalink)
hOk
Neuer User
 
Benutzerbild von hOk
 
Registriert seit: Jun 2001
Ort: berlin
Beiträge: 829
Smile

Lieber Herr P.
so kann das nicht weiter gehen, seit dem Sie hier auf dem Board sind...
...empfangene ich mathematische Schwingungen,
Schwingungen von IHNEN

netten gruß, hOk

PS.: Hab schon Angst vor dem was noch kommen könnte:
Fraktale, Kryptographie, 3Dengines usw.
__________________
gobogo
hOk ist offline   Mit Zitat antworten
Alt 20-10-2001, 13:36   #15 (permalink)
ontheoutsidelookingin
 
Benutzerbild von dassoud
 
Registriert seit: Jun 2001
Ort: Dortmund
Beiträge: 5.897
jau, denke auch, daß johannes uns noch einige as-leckereien servieren wird...

jetzt aber ab in die sonne, ihr auch!

grüße, dassoud
__________________

33rpm
dassoud 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 12:56 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele