| Autor |
Nachricht |
ConditionZero
       
Beiträge: 190
Win XP
Delphi 7 PE, C++ (Dev-C++), HTML+PHP (Dreamweaver MX), JavaScript(MS FrontPage)
|
Verfasst: So 30.12.07 13:30
Moin,
Also folgendes: Ich möchte ein Shape per Knopfdruck gleichförmig beschleunigt bewegen. Jedoch soll Beschleunigung a wie bei einem Auto immer niedriger werden, so das immer langsamer Beschleunigt wird. (siehe Grafik im Anhang)
Hier meine ersten Versuche:
Da passiert eigemtlich genau das was soll nur falsch herum...
Kann mir da jemand weiterhelfen?
Lg
Marc
Einloggen, um Attachments anzusehen!
Zuletzt bearbeitet von ConditionZero am So 30.12.07 13:49, insgesamt 1-mal bearbeitet
|
| |
|
|
Werbung ausblenden? Dann registriere Dich kostenlos.
Weitere Gründe für eine Registrierung.
Werbung ausblenden? Dann registriere Dich kostenlos.
Weitere Gründe für eine Registrierung.
|
|
Martok
      

Beiträge: 2837
Erhaltene Danke: 182
Win 2000, Win XP
Delphi 7, Turbo Delphi Exp.
|
Verfasst: So 30.12.07 13:34
Gleichförmig beschleunigt....autsch. Das heißt gleichmäßig beschleunigt
Wenn a kleiner werden soll, warum addierst du dann 1? Einfach auf 10-20 initialisieren, und immer a-1 bis man bei 1 bzw 0 angekommen ist.
_________________ "The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
Ich code EdgeMonkey -~==~- #ee-lounge in Freenode
|
| |
|
|
Mitmischer 1703
      
Beiträge: 747
Erhaltene Danke: 17
Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
|
Verfasst: So 30.12.07 13:35
ConditionZero hat folgendes geschrieben: |
[delphi]
a:= a+1;
Shape1.Left:= Shape1.Left+a;
|
Da addierst du! Weiß nicht, ob das richtig ist
EDIT: Zu langsam 
_________________ Was soll ich sagen???
|
| |
|
|
ConditionZero 
       
Beiträge: 190
Win XP
Delphi 7 PE, C++ (Dev-C++), HTML+PHP (Dreamweaver MX), JavaScript(MS FrontPage)
|
Verfasst: So 30.12.07 13:48
Martok hat folgendes geschrieben: | Gleichförmig beschleunigt....autsch. Das heißt gleichmäßig beschleunigt  |
Mein Phsyikbuch sagt da aber was anderes... Also IMHO heißts Gleichfömig beschleunigte Bewegung
Martok hat folgendes geschrieben: | | Wenn a kleiner werden soll, warum addierst du dann 1? Einfach auf 10-20 initialisieren, und immer a-1 bis man bei 1 bzw 0 angekommen ist. |
Ja genau da liegt aber das Problem... Anfangs habe ich dann eine extrem schnelle Bewegung und später eine kleinere.
Aber ein Auto wird ja immer schneller nicht immer langsamer...
d.h.: v muss antiproportional zu a steigen denn ein Auto ist wird ja auch immer schneller, nur der FAKTOR der Beschleungigung (zur Erinnerung [a]= Km/h²) muss sinken.
lg
marc
|
| |
|
|
Martok
      

Beiträge: 2837
Erhaltene Danke: 182
Win 2000, Win XP
Delphi 7, Turbo Delphi Exp.
|
Verfasst: So 30.12.07 14:43
Gleichförmig ist doch gleichförmig und nicht beschleunigt... Jedenfalls bei uns.
Achso... dein a ist also v... oder was?
Naja, dann halt noch ne Variable, alles auf Float-Berechnungen umstellen und dann müsste es gehen.
_________________ "The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
Ich code EdgeMonkey -~==~- #ee-lounge in Freenode
|
| |
|
|
ConditionZero 
       
