| |||||||
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) |
| Bionicman Registriert seit: Apr 2007 Ort: Oberhausen - NRW
Beiträge: 29
|
Hallo, Und wieder Mal die Kreisfunktionen ![]() Ich weiß ja, aber leider hat meine Suche hier nichts ergeben und meine Mathefähigkeiten halten sich in Grenzen. Also mein Ziel ist recht einfach: Ich möchte ein Objekt zu einem bestimmten Zielpunkt bewegen. Die Entfernung zu diesem Zielpunkt kann variieren. Aber der Knackpunkt ist, das Objekt soll sich nicht auf einer Geraden, sondern einer Kurve dorthin bewegen. Soll heißen, der Radius des Kreises auf dem die jeweilige Teilstrecke liegt, wird unterschiedlich sein. Das höchste was ich mit Trigonometrie anstellen kann, ist Objekte, Kreise fliegen zu lassen. Leider hab ich keine Ahnung wie ich das anpassen kann. Hoffe ihr habt einen Link oder gleich die Lösung parat. Danke schon Mal
__________________ Gruß, Bionicman Deutscher Entwicklerpreis Aruba Studios Quo Vadis Deutsche Spielebranche Dass mir mein Hund das Liebste sei, sagst du oh Mensch sei Sünde, mein Hund ist mir im Sturme treu, der Mensch nicht mal im Winde. Franz von Assisi |
| | |
| | #2 (permalink) |
| obvious Registriert seit: Dec 2007 Ort: Berlin
Beiträge: 125
|
Wenn es nicht so auf Genauigkeit ankommt kannst du das recht einfach mit zwei Tweens faken. Für eine ähnliche Kurve wie auf deinem Bild zum Beispiel für x ein Tween mit easeIn (beschleunigt) und für y (bremst ab) ein Tween mit easeOut. Ansonsten müsstest du einen Mittelpunkt für den Kreisboden definieren, der von beiden Punkten gleich weit entfernt ist (Radius), dann Anfangs- und Endwinkel berechnen und schließlich mit Sinus und Cosinus tweenen. |
| | |
| | #3 (permalink) | |
| Bionicman Registriert seit: Apr 2007 Ort: Oberhausen - NRW
Beiträge: 29
|
Hallo xisari, Danke, eigentlich eine gute Idee und ich hätte grundsätzlich auch nichts gegen Fakes. Aber ich fürchte du verstehst da etwas falsch. Es geht mir nicht um diese zwei Kurven auf dem Bild, das waren nur Beispiele. Es handelt sich um ein Spiel bei dem die Objekte an beliebigen Stellen auf dem Schirm beliebig große Strecken zurücklegen können. Das heißt, wenn ich nichts übersehen habe, kann man das schlecht Faken. Kurz gesagt, es war von Anfang an meine Intention das ganze zu berechnen, wie mein Hinweis auf die Kreisfunktionen hätte ausdrücken sollen ![]() Zitat:
__________________ Gruß, Bionicman Deutscher Entwicklerpreis Aruba Studios Quo Vadis Deutsche Spielebranche Dass mir mein Hund das Liebste sei, sagst du oh Mensch sei Sünde, mein Hund ist mir im Sturme treu, der Mensch nicht mal im Winde. Franz von Assisi | |
| | |
| | #4 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.322
|
x = x_mittelpunkt + radius * sin(winkel); y = y_mittelpunkt + radius * cos(winkel);
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #5 (permalink) |
| Bionicman Registriert seit: Apr 2007 Ort: Oberhausen - NRW
Beiträge: 29
| ActionScript:
Das wusste ich auch noch (Es sei denn mir ist ein Hinweis entgangen)Danke für den Tipp, aber mir geht es weniger um die Theorie als die praktische Anwendung. Sprich, wie berechne ich aus den gegebenen Koordinaten this._x, this._y und sollX, sollY den korrekten Radius und den Start- sowie Endwinkel!? Denn das ist ja das eigentliche Problem, sonst könnte ich einfach einen beliebigen Radius nehmen. Aber Start- und Endposition sind ja gegeben. Das ist mir ein Rätsel und ich kann auch schlecht danach suchen, denn ich finde ständig nur Beschreibungen wie man eine komplette Kreisbahn berechnet. Aber nicht nur ein Teilstück, das zwei gegebene Punkte verbinden soll ![]() Hoffe das war jetzt verständlich. xisari hatte das schon richtig erkannt, nur leider fehlt mir noch eine Erklärung oder ein Beispiel zur Anwendung des ganzen.
__________________ Gruß, Bionicman Deutscher Entwicklerpreis Aruba Studios Quo Vadis Deutsche Spielebranche Dass mir mein Hund das Liebste sei, sagst du oh Mensch sei Sünde, mein Hund ist mir im Sturme treu, der Mensch nicht mal im Winde. Franz von Assisi Geändert von dark-future (14-02-2008 um 21:22 Uhr) |
| | |
| | #6 (permalink) | |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.322
| Zitat:
um einen kreis fest zu definieren, benötigst man 3 punkte. http://www.seibsprogrammladen.de/fra...on/Mathe/flash auf den gelben button klicken -> kreis durch 3 punkte
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de | |
| | |
| | #7 (permalink) | |
| Bionicman Registriert seit: Apr 2007 Ort: Oberhausen - NRW
Beiträge: 29
| Zitat:
Dann sehe ich zwei Möglichkeiten dennoch einen Kreis zu bilden:
Werde mir deinen Link Mal etwas genauer zu Gemüte führen, denn leider ist mir das ganze noch sehr suspekt und scheint mir hoch kompliziert. Schande über mein Haupt ![]() Versuche jetzt irgendwie den zweiten Weg umzusetzen. Mal sehen wo ich Infos zur Bildung eines gleichschenkligen Dreiecks finde. Tipps sind mir nach wie vor willkommen.
__________________ Gruß, Bionicman Deutscher Entwicklerpreis Aruba Studios Quo Vadis Deutsche Spielebranche Dass mir mein Hund das Liebste sei, sagst du oh Mensch sei Sünde, mein Hund ist mir im Sturme treu, der Mensch nicht mal im Winde. Franz von Assisi | |
| | |
| | #8 (permalink) |
| CodeGecko Registriert seit: Aug 2007 Ort: Hagen
Beiträge: 1.242
|
Gleichschenklig dürfte Dich nicht weiterbringen. Ich denke Du meinst eher gleichseitig. Gleichseitige Dreiecke sind recht einfach zu bilden, da die Seiten (wie der Name schon sagt) alle gleich lang sind und jeder der drei Winkel genau 60 Grad beträgt.
__________________ Grütze Reinhart XING || Simple Flash-Filter-Generator || DateChooser (AS3) MovieClipLoader-Example (AS2) || PreloaderClass (AS2) || Framechecker-Component (AS2) Bitte keine Flashfragen per PN oder ICQ. Dafür ist das Forum da. |
| | |
| | #9 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.322
|
ja, mach mal. bei 2 punkte plus radius gibt es: - entweder keine lösung, wenn der radius kleiner ist als der halbe abstand der punkte - oder zwei lösungen. die mitte kann links oder rechts von der verbindungslinie liegen du brauchst einen 3. mann zum skatspielen. das schon. strecke p1-p2 halbieren und eine linie im rechten winkel da durch ziehen. jeder punkt auf dieser linie wäre einer der gewünschten kreismittelpunkte (mit r > strecke (p1-p2)/2 ). aber wie schon geschrieben. es gibt links wie rechts lösungen.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (15-02-2008 um 15:38 Uhr) |
| | |
| | #10 (permalink) | |
| CodeGecko Registriert seit: Aug 2007 Ort: Hagen
Beiträge: 1.242
| Zitat:
![]() Zum Problem zurück: Mit der Problematik der Kreisbildung hat sich der olle Apollonios seiner Zeit auseinandergesetzt. Neben dem schönen Beispiel auf hgseibs Seite gibt es dazu noch nen schönen Wiki-Artikel.
__________________ Grütze Reinhart XING || Simple Flash-Filter-Generator || DateChooser (AS3) MovieClipLoader-Example (AS2) || PreloaderClass (AS2) || Framechecker-Component (AS2) Bitte keine Flashfragen per PN oder ICQ. Dafür ist das Forum da. | |
| | |
| | #11 (permalink) |
| Bionicman Registriert seit: Apr 2007 Ort: Oberhausen - NRW
Beiträge: 29
| Ich meinte natürlich auch gleichseitig und nicht gleichschenklig, sorry ![]() Zwischenstand: ActionScript:
this.mx/my ist der Schwerpunkt. Mir fehlt jetzt noch ein Ansatz zur Bestimmung der Winkel.
__________________ Gruß, Bionicman Deutscher Entwicklerpreis Aruba Studios Quo Vadis Deutsche Spielebranche Dass mir mein Hund das Liebste sei, sagst du oh Mensch sei Sünde, mein Hund ist mir im Sturme treu, der Mensch nicht mal im Winde. Franz von Assisi |
| | |
| | #12 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.322
|
du rechenst doch schon deine winkel aus. selbe rechnung für anfang = der winkel vom mittelpunkt zum 1.punkt ende = der winkel vom mittelpunkt zum 2.punkt p.s. w = Math.atan(sx / sy); besser w = Math.atan2(sx , sy); da hab ich noch was gefunden: http://www.seibsprogrammladen.de/fra...ispiele/flash6 -> bewegen von Punkt a nach Punkt b im Bogen bewegen
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #13 (permalink) |
| Bionicman Registriert seit: Apr 2007 Ort: Oberhausen - NRW
Beiträge: 29
|
Sorry fürs pushen. Wollte nur noch kurz ein großes Dank ausrichten! Hatte etwas Zeitmangel und konnte noch nicht weiter machen. Die Winkel die ich brauche rechne ich ja noch nicht aus, aber mit atan2 sind das zwei Zeilen und ich hab' meine Winkel.
__________________ Gruß, Bionicman Deutscher Entwicklerpreis Aruba Studios Quo Vadis Deutsche Spielebranche Dass mir mein Hund das Liebste sei, sagst du oh Mensch sei Sünde, mein Hund ist mir im Sturme treu, der Mensch nicht mal im Winde. Franz von Assisi |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |