Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Eckige Bewegungen bei kleinen Geschwindigkeiten (https://www.delphipraxis.net/110076-eckige-bewegungen-bei-kleinen-geschwindigkeiten.html)

Keex 12. Mär 2008 15:55


Eckige Bewegungen bei kleinen Geschwindigkeiten
 
Liste der Anhänge anzeigen (Anzahl: 1)
Servus,

so ich spiele grade mal wieder ein wenig mit Delphi rum, weil ich schon immermal etwas sich bissl schön bewegen lassen wollte.

Und zwar hab ich einfach ein Programm geschrieben, welches auf Knopfdruck ein kleines Quadrat in eine Richtung beschleunigt und man so damit quasi herumfahren kann. Nicht wirklich auf Lenkung gemacht also vektoriell, sondern ganz simpel. Ich hänge das programm unten mal an, dann seht ihr auch gleich das Problem:

Rundungsungenauigkeit. Bei den kleinen Zahlen, die man bei den normalen PC auflösungen zu benutzen gezwungen wird machen sich Rundungsfehler ja extrem bemerkbar. das resultiert bei kleinen Geschwindigkeiten halt in sehr eckige Bahnen.

Im guten alten QBasic konnte man einfach über einen Window befehl eine pseudo-auflösung von was weiss ich 15000x15000 einstellen, wodurch die Rundungsfehler da rausgeflogen sind. Bei Delphi habe ich sowas allerdings nicht ausmachen können.

Zeichnen tue ich das einfach per Canvas aufs Form.


Hat einer da Lösungsansätze? Denke ich bin ja nicht der erste der so ein problem hat, obwohl die Suchfunktion dies vermuten lässt :o


Danke schonmal!



PS: Ich habe gelesen das man mit GDI+ oder Andorra 2D so sachen umschiffen kann. Bloss bin ich kein wirklicher Guru und vorhin schonmal dran verzweifelt auch nur dem Andorra tutorial zu folgen. :(

OregonGhost 12. Mär 2008 15:59

Re: Eckige Bewegungen bei kleinen Geschwindigkeiten
 
Ist deine Position eine Ganzzahl? Wenn ja, liegt hier dein Fehler. Speichere deine Position als Gleitkommazahl und runde sie nur für das Zeichnen, dann solltest du keine Probleme mehr haben.

Edit: Bei solchen Problemen kann es auch immer hilfreich sein, Quellcode anzuhängen. Glaskugeln sind out.

Keex 12. Mär 2008 16:03

Re: Eckige Bewegungen bei kleinen Geschwindigkeiten
 
sweet. klappt. vielen dank :-)


Zitat:

Zitat von OregonGhost
Edit: Bei solchen Problemen kann es auch immer hilfreich sein, Quellcode anzuhängen. Glaskugeln sind out.

ist ein argument ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz