| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Isch kucke Registriert seit: Jan 2005
Beiträge: 1.616
| cubeCurveTo
Hallo. Wie im Threadtitel schon erwähnt bräuchte ich eben die Funktion cubeCurveTo für AS2. Weder die Suche hier noch bei Google hat mich weitergebracht. D.h. im Prinzip schon und wieder nicht. Formerlerklärungen in Mathematischen Hyroglyphen bringen mir nix da ich diesbezüglich ein Vollpfosten bin. Mit Formeln wie wegen mir x=Math.sin(2345) kann ich schon eher umgehen. Auch Pi usw. Also sowas ist für mich spanisch ![]() oder sowas ![]() Im Prinzip möchte ich einen Aufruf erreichen ala PHP-Code: quadratische curveTo. Nur leider fehlt mir absolut der Ansatz zur Umrechnung. Hat jemand sowas auf Halde oder kann mir zumindest erklären wie ich aus diesen 6 Parametern eben 8 mache (also für zwei normale curveTo's). Danke im Vorraus ![]() PS: Auch die Flashhilfe ist da mal richtig fürs Gesäß. Zwar sind da zwei hübsche Grafiken abgebildet (links Quadratisches Bezier, rechts kubisches Bezier) aber erklärt wird explizit nur das quadratische. Ganz großes Kino
__________________ Gesehen auf einem Türschild: Niederknien, anklopfen und um Audience betteln Har Har http://www.flashforum.de/forum/flash-mx-2004/uberblenden-tutorial-180341.html Mp3 Player http://www.flashforum.de/forum/stuff/stuff-jukebox-196373.html Geändert von labrar (04-08-2011 um 16:41 Uhr) |
| | |
| | #2 (permalink) | |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.162
| Zitat:
![]() Aber glücklicherweise hat hgseib in seinem unerschöpflichen Fundus ein Script dafür: PHP-Code:
__________________ Viele Grüße // Martin Martin Kraft // Interaktionsdesign Hilfreiche Websites: // Hilfe zur Adobe Flash Plattform // ActionScript 2 Referenz // ActionScript 3 Referenz // ActionScript 3 Arbeitshandbuch // weitere Flash Ressourcen Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da! Geändert von Martin Kraft (04-08-2011 um 16:53 Uhr) | |
| | |
| | #3 (permalink) |
| Isch kucke Registriert seit: Jan 2005
Beiträge: 1.616
|
Jup Danke. Die hatte cich mir auch schon angeschaut. Aber auch da werden ja nur vier Parameter angegeben. Ich habe aber sechs????
__________________ Gesehen auf einem Türschild: Niederknien, anklopfen und um Audience betteln Har Har http://www.flashforum.de/forum/showthread.php?t=180341 Mp3 Player http://www.flashforum.de/forum/showthread.php?t=196373 |
| | |
| | #4 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
| nützt dir das was? H.G.Seib -> berührungen und -> Zeichnen jeweils die ZIP laden. da ist das eine oder andere mit bezier dabei. aber den mathematischen hindergrund musst du dir selbst anlesen. dafür hats aber auch genug infos im internet.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (04-08-2011 um 16:59 Uhr) |
| | |
| | #5 (permalink) |
| Isch kucke Registriert seit: Jan 2005
Beiträge: 1.616
|
Jup ![]() LineBezier3 sollte genau das sein. Muchas graziaz
__________________ Gesehen auf einem Türschild: Niederknien, anklopfen und um Audience betteln Har Har http://www.flashforum.de/forum/showthread.php?t=180341 Mp3 Player http://www.flashforum.de/forum/showthread.php?t=196373 |
| | |
| | #6 (permalink) | |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.162
| Zitat:
Die 6 Parameter bzw. 3 Punkte (jeweils x und y) von den Du sprichtst, sind wahrscheinlich nur die 2 Kontrollpunkte sowie der Endpunkt der Kurve, weil bei den Methoden der Drawing-API der Anfangspunkt automatisch der Punkt ist, bei dem der letzte Zeichenprozess endete. Wenn Du nun aber einen kubische in 4 quadratische Bézierkurven umrechnen willst, brauchst Du diesen Anfangspunkt. Und damit hast Du dann 4 Punkte!
__________________ Viele Grüße // Martin Martin Kraft // Interaktionsdesign Hilfreiche Websites: // Hilfe zur Adobe Flash Plattform // ActionScript 2 Referenz // ActionScript 3 Referenz // ActionScript 3 Arbeitshandbuch // weitere Flash Ressourcen Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da! | |
| | |
| | #7 (permalink) |
| Isch kucke Registriert seit: Jan 2005
Beiträge: 1.616
|
Ja das mag stimmen. Aber ich habe tatsächlich 6 Parameter zum umrechen. SVG (C). @hgseib Deine Sache funktioniert für meine Zwecke zwar, aber du arbeitest da nur mit Lineto (x+=0.01,y+=0.01) was aber 100erte Punkte mit sich bringt. Wenn ich jetzt vier Punkte habe PHP-Code: Also zB. PHP-Code: Wie auf dem rechten Grafikchen der beiden hier
__________________ Gesehen auf einem Türschild: Niederknien, anklopfen und um Audience betteln Har Har http://www.flashforum.de/forum/showthread.php?t=180341 Mp3 Player http://www.flashforum.de/forum/showthread.php?t=196373 Geändert von labrar (04-08-2011 um 17:40 Uhr) |
| | |
| | #8 (permalink) |
| + Zimt & Zucker Registriert seit: Mar 2006 Ort: hinterm Mond gleich links
Beiträge: 2.040
| Eine kubische Bezier Kurve benötigt aber leider 4 Punkte für ihre Definition, basta. ![]() Du kannst auch nicht erwarten, mit nur 2 Punkten ein Dreieck eindeutig definieren zu können. Oder durch einen einzigen Punkt eine Gerade.
__________________ anbei Grüße vom milchreis: Viva la [Silb] "Selbst wenn uns nur noch der Zynismus treibt, wir werden trotzdem einfach immer weiter gehen!" [Von null auf Flash in einem Klick.] <<< klick |
| | |
| | #9 (permalink) | |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.162
| Zitat:
Du brauchst diese erste Koordinate zum berechen der 4 Cubischen Kurven. Ohne die geht's nicht! Auch in SVG kommt eine Kurve ja nicht aus dem nichts! Und wenn Du denn Endpunkt der letzten Zeichenoperation dazu nimmst, hast Du 4 Punkte bzw. 8 Werte. Und mit 4 Punkten und dem Code von oben ist Dein Problem gelöst!
__________________ Viele Grüße // Martin Martin Kraft // Interaktionsdesign Hilfreiche Websites: // Hilfe zur Adobe Flash Plattform // ActionScript 2 Referenz // ActionScript 3 Referenz // ActionScript 3 Arbeitshandbuch // weitere Flash Ressourcen Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da! Geändert von Martin Kraft (04-08-2011 um 18:05 Uhr) | |
| | |
| | #10 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
:-) quadratisch braucht 3 kubisch braucht 4 und höherwertige kurven kann man aus mehr punkten berechnen .. das dürfte aber nur die mathematiker interessieren. ist auch viel zu rechenaufwendig (siehe meine muster-beispiele: bezier 4.,5.,6. grades usw.) in der praxis langt die quadartische (ist übrigens eine parabel) sehr schön zu berechnen, liegt als flash-befehl vor ... komplexere kurvenzüge erreicht man durch einfaches aneinander hängen, wobei die anschlüsse die selbe tangentensteigung haben müssen. also z.b.: A-B-C (A= anfang, C= ende) C-D-E (B-C-D müssen auf einer linie liegen, für einen übergang von einer zur nächten curve) B,D wären in einem zeichenprogramm (z.b. illustrator) die 'anfasser' punkte, A,C,E sind die stützpunkte @labrar: so ganz ohne grundwissen wird's nicht gehen. lies dich halt mal ein. bin auch kein mathematiker, man muss es halt mal machen, dann sieht man wie es geht ;-)
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (05-08-2011 um 09:41 Uhr) |
| | |
| | #11 (permalink) |
| Isch kucke Registriert seit: Jan 2005
Beiträge: 1.616
|
Okay. Ich habe jetzt eine Quick'n'Dirty Lösung gebastelt. (Eigentlich eher Dirty) Aber sie funktioniert relative gut. PHP-Code: PHP-Code: Viel Spaß damit ![]() Ach so. Verbesserungsvorschläge sind immer sehr sehr nett ![]() PS: Die roten Quadrate und die blauen Kreise sind dragbar. (Ich hab da ein bissle beim Demo von hqseib geklaut. Bist ned böse oder??? Die grünen zeigen jeweils die Steuerpositionen an
__________________ Gesehen auf einem Türschild: Niederknien, anklopfen und um Audience betteln Har Har http://www.flashforum.de/forum/showthread.php?t=180341 Mp3 Player http://www.flashforum.de/forum/showthread.php?t=196373 Geändert von labrar (05-08-2011 um 14:38 Uhr) |
| | |
| | #12 (permalink) |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.162
|
Die Lösung ist aber sehr "dirty" und hat wenig mit der cubischen Beézierkurve zutun, die Du eigentlich simulieren möchtest. Zum Vergleich hab ich eben diese Kurve mal in Illustrator drüber gelegt (siehe dirty.png). Soweit ich weiß, braucht man eben 4 kubische Bézierkurven um halbwegs nah an eine Cubische zu kommen und nicht nur 2! Wieso verwendest Du nicht einfach den Code von oben, da hast Du doch alles was Du brauchst?
__________________ Viele Grüße // Martin Martin Kraft // Interaktionsdesign Hilfreiche Websites: // Hilfe zur Adobe Flash Plattform // ActionScript 2 Referenz // ActionScript 3 Referenz // ActionScript 3 Arbeitshandbuch // weitere Flash Ressourcen Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da! |
| | |
| | #13 (permalink) |
| Isch kucke Registriert seit: Jan 2005
Beiträge: 1.616
|
Ganz ehrlich? Weil ich den Code NULL schnalle. Und somit auch nix modifizieren kann. Also mit vieren würde es realistischer aussehen? Denn das kann ich da noch ranpacken. Danke für den Hinweis ![]() Bei hqseib's Lösung PHP-Code: Wie genau soll die Augerufen werden? p0 steht doch für einen Numerischen Wert oder nicht? D.h. doch im Umkehrschluss, ich müsste die funktion so aufrufen fBezier3_to_4Bezier2(startxposi,startyposi,steuerx ,steuery); Oder täusche ich mich da? Der Punkt ist, denn ich glaube darauf bin ich noch nicht expliztit eingegangen, dass ich SVG Pfade umrechenen will. So. Jetzt gibt es den SVG Bezeichner C welcher mit genau 6 Parametern um die Ecke kommt. Steuerx,Steuery, Steuer2x,Steuer2y,Endpunktx, Endpunkty. Der Startwert ist ja schon durch vorhergehendes zB. L oder M gegeben. Nochmal Edit: Durch eine kleine Abänderung PHP-Code: Aber bei einfacheren Bögen stimmt es gar nicht mehr. (Ich teste das genauso wie du. Ich lege immer eine Grafik einer stimmenden Kurve darunter )Ich werde es jetzt mal mit 4 curveTo's probieren.
__________________ Gesehen auf einem Türschild: Niederknien, anklopfen und um Audience betteln Har Har http://www.flashforum.de/forum/showthread.php?t=180341 Mp3 Player http://www.flashforum.de/forum/showthread.php?t=196373 Geändert von labrar (05-08-2011 um 15:35 Uhr) |
| | |
| | #14 (permalink) | |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.162
| Zitat:
Die Funktion oben erwartet 4 Punkte (das sind genausoviele, wie Du gerade in Deinem Code verwendest) und liefert dann ein Array mit 4mal 3 Punkten zurück (die logischerweise jeweils eine cubische Bézierkurven darstellen)! Jetzt musst Du doch nur noch jedes Array mit jeweils einem curveTo zeichnen! Aber bevor wir darüber noch ewig diskutuieren , hab ich's Dir hier mal etwas leserlicher zusammengetippt:PHP-Code:
__________________ Viele Grüße // Martin Martin Kraft // Interaktionsdesign Hilfreiche Websites: // Hilfe zur Adobe Flash Plattform // ActionScript 2 Referenz // ActionScript 3 Referenz // ActionScript 3 Arbeitshandbuch // weitere Flash Ressourcen Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da! Geändert von Martin Kraft (05-08-2011 um 15:45 Uhr) | |
| | |
| | #15 (permalink) |
| Isch kucke Registriert seit: Jan 2005
Beiträge: 1.616
|
Wow du bist ein Schatz ![]() Das wird gleichmal getestet
__________________ Gesehen auf einem Türschild: Niederknien, anklopfen und um Audience betteln Har Har http://www.flashforum.de/forum/showthread.php?t=180341 Mp3 Player http://www.flashforum.de/forum/showthread.php?t=196373 |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |