AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Eckige Bewegungen bei kleinen Geschwindigkeiten
Thema durchsuchen
Ansicht
Themen-Optionen

Eckige Bewegungen bei kleinen Geschwindigkeiten

Ein Thema von Keex · begonnen am 12. Mär 2008 · letzter Beitrag vom 12. Mär 2008
Antwort Antwort
Keex

Registriert seit: 25. Feb 2004
29 Beiträge
 
#1

Eckige Bewegungen bei kleinen Geschwindigkeiten

  Alt 12. Mär 2008, 16:55
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


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.
Angehängte Dateien
Dateityp: rar project1_161.rar (127,8 KB, 13x aufgerufen)
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#2

Re: Eckige Bewegungen bei kleinen Geschwindigkeiten

  Alt 12. Mär 2008, 16:59
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.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Keex

Registriert seit: 25. Feb 2004
29 Beiträge
 
#3

Re: Eckige Bewegungen bei kleinen Geschwindigkeiten

  Alt 12. Mär 2008, 17:03
sweet. klappt. vielen dank


Zitat von OregonGhost:
Edit: Bei solchen Problemen kann es auch immer hilfreich sein, Quellcode anzuhängen. Glaskugeln sind out.
ist ein argument
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:34 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