![]() |
Epizykloide programm
Liste der Anhänge anzeigen (Anzahl: 2)
Guten abend sitze gerade an einem program
ich soll ein epizykloide simulieren d.h. ein äußerer Kreis rollt um einen inneren mit einem punkt auf dem äußeren der punkt beschreibt eine so genannte epizykloide die bahngleichung hab ich so also meine probleme mein kreis außen ich hab keine ahnung wie ich das mache das der rollt dann damit das ne simulation ist muss ja nach jedem timmer schritt sein das ein neus bild gemacht wird das mit das so sieht als ob der kreis rollt nur der bahn muss gezeichnet werden hoffe ihr versteht das und könnt mir helfen hab mein prog bis jetzt schon mal angehangen |
Re: Epizykloide programm
und was soll jetzt noch gemacht werden?????
|
Re: Epizykloide programm
Liste der Anhänge anzeigen (Anzahl: 1)
es soll so aussehen al sob der äußere kreis um den anderen rollt
das tut er ja nich er bleibt star wenn er rollt bewegt sich ja der rote punkt auf den äußeren kreis mit da ich alles in eine bitmap mache sieht das so aus wie es ist es soll aberso sein das immer wenn der timer einen schritt macht ein neues bild kommt also es nach dem rollen aus sieht hab schon ein ähnliches program mal gesehen was mein vorhaben evtl verdeutlicht hab angehangen |
Re: Epizykloide programm
wenn du es in bitmamps machst is es zwar leicht viel arbeit aber okey:
Der kreis in diesem Programm rollt nicht (von dem anderen) sondern ändert immer nur die position, indem er einen neuen 2. kreis erzeugt. Der Programmierer hat wahrsch. mit einer Schleife ausgerechnet wie viele Punkte der innere Kreis hat und hat dann über eine Formel die Position der Schnittpunktes (1. und 2. Kreis) errechnet. Dann hat er mit dem OnTimer Event immer einen neuen Kreis erzeugt mit der Schnitt Position, diie er vorher immer ausrechnet. Angaben ohne Gewähr. Kann sein dass ich mir total irre :duck: |
Re: Epizykloide programm
so weit war ich auch schon aber trotzdem bekomm ich das nicht hin
das ist mein problem weiß nich wie ich das programieren kann bin total am ende. Hoffe mir kann mal jemand ne formal sagen und sagen wie ich das rollen hin bekomme wollte das mit ne zweiten bitmap machen aber das ging nicht :( |
Re: Epizykloide programm
Ich werf mal 3 Stichworte in die Runde:
Ein Punkt r auf dem Kreis hat die Koordinaten r(R,phi) = R*cos(phi) Phi ist dein Winkel... Und da das Ganze sich dreht, geht die Zeit ein und die Winkelgeschwinigkeit: phi = omega*t Ich denk damit lass ich dich jetzt mal bichsen recherchieren ;-) |
Re: Epizykloide programm
Liste der Anhänge anzeigen (Anzahl: 1)
so hab es jetzt mal etwas vorangetrieben das ganze programm
aber halt der eine kreis kommt da nicht mit bekomm die formeln nicht hin um die koordinaten zu berechnen :wall: bin wohl etwas verbohrt häng das noch mal an vielleicht bekommt das hier jemand hin achso wenn ihr mal dabei seid kann mir jemand sagen wieso die bitmaps nich beim start gleich angezeigt werden hoffe ich komm durch eure hilfe voran |
Re: Epizykloide programm
Zitat:
Code:
AFAIR war t der Winkel zwischen den zwei Radien im Mittelpunkt des zweiten Kreises.
x(t) = (r2 + r) * cos(r / r2 * t) - r * cos(t + r / r2 * t)
y(t) = (r2 + r) * sin(r / r2 * t) - r * sin(t + r / r2 * t) Du kannst dir auch mal ![]() |
Re: Epizykloide programm
Hm wird mir nich viel bringen denk ich mal da den winkel vom mittelpunkt des inneren kreises "hochzählen" lasse vom timer.
vielleicht hat ja jemand ne alternative als das was da so in den wikepdias und so rum schwirrt+ schöne ostern noch |
Re: Epizykloide programm
Die beiden Winkel lassen sich ziemlich leicht ineinander umrechnen, schau es dir einfach mal auf einem Blatt Papier an.
Kleiner Tipp zu Ostern: Gleichlange Bögen an den beiden Kreisen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz