Pfeile frei auf einer Ebene zeichnen

Neue Frage »

RobR Auf diesen Beitrag antworten »
Pfeile frei auf einer Ebene zeichnen
Ich möchte einen Funktion für den Computer schreiben, die mir einen Pfeil zwischen zwei Punkten zeichnet.
Mir steht dazu eine funktion line(x1,x2) zur verfügung, die mir eine linie zwischen zwei punkten zeichnet.
also mein bisheriger plan:
ich zeichne ersteinmal die basisline zwischen x1 und x2 per line(x1,x2).
jetzt will ich bei x2 die pfeilspitze mit zwei linien zeichnen.
die beiden linien sollen zur basis linie einen gegebenen winkel besitzen für die eine positiv für die andere negativ ausserdem ist die länge der pfeilspitzen linien gegeben (also der betrag des entsprechenden vektors)
es handelt sich also um einen ganz gewöhnlichen pfeil aus linien, wie er in jedem zeichenprogramm zu finden ist.

jetzt meine frage:

wie berechne ich die vektorkomponenten der beiden pfeilspitzenlinien ausgehend vom endpunkt der basislinie?

ich hab das problem schon ein wenig abstrahiert:

der winkel zwischen 2 vektoren:




also das skalarprodukt der beiden vektoren / das produkt der beträge = cos y

jetzt ist a gegeben, y gegeben und betrag b
gesucht b1 und b2

da betrag b gegeben könnte ich nach einer komponente umstellen


meine idee ist jetzt also durch einsetzungsverfahren das gleichungssystem der zwei unbekannten b1 und b2 zu lösen
alledings stellt es mich doch vor ein unlösbares unterfangen.

habt ihr eine idee oder gibt es einen anderen lösungsansatz?

MfG
Rob
RobR Auf diesen Beitrag antworten »

sry fehler

es muss heissen sin(y) also y ist der winkel hab das mal der bequemlichkeits halber für lamda benutzt
RobR Auf diesen Beitrag antworten »

ich sollte mich mal registrieren, um editieren zu können Hammer
sin ist falsch korrigiert. es bleibt natürlich cos(y)
für y = lamda
so
Leopold Auf diesen Beitrag antworten »

Ich bezeichne mit Anfangs- und Endpunkt deines Vektors, mit die feste Länge der Pfeilspitzenlinien und mit den spitzen Winkel, den die Pfeilspitzenlinien mit der Hauptlinie bilden. Dann bekommst du die Punkte (Pfeilspitzlinienende links) und (Pfeilspitzlinienende rechts) gemäß





Ich beziehe mich hierbei auf ein zweidimensionales kartesisches Rechtssystem mit Ursprung , wie es in der Mathematik üblich ist. Den Formeln liegt als Idee eine Drehung um die Winkel bzw. zugrunde. Ich will hier aber nicht für alle Vorzeichen garantieren.

Vorsicht! Die üblichen Programmiersprachen legen die positive -Achse nach unten. Dies führt zu Vorzeichenänderungen in den beiden Matrizen.

Wenn du lieber mit komplexen Zahlen arbeitest, dann lauten die Formeln so (ich verwende Kleinbuchstaben für die entsprechenden Punkte der Gaußschen Zahlenebene):



riwe Auf diesen Beitrag antworten »

wie immer PERFEKT
werner
RobR Auf diesen Beitrag antworten »

ach ja, die drehung im raum hab ich doch auch mal in mathe gehabt.
hab mich voll im falschen ansatz verrannt.

danke
 
 
riwe Auf diesen Beitrag antworten »

wenn ich es richtig verstanden habe, handelt es sich um eine drehung in R2!
werner
RobR Auf diesen Beitrag antworten »

ja klar, ist R2 habs implementiert, geht Freude
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »