AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Strecke zeichnen

Ein Thema von kevSTAR · begonnen am 6. Jul 2007 · letzter Beitrag vom 6. Jul 2007
Antwort Antwort
kevSTAR

Registriert seit: 5. Jun 2007
117 Beiträge
 
#1

Strecke zeichnen

  Alt 6. Jul 2007, 14:05
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.
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Strecke zeichnen

  Alt 6. Jul 2007, 14:27
Dann soll sie sich auf eine Kreisbahn bewegen. Berechne das ganze doch mit sin und cos.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
kevSTAR

Registriert seit: 5. Jun 2007
117 Beiträge
 
#3

Re: Strecke zeichnen

  Alt 6. Jul 2007, 14:29
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?
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Strecke zeichnen

  Alt 6. Jul 2007, 14:40
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:
y2:=y1+round(sqrt(10000-sqr(x2-x1)));
oder
y2:=y1-round(sqrt(10000-sqr(x2-x1)));
(Satz des Pythagoras)
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
kevSTAR

Registriert seit: 5. Jun 2007
117 Beiträge
 
#5

Re: Strecke zeichnen

  Alt 6. Jul 2007, 14:50
invalid float pointing operation

das is der fehler den ich bekomme wenn ich zu weit nach links oder rechts gehe
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#6

Re: Strecke zeichnen

  Alt 6. Jul 2007, 15:31
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...
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Strecke zeichnen

  Alt 6. Jul 2007, 15:38
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.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  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 07:00 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