Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Canvas, Linie nch bestimmten winkel weiterzeichnen (https://www.delphipraxis.net/10164-canvas-linie-nch-bestimmten-winkel-weiterzeichnen.html)

ssach 12. Okt 2003 21:38


Canvas, Linie nch bestimmten winkel weiterzeichnen
 
hy,

ich habe ne frage zu canvas (TIMAGE ODER TPAINT)!

ich habe eine kleine linie vertikal gezeichnet(breite = 1 pixel) und moechte jetzt von der endposition dessen linie eine weitere linie zeichnen lassen, aber mit einem bestimmten winkel zur anfangslinie!(bsp: 31°, 72°,...)
hab schon versucht mit sinus und cosinus eine formel zu erstellen, aber ich komme einfach nicht voran!
waere sehr dankbar für eure hilfe!!

danke


cu

axelf98 12. Okt 2003 22:02

Re: Canvas, Linie nch bestimmten winkel weiterzeichnen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Schau dir mal den Anhang an... Vielleicht findest du ja eine passende Formel!

Christian Seehase 12. Okt 2003 22:05

Re: Canvas, Linie nch bestimmten winkel weiterzeichnen
 
Moin ssach,

schau Dir das hier mal an

Mathematik f(x) = ax + b

Da wird auch auf Winkelberechnungen näher eingegangen.

BTW: Ich verschieb's mal nach "Sonstiges"

ssach 12. Okt 2003 22:06

Re: Canvas, Linie nch bestimmten winkel weiterzeichnen
 
danke für dieFormeln!

bei diesem programm hilft es mir leider nicht aber bei anderen anweendungen werde ich sie sicher noch gebrauchen!

Mirilin 12. Okt 2003 22:06

Re: Canvas, Linie nch bestimmten winkel weiterzeichnen
 
Code:
      /|   
     / | 
    /  |
   /   | 
  /    |
 /_a___|  a = Winkel
Dann ist die vertikale sin(a) und die horizontale cos(a), wenn die hypothenunse 1 ist.
Wegen der Ähnlichkeit gilt : hat die Hypothenuse die Länge l, ist die Horizontale l*cos(a) und die vertikale l*sin(a).

Jetzt musst du vielleicht noch beachten, dass das Koordinaten system des Canvas normaler Weise den Ursprung links oben hat und nach x rechts zunimmt und y nach unten.

[Edit : Ich hab nicht richtig gelesen, du wolltest ja den Winkel zur vorherigen ...

Dagon 13. Okt 2003 08:10

Re: Canvas, Linie nch bestimmten winkel weiterzeichnen
 
Wenn wir annehmen, dass der Endpunkt der neuen Linie P heisst (siehe Skizze unten) und AB sei die alte Streck, dann berechnest du für P die Koordianten wie folgt aus:

P( BP * sin(phi) / BP * cos(phi) ) <--- entspricht P(x/y)

Code:
                  P
                 /|
                / |
               /  |
              /phi|
 --A---------B----|---------
Jetzt musst du nur noch die entsprechenden Koordinaten von B addieren bzw. subtrahieren und schon hasst du den Anfangs- und Endpunkt der neuen Linie (also B für den Anfang, P für das Ende).


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:59 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