AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Darstellung im Maßstab

Ein Thema von rajuneon · begonnen am 12. Mär 2009 · letzter Beitrag vom 12. Mär 2009
 
rajuneon
(Gast)

n/a Beiträge
 
#1

Darstellung im Maßstab

  Alt 12. Mär 2009, 14:04
Hallo!

Ich habe ein Problem, an dem ich mir jetzt schon seit 2h die Zähne ausbeiße und nicht mal die Formulierung des Threadtitels ist einfach! Der Name passt nicht, aber ich weiß keinen besseren.

Also:

Ich habe einen Timer, in dem die x- und y-Koordinaten eines schiefen Wurfes berechnet werden.
Die Paintbox, in der ich das Ganze (durch lineto im timer) darstelle, ist 601 Pixel breit. Ich habe einen Faktor eingebaut, der es mir erlaubt, den Maßstab zu regulieren, also wenn der Faktor (von mir Darstellungsfaktor genannt) 1 ist, entspricht ein Pixel einem Meter, ist er 20, entsprechen 20 Pixel einem Meter. W ist die Wurfweite.

Delphi-Quellcode:
Timer1Timer.....

if W < 601 then
begin
  xx := round(x * darstfaktor);
  yy := round(y * darstfaktor);
end;

PaintBox1.Canvas.LineTo(xx,yy*(-1){Weil es ja eine umgekehrte Parabel ist} + 597{Paintbox-Höhe}); {Wurfparabel wird während des Wurfes gezeichnet}
Wenn nun aber schon die Wurfweite größer als 601m ist, reicht es ja nicht, den Darstellungsfaktor auf 1 zu setzen, um alles darzustellen. Ich will aber alles darstellen =)

Darum habe ich mir ausgedacht, doch einfach den x- bzw. y-Wert solange durch 2 zu teilen, bis es zur Gänze dargestellt werden kann.

Delphi-Quellcode:
 {auch im Timer}
if W > 601 then
begin
  darstfaktor := 1;
  repeat
    xx := round(x / 2);
    yy := round(y / 2);
  until W < 601;
end;
War wohl irgendwie falsch ausgedacht -.- Der ganze Mist geht nicht.
Ein bischen Hilfe wäre sehr nett! Hab auch nichts dagegen, das komplett anders zu machen!

Vielen Dank im Voraus!!!
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 13:48 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-2025 by Thomas Breitkreuz