![]() |
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 |
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!
|
Re: Canvas, Linie nch bestimmten winkel weiterzeichnen
Moin ssach,
schau Dir das hier mal an ![]() Da wird auch auf Winkelberechnungen näher eingegangen. BTW: Ich verschieb's mal nach "Sonstiges" |
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! |
Re: Canvas, Linie nch bestimmten winkel weiterzeichnen
Code:
Dann ist die vertikale sin(a) und die horizontale cos(a), wenn die hypothenunse 1 ist.
/|
/ | / | / | / | /_a___| a = Winkel 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 ... |
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:
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).
P
/| / | / | /phi| --A---------B----|--------- |
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