Beiträge: 190
Win XP
Delphi 7 PE, C++ (Dev-C++), HTML+PHP (Dreamweaver MX), JavaScript(MS FrontPage)
|
Verfasst: So 30.12.07 14:53
Martok hat folgendes geschrieben: | | Gleichförmig ist doch gleichförmig und nicht beschleunigt... Jedenfalls bei uns. |
Das gleichförmig ist aber auf beschleunigte Bezogen, denn die Beschleunigung a steigt mit einem konstanten Faktor an
Sonst würde es nämlich Gleichförmige, beschleunigte Bewegung heißen.
Martok hat folgendes geschrieben: | Achso... dein a ist also v... oder was?
Naja, dann halt noch ne Variable, alles auf Float-Berechnungen umstellen und dann müsste es gehen. |
Nein v existiert aus dem Grund noch nicht, da ich keine Ahnung habe wie ich den Wert von v berechnen kann. (Mit der Proportion von a)
lg
marc
|
| |
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: So 30.12.07 14:58
Öm... v = at?
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
| |
|
|
ConditionZero 
       
Beiträge: 190
Win XP
Delphi 7 PE, C++ (Dev-C++), HTML+PHP (Dreamweaver MX), JavaScript(MS FrontPage)
|
Verfasst: So 30.12.07 15:05
Ah genau... Thx
Also mit v = 0.5at² müsstes gehen (zum nachlesen  )
Fraglich ist jetzt nur noch warum der Compiler FloatToInt(a); nicht erkennt.
lg
marc
|
| |
|
|
Herr Bananerama
       
Beiträge: 130
|
Verfasst: So 30.12.07 15:29
Seit ihr euch sicher das das eine konstante Beschleunigung ist und ne geradlinige Bewegung weil wir haben gelernt das diese in einem v t diagramm keine parabel sonder eine gerade mit a <> 0 ist !!!?
|
| |
|
|
ConditionZero 
       
Beiträge: 190
Win XP
Delphi 7 PE, C++ (Dev-C++), HTML+PHP (Dreamweaver MX), JavaScript(MS FrontPage)
|
Verfasst: So 30.12.07 15:35
Deswegen habe ich das Wörtchen verzögerte ins Topic mit rein... Das macht nämlich die ganze Sache erst kompliziert.
Die Beschleundigung a wird nämlich gleichförmig reduziert mit Konstanten Faktor (was nicht bedeutet Konstante Summe!)
Deshalb die Parabel.
Gehört glaube aber nicht zum normalen Unterrichtsstoff, wir haben das nämlich auch nicht auf diese Variante durchgenomme (Antiproportional anstatt proportional)
lg
marc
//Die Frage wegen dem Umkonvertieren steht noch 
|
| |
|
|
Herr Bananerama
       
Beiträge: 130
|
Verfasst: So 30.12.07 15:54
ConditionZero hat folgendes geschrieben: | Ah genau... Thx
Also mit v = 0.5at² müsstes gehen (zum nachlesen )
Fraglich ist jetzt nur noch warum der Compiler FloatToInt(a); nicht erkennt.
lg
marc |
ganz einfach ... es gibt kein FloatToInt. Eine gleitkommazahl in eine ganzzahl umwandeln tust du indem du rundest oder die stellen hinterm komma abschneidest. Das geht mit Round() und Trunc().
|
| |
|
|
ConditionZero 
       
Beiträge: 190
Win XP
Delphi 7 PE, C++ (Dev-C++), HTML+PHP (Dreamweaver MX), JavaScript(MS FrontPage)
|
Verfasst: So 30.12.07 16:06
Ok funkt. thx
Aber irgendwie Bewegt sich das Shape fürn Auto recht seltsam. (Anhang).
Hier aktueller Code:
lg
marc
//Sehr seltsam ist das sich das Shape immer anderst bewegt. lol
Einloggen, um Attachments anzusehen!
|
| |
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: So 30.12.07 16:14
ConditionZero hat folgendes geschrieben: | | Also mit v = 0.5at² müsstes gehen |
Nein, das wäre s = 1/2at² 
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
| |
|
|
ConditionZero 
       
Beiträge: 190
Win XP
Delphi 7 PE, C++ (Dev-C++), HTML+PHP (Dreamweaver MX), JavaScript(MS FrontPage)
|
Verfasst: So 30.12.07 16:21
GTA-Place hat folgendes geschrieben: | ConditionZero hat folgendes geschrieben: | | Also mit v = 0.5at² müsstes gehen |
Nein, das wäre s = 1/2at²  |
Recht haste... Ändert aber nichts groß am Bug.
Ich vermute schwer es liegt an dem a:= a-0.3;
lg
marc
//Edit: Die verschiedenen Bewegungen lagen am Timer, hatte vergesen Enabled auf false zu stellen.
|
| |
|
|
Herr Bananerama
       
Beiträge: 130
|
Verfasst: So 30.12.07 16:26
|
| |
|
|
ConditionZero 
       
Beiträge: 190
Win XP
Delphi 7 PE, C++ (Dev-C++), HTML+PHP (Dreamweaver MX), JavaScript(MS FrontPage)
|
Verfasst: So 30.12.07 16:28
Ich weiß zwar nicht warum, aber du hast Recht funzt schon vieel besser  thx ich näher mich meinem Ziel *freu*
lg
marc
|
| |
|
|
Herr Bananerama
       
Beiträge: 130
|
Verfasst: So 30.12.07 16:59
ConditionZero hat folgendes geschrieben: | Ich weiß zwar nicht warum, aber du hast Recht funzt schon vieel besser thx ich näher mich meinem Ziel *freu*
lg
marc |
Das ganze nennt man negative Beschleunigung und tritt z.B. auf wenn man bremst. Die beschleunigung ist negativ wenn
a < 0. Das sieht man im Graphen daran das er fällt.
|
| |
|
|
ConditionZero 
       
Beiträge: 190
Win XP
Delphi 7 PE, C++ (Dev-C++), HTML+PHP (Dreamweaver MX), JavaScript(MS FrontPage)
|
Verfasst: So 30.12.07 17:28
Ok, ich habe gerade bemerkt wir reden ein bisschen aneinander vorbei...
Also nochmal was ich erreichen will: Das Shape soll sich Verhalten wie ein Auto wenn es ohne weiteres von 0 auf Maximalgeschwindigkeit beschleunigt.
Das das KEINE gleichförmig beschleunigte Bewegung ist, erkennt man an folgender Veranschaulichung:
Wenn ein Auto 20 Km/h fährt, ist es zwar langsamer als wenn es 100 Km/h fährt, ABER die Beschleunigung a vom Auto ist noch besser als mit 100 Km/h. d.h. Je schneller das Auto fährt desto schlechter wird die Beschleunigung des Autos aber die eigentliche Geschwindigkeit ist trozdem höher... (Vielleicht macht die Tabelle im Anhang es leichter verständlich).
Und momentan ist der Fall:
Das Auto ist... Ehrlich gesagt keine Ahnung was grade schiefgeht, deswegen male ich nochmal ein Diagramm was den Fehler momentan veranschaulicht.
Einloggen, um Attachments anzusehen!
|
| |
|
|
Herr Bananerama
       
Beiträge: 130
|
Verfasst: So 30.12.07 17:37
ConditionZero hat folgendes geschrieben: | Ok, ich habe gerade bemerkt wir reden ein bisschen aneinander vorbei...
Also nochmal was ich erreichen will: Das Shape soll sich Verhalten wie ein Auto wenn es ohne weiteres von 0 auf Maximalgeschwindigkeit beschleunigt.
Das das KEINE gleichförmig beschleunigte Bewegung ist, erkennt man an folgender Veranschaulichung:
Wenn ein Auto 20 Km/h fährt, ist es zwar langsamer als wenn es 100 Km/h fährt, ABER die Beschleunigung a vom Auto ist noch besser als mit 100 Km/h. d.h. Je schneller das Auto fährt desto schlechter wird die Beschleunigung des Autos aber die eigentliche Geschwindigkeit ist trozdem höher... (Vielleicht macht die Tabelle im Anhang es leichter verständlich).
Und momentan ist der Fall:
Das Auto ist... Ehrlich gesagt keine Ahnung was grade schiefgeht, deswegen male ich nochmal ein Diagramm was den Fehler momentan veranschaulicht. |
Ahh jetzt verstehe ich, hmmm dann gib uns doch nochmal die prozedur so wie du sie jetzt hast, vielleicht können wir dann ja irgendwas erkennen. Eigentlich ist dann was die anderen geschrieben haben aufjedenfall richtig würde ich sagen
|
| |
|
|
ConditionZero 
       
Beiträge: 190
Win XP
Delphi 7 PE, C++ (Dev-C++), HTML+PHP (Dreamweaver MX), JavaScript(MS FrontPage)
|
Verfasst: So 30.12.07 17:49
Herr Bananerama hat folgendes geschrieben: | | Ahh jetzt verstehe ich, hmmm dann gib uns doch nochmal die prozedur so wie du sie jetzt hast, vielleicht können wir dann ja irgendwas erkennen. Eigentlich ist dann was die anderen geschrieben haben aufjedenfall richtig würde ich sagen |
Ok, hier nochmal der komplette Quellcode
|
| |
|
|