wenn ich 3 Koordinaten Paare habe kann ich mit GraLine() ein Dreieck zeichnen.
... und wie berechne ich damit Längen / Winkel ?
3 Punkte im Koordinaten System ... [erledigt]
Moderator: Moderatoren
- komnick
- UDF-Programmierer
- Beiträge: 75
- Registriert: Mi, 04. Jun 2014 9:56
- Wohnort: Berlin
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 5 Mal
Re: 3 Punkte im Koordinaten System ...
Hallo Jimmy,
die Länge einer Strecke bekommst du mit Pythagoras:
Wenn die Strecke zwischen den Punkten (x1,y1) und (x2,y2) die Länge c hat, gilt (x2-x1)^2+(y2-y1)^2=c^2.
Wenn du damit alle Seiten deines Dreiecks bestimmt hast, kannst du die Winkel mit dem Cosinussatz ermitteln.
Gruß
Martin
die Länge einer Strecke bekommst du mit Pythagoras:
Wenn die Strecke zwischen den Punkten (x1,y1) und (x2,y2) die Länge c hat, gilt (x2-x1)^2+(y2-y1)^2=c^2.
Wenn du damit alle Seiten deines Dreiecks bestimmt hast, kannst du die Winkel mit dem Cosinussatz ermitteln.
Gruß
Martin
- Herbert
- Der Entwickler von "Deep Thought"
- Beiträge: 1991
- Registriert: Do, 14. Aug 2008 0:22
- Wohnort: Gmunden am Traunsee, Österreich
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: 3 Punkte im Koordinaten System ...
Du hast ein Dreieck, Seiten a.b.c
Alfa ist der Winkel zwischen b und c. Dann ist sin(alfa)=a/c oder cos(alfa)=b/c
Gilt aber nur bei rechtiwinkligem Dreieck!
Hast du irgend ein Dreieck, musst du den Sinussatz oder den Cosinussatz nehmen. Die Summe der Innenwinkel ist immer 180 Grad.
So gilt: a/sin(alfa)=b/sin(beta)=c/sin(gamma)
heisst, dass sin(beta)=b/a * sin(alfa). Das ist der Sinussatz.
Kannst auch umdrehen und sagen: a/b = sin(alfa)/sin(beta)
Der Cosinussatz geht so: a^2 = b^2+c^2 - 2bc*cos(alfa)
oder schau hier: http://www.arndt-bruenner.de/mathe/scri ... chnung.htm
Alfa ist der Winkel zwischen b und c. Dann ist sin(alfa)=a/c oder cos(alfa)=b/c
Gilt aber nur bei rechtiwinkligem Dreieck!
Hast du irgend ein Dreieck, musst du den Sinussatz oder den Cosinussatz nehmen. Die Summe der Innenwinkel ist immer 180 Grad.
So gilt: a/sin(alfa)=b/sin(beta)=c/sin(gamma)
heisst, dass sin(beta)=b/a * sin(alfa). Das ist der Sinussatz.
Kannst auch umdrehen und sagen: a/b = sin(alfa)/sin(beta)
Der Cosinussatz geht so: a^2 = b^2+c^2 - 2bc*cos(alfa)
oder schau hier: http://www.arndt-bruenner.de/mathe/scri ... chnung.htm
Grüsse Herbert
Immer in Bewegung...
Immer in Bewegung...
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: 3 Punkte im Koordinaten System ...
hi,
Danke für euer Antworten. Mein Problem : habe nur die Koordinaten und sonst nichts.
wenn 2 Koordinaten auf einer horizontalen oder vertikalen Linien liegt wäre der Abstand ja einfach und ich könnte, mit Pythagoras , schnell den Rest berechnen.
wenn ich mit GraLine() 2 Punkte verbinde ... dann müsste man doch raus bekommen "wie lang" die Linie ist
Danke für euer Antworten. Mein Problem : habe nur die Koordinaten und sonst nichts.
wenn 2 Koordinaten auf einer horizontalen oder vertikalen Linien liegt wäre der Abstand ja einfach und ich könnte, mit Pythagoras , schnell den Rest berechnen.
wenn ich mit GraLine() 2 Punkte verbinde ... dann müsste man doch raus bekommen "wie lang" die Linie ist
gruss by OHR
Jimmy
Jimmy
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: 3 Punkte im Koordinaten System ... [erledigt]
habe eine Antwort in der Xoanon LIB gefunden
Code: Alles auswählen
FUNCTION Distance(aPos1,aPos2)
/* Local variable declaration */
LOCAL nLen:=Len(aPos1), i, nTotal
/* For 1,2,3, or notional Dimensions, perform a Distance calculation */
nTotal:=0
FOR i:=1 TO len(aPos1)
nTotal+=((aPos1[i]-aPos2[i])^2)
NEXT i
RETURN Sqrt(nTotal)
gruss by OHR
Jimmy
Jimmy
- Herbert
- Der Entwickler von "Deep Thought"
- Beiträge: 1991
- Registriert: Do, 14. Aug 2008 0:22
- Wohnort: Gmunden am Traunsee, Österreich
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: 3 Punkte im Koordinaten System ...
Ja, wenn du die Koordinaten der Endpunkte einer Linie kennst, kannst doch problemlos die Länge bestimmen.
[img] [/img]
Du willst die Strecke b bestimmen: hc is die Differenz der Y-Koordinaten. p ist die Differenz der x-Koordinaten. So bekommst du virtuell ein rechtwinkliges Dreieck. Jetzt kannst den Pytagoras anwenden. b im Quadrat ist gleich hc im Quadrat plus p im Quadrat.
[img] [/img]
Du willst die Strecke b bestimmen: hc is die Differenz der Y-Koordinaten. p ist die Differenz der x-Koordinaten. So bekommst du virtuell ein rechtwinkliges Dreieck. Jetzt kannst den Pytagoras anwenden. b im Quadrat ist gleich hc im Quadrat plus p im Quadrat.
Grüsse Herbert
Immer in Bewegung...
Immer in Bewegung...