![]() |
Linie um bestimmten Winkel drehen
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich würde gerne eine Line drehen können und deren Start und Endkoordinaten ausrechnen können. Kann mir einer dazu einen Tipp gegebn? MfG |
AW: Linie um bestimmten Winkel drehen
Tipp:
![]() Aber welches X:Y suchst du denn jeweils? Die Zeichnung wiederspricht etwas deiner Beschreibung. - Die alten Endpunkte nach der Dreheung? - Die Schnittpunkte der Linie mit dem Rand, nach der Drehung? 1. Du hast den Punkt, um welchen gedreht werden soll. Damit berechnest du den Winkel und die Endfernung zu den Endpunkten, dann kannst du den Drehwinkel dazurechnen und über den neuen Winkel mit Entfernung die neuen Endpunkte berechnen 2. Du hast die Endpunkt, die Drehachse (den Schnittpunkt, um welchen gedreht wird). Neuen Drehwinkel dazuaddieren und die Schnittpunkte mit den Linien der Rahmen berechnen. |
AW: Linie um bestimmten Winkel drehen
Betrachten wir deine Zeichnung, machen zwei Dreiecke draus und nehmen den Schnittpunkt als Winkel Alpha an. Nehmen wir an der Winkel wind nicht größer 90°. Die halbe alte Linie ist (noch) die Ankathete (b), die neue Linie (genauso lang wie b am Anfang) wäre dann die Hypotenuse (c). Dreieck ist dann rechtwinkelig, gesucht (neue) a und b. Bekannt sind alle Winkel, also Alpha, Gamma (90°)und Beta (180 - Alpha und Beta).
Code:
a / sin(alpha) = b / sin(beta) = c / (gamma)
a := (c * sin(alpha)) / sin(gamma) b := (c * sin(beta)) / sin(gamma)
Code:
a und b gelten dann auch für die untere Linie und die dortigen x2 und y2.
x2 = x1 - a
y2 = y1 + b Ist der Winkel größer 90°, einfach von 180° abziehen, nur zu y1 eine halbe Länge dazu zählen. Ok, vermutlich geht das einfacher, ist auch schon lange her wo ich das in der Schule hatte. Ich denke mir man kann die Position auch mit Sin und Cos zusammen berechnen (ist ja letztendlich ein Kreis). Ist aber schon zu spät für kompliziertes Denken. |
AW: Linie um bestimmten Winkel drehen
Ja. Geht einfacher. Man transformiert die Punkte P1 und P2 in den Drehpunkt. Danach mit (cos/sin, -sin/cos) rotieren und anschließend wieder ins ursprüngliche KOO-System zurück transformieren. Die drei Schritte kann man auch in einer einzigen Formel zusammenfassen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:10 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