![]() |
Strecke zeichnen
Halloo!
Ich habe ein viereck auf einer paintbox gezeichnet, wovon eine strecke ausgeht, sie soll 100 pixel lang sein und immer vom selben punkt ausgehen. Wenn ich nun die pfeiltaste links z.B drücke verringert sich der X wert und die gerade soll nach links gehen, aber immer die gleiche länge haben. wenn ich es so mache wie ich es mit dachte, Y immer gleich und X immer größer oder kleiner je nach dem ob ich nach links oder rechts drücke, wird die gerade aber auch entsprechend länger :( sie soll aber immer wie gesagt 100px lang sein. |
Re: Strecke zeichnen
Dann soll sie sich auf eine Kreisbahn bewegen. Berechne das ganze doch mit sin und cos.
|
Re: Strecke zeichnen
x+y ist der punkt wo die gerade aufhört und beide zusammen sind der punkt der sich auf dem kreisbogen bewegt aber wie berechne ich das?
|
Re: Strecke zeichnen
Nehmen wir mal an, du hast den Startpunkt (x1|y1) und die x-Koordinate des Endpunktes x2.
Dann berechnest du die y-Koordinate des Endpunkts y2 so: (du brauchst nicht mal sin und cos)
Delphi-Quellcode:
(Satz des Pythagoras)
y2:=y1+round(sqrt(10000-sqr(x2-x1)));
oder y2:=y1-round(sqrt(10000-sqr(x2-x1))); |
Re: Strecke zeichnen
invalid float pointing operation
das is der fehler den ich bekomme wenn ich zu weit nach links oder rechts gehe |
Re: Strecke zeichnen
hast du dir den Code auch mal angeschaut, oder nur Copy Paste gemacht? Im ersten Fall sollte dir recht schnell auffalen, dass da eine Wurzel gezogen wird und die negative Zahlen nicht allzu gut verträgt...
|
Re: Strecke zeichnen
Logisch, wenn du zu weit nach rechts oder links gehst, kann es irgendwann gar keine Strecke an den Punkt hin mehr geben, die eine Länge von 100 hat. Das würde sonst der Dreiecksungleichung wiedersprechen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:44 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