Mitte auf einer Gerade in der Ebene mit beliebiger Steigung finden

Neue Frage »

Felas Auf diesen Beitrag antworten »
Mitte auf einer Gerade in der Ebene mit beliebiger Steigung finden
Meine Frage:
Hallo, ich programmiere zur Zeit an einem Programm, dass zum weiteren Programmablauf die Mitte auf einer Geraden finden muss, und das bei jeder beliebigen Steigung.

Ich kann im Programm folgende Informationen abrufen:
P1 (X|Y)
P2 (X2|Y2)
Steigungswinkel alpha der Geraden g durch P1, P2

Meine Ideen:
Meine Überlegung war zunächst, die Länge der Geraden g zu berechnen, und sie zu halbieren. So erhalte ich eine Strecke auf der Geraden, die gleichzeitig die Hypotenuse eines rechtwinkligen Dreiecks ist, dessen Spitze C in der Ebene liegt, der Eckpunkt A bei alpha ist gleichzeitig P1, der Eckpunkt B ist gesucht. Die Katheten sind parallelen zur X- (a) bzw. Y Achse (b), der Steigungswinkel alpha liegt an a an.

Ich wollte nun über Sinus und Cosinus die Länge der Katheten berechnen, um anschließend durch aufaddieren zu den entsprechenden Koordinaten von P1 meinen Mittelpunkt auf der Geraden zu erhalten. Fakt ist aber leider, dass der Punkt irgendwo daneben landet.


Berechnung der Hypotenuse:


Berechnung der Gegenkathete b: (a = alpha)


Berechnung der Ankathete a: (a = alpha)


Kann mir vielleicht jemand weiterhelfen?
kasi Auf diesen Beitrag antworten »

eine gerade hat keine mitte!

eine strecke, die teil einer geraden ist hingegen schon.


ich denke eine kleine skizze deines problems sollte dich der lösung etwas näher bringen.
Felas Auf diesen Beitrag antworten »

Erstmal sorry, ich meinte Strecke... Blöd Big Laugh

Also ich hab mir das schon mehrfach skizziert, umgesetzt, jegliche Einzelwerte ausgeben lassen und meine Rechnung überprüft. Ich finde diesen Fehler nicht. Kann vielleicht jemand mal PIP rufen und mir nen Tipp geben? unglücklich
kasi Auf diesen Beitrag antworten »

wo muss hier denn dein punkt liegen?

[attach]20170[/attach]
Felas Auf diesen Beitrag antworten »

P(0,5*(delta)x|0,5*(delta)y), korrekt?

entschuldigt den peinlichen Rechtschreibfehler im Titel und die Gerade, die eine Mitte hat... ich war nicht so ganz bei der Sache wie es scheint Augenzwinkern

Würde bedeuten, dass ich auch direkt bei sin(alpha)*hypotenuse bzw. cos(alpha)*hypotenuse die Werte halbieren kann, um auf mein Ergebnis zu kommen. Bringt mich der Lösung nur leider irgendwie nicht näher.

Das Problem ist das Folgende: Es handelt sich um ein Spiel, die Positionskoordinaten der Spieler sind gespeichert und über gewisse Funktionen abrufbar. Bei gewissen Events soll nun ein Gegenstand genau zwischen beiden Spielern platziert werden. Über die gedachte Gerade durch die beiden Positionen der Spieler kann ich den Steigungswinkel im zweidimensionalen Koordinatensystem bestimmen, den ich dann für die Berechnung der Katheten benutzen will. Nur leider landet der erzeugte Gegenstand immer meterweit daneben.
kasi Auf diesen Beitrag antworten »

nein nicht ganz.

wenn dein x1= 1000 ist und dein x2 = 1002 dann ist die mitte nach deiner formel bei


0.5 * delta x = xm
0.5 * 2 = 1

siehst du deinen fehler?

wenn dir der fehler erstmal klar ist, ist egal ob du die mitte mit polarkoordinaten oder in kartesischen koordinaten berechnest.
 
 
Felas Auf diesen Beitrag antworten »

Fehler gefunden. Was du zuletzt geschrieben hast war mir schon klar. Der Fehler lag nicht im mathematischen, sondern im Informatischen Bereich. Javas Math.sin(alpha) und Math.cos(alpha) arbeiten mit dem Bogenmaß, und nicht im Gradmaß. Kleine abänderung der Formel im sinus bzw. cosinus und das Problem war gelöst.

Ich sitze im Moment vor einem Anderen Problem, denn mein Objekt wird an einer falschen Stelle erstellt, sobald sich die Koordinatenverhältnisse zwischen den Spielern ändern, aber ich denke das ist eher informatisch und gehört weniger hierher.

Vielen Dank für deine Hilfe,
Nick
riwe Auf diesen Beitrag antworten »

man könnte auch folgendes versuchen Augenzwinkern

Felas Auf diesen Beitrag antworten »

Kannst du mir die Formel mal genauer erläutern? Ich blick da grad nicht so ganz durch... smile
riwe Auf diesen Beitrag antworten »

was soll man da erklären verwirrt

in worten: die koordinaten des mittelpunktes sind das arithmetische mittel des anfangs- und endpunkts der strecke

A(1/3) und B(3/7) -> M(2/5)
Neue Frage »
Antworten »



Verwandte Themen

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