Kreispunkte im Koordinatensystem |
17.12.2014, 08:15 | AKpost | Auf diesen Beitrag antworten » | ||||
Kreispunkte im Koordinatensystem Habe da eine Schwierige Aufgabe bekommen Durch eine Formel sollen bestimmte Punkte berechnet werden, in einem Koordinaten System. Die Koordinaten des Mittelpunktes sind X:-3000 Y:0 Punkt A ist X-3100 Y:0 Der Radius ist 100 Die Entfernung von Punkt A zu B von B zu C usw. ist nicht festgelegt und kann sich ändern. in dem Beispiel sagen wir 20. Nun soll der Nächste punkt auf diesem Kreis berechnet werden die Entfernung von Punkt A-> B -> C ->... Ich brauche hier für eine Formel die die Punkte ein mal im Kreis berechnet. Es Ist eine Programmieraufgabe Punkt A , Radius, Entfernung der Punkt, Mittelpunkt, sind alle bekannt nur die Koordinaten der neuen Punkte nicht |
||||||
17.12.2014, 09:46 | Steffen Bühler | Auf diesen Beitrag antworten » | ||||
RE: Kreispunkte im Koordinatensystem Du brauchst zunächst den Winkel zwischen den Strecken MA und MB. Ziehe dafür eine Hilfslinie von der Mitte der Strecke AB zu M. Nun hast Du ein rechtwinkliges Dreieck, über das Du den gesuchten Winkel leicht errechnen kannst. Kommst Du jetzt schon weiter? Viele Grüße Steffen |
||||||
17.12.2014, 09:49 | AKpost | Auf diesen Beitrag antworten » | ||||
leider nicht da ich ja die genauen Koordinaten benötige wo der nächste Punkt liegt Da ich ja nicht weiss wo der sich berechnet |
||||||
17.12.2014, 09:55 | AKpost | Auf diesen Beitrag antworten » | ||||
Die Entfernung MA ist 100 MB ist auch 100 und die folgenden auch M* = 100 die Entfernung AB und BC , CD,DE usw sind auch bekannt nun ist die Frage wie ergibt sich die Koordinate Koordinaten A X: -3100 Y: 0 Koordinaten M Bekannt X: -3000 Y: 0 AB ist bekannt z.B. 20 MA ist 100 MB ist 100 |
||||||
17.12.2014, 10:01 | Steffen Bühler | Auf diesen Beitrag antworten » | ||||
Da Du eh programmierst, schlage ich die Verwendung von komplexen Zahlen vor, dann wird's meines Erachtens am übersichtlichen. Also Punkt A als komplexe Zahl beschreiben, dazu die Strecke AB (weitere komplexe Zahl mit bekanntem Betrag und Winkel) addieren, ergibt Punkt B als komplexe Zahl. Wenn Du hier Hilfe brauchst, frag einfach. |
||||||
17.12.2014, 10:06 | AKpost | Auf diesen Beitrag antworten » | ||||
könntest du mir das anhand der Zahlen kurz vor rechnen ? dann verstehe ich das besser wäre sehr nett |
||||||
Anzeige | ||||||
|
||||||
17.12.2014, 10:12 | Steffen Bühler | Auf diesen Beitrag antworten » | ||||
Gern. Wir nehmen also die komplexe Zahl a=-3100+0*i. (Dass Du x vertikal und y horizontal aufträgst, ist ungewöhnlich, sollte aber nicht stören.) Nun müssen wir die Strecke AB komplex ausdrücken. Betrag ist klar, der ist 20. Hast Du schon den Winkel berechnet? |
||||||
17.12.2014, 10:27 | AKpost | Auf diesen Beitrag antworten » | ||||
Der Winkel ist 11.478° wie er sich berechnet verstehe ich aber nicht ganz arccos((a²+b²-c²)/2ab) was heissen würde arccos ((100²+100²+20²)/2*100*100) macht arccos (0,98) hab eine Seite gefunden wo man den Winkel berechnen lassen kann |
||||||
17.12.2014, 10:49 | Steffen Bühler | Auf diesen Beitrag antworten » | ||||
Ja, das stimmt.
Das sollte diese Seite erklären. Wie gesagt, ich würde das beschriebene rechtwinklige Dreieck verwenden, denn damit wird der weitere Weg auch deutlicher. Für die weitere Rechnung brauchen wir nämlich jetzt die Hälfte dieses Winkels (also genau den Winkel dieses rechtwinkligen Dreiecks). Das ist nämlich derselbe Winkel, um den die Strecke AB gegenüber der Horizontalen geneigt ist. Das kannst Du Dir auch mit einer Skizze verdeutlichen. Das heißt, wir haben nun die zweite komplexe Zahl mit Betrag 20 und Winkel -5,74°. Und die beiden musst Du nun im Programm nur addieren, um eine weitere komplexe Zahl zu erhalten, deren Real- und Imaginärteil die Koordinaten des Punktes B liefern. |
||||||
17.12.2014, 11:32 | AKpost | Auf diesen Beitrag antworten » | ||||
also 5,74 * 20 macht 114,8 aber wie ergibt sich den da der 2 Punkt ? habe ja a=-3100 + 0*i meintest du der MP ist ja X: -3000 Y:0 um es leichter zu machen ist A -100 , 0 |
||||||
17.12.2014, 11:49 | Steffen Bühler | Auf diesen Beitrag antworten » | ||||
Nein, es geht um eine komplexe Zahl mit Betrag 20 und Winkel -5,74°. Ich gehe davon aus, dass Deine Programmiersprache daraus eine komplexe Variable erstellen kann. In VB wäre so ein Befehl zum Beispiel
Wenn Dein Compiler sowas nicht kennt, sollten wir diesen Ansatz gleich abbrechen, dann müssen wir uns halt mit Sinus und Cosinus rumschlagen. |
||||||
17.12.2014, 11:59 | AKpost | Auf diesen Beitrag antworten » | ||||
Ich benötige nur die die X und Y Koordinate die sich aus dem Mittelpunkt, Punkt A , und den Abstand (20) berechnen läst Der winkel ist hilfreich. Im grunde brauche ich nur die Formel die mir sagt Gehe vom Mittelpunkt, 100 Felder, im Winkel 11,478 von Punkt A gesehn aus, und gib mir die Koordinaten Wenn ich diese Formel habe kann ich sie ja dann Auf Punkt B wenden um Punkt C zu bekommen |
||||||
17.12.2014, 12:46 | Steffen Bühler | Auf diesen Beitrag antworten » | ||||
Das ist recht einfach: der Sinus des Winkel ist wie immer für die Vertikale verantwortlich, der Cosinus für die Horizontale. Viele Grüße Steffen |
||||||
17.12.2014, 17:13 | AKpost | Auf diesen Beitrag antworten » | ||||
kommt irgendwie nicht hin alles -.- x= MA * sin(20/100) y= MA * cos (100/100) rechne ich es aus kommt was total falsches raus |
||||||
17.12.2014, 17:26 | Steffen Bühler | Auf diesen Beitrag antworten » | ||||
Ist ja auch eher x = MA.x + 100*cos(11,478°) y = MA.y + 100*sin(11,478°) |
||||||
17.12.2014, 18:10 | AKpost | Auf diesen Beitrag antworten » | ||||
ok nun habe ichs danke^^ x= MA.x +100*((a²+b²-c²)/2ab) y= MA.y +100*(c/a) ^^ also in meinem Falle x=-3100 +100*((100²+100²-20²)/2*100*100)=-3002 y=0 + 100* (20/100)= 20 so wäre der Nächste Punkt bei X-3002 Y20 |
||||||
17.12.2014, 19:01 | AKpost | Auf diesen Beitrag antworten » | ||||
ok die Formel passt doch nicht -.- X ist viel zu klein |
||||||
17.12.2014, 19:27 | AKpost | Auf diesen Beitrag antworten » | ||||
die formel passt vorne und hinten nicht ich komme mit der Formel immer aus dem Kreis |
||||||
17.12.2014, 20:43 | Steffen Bühler | Auf diesen Beitrag antworten » | ||||
Ich vermisse bei Deinen Formeln nach wie vor den Sinus und Cosinus. Du hast nur den Cosinus, indem Du das arccos-Argument verwendet hast. Aber lediglich c/a für den Sinus erschließt sich mir nicht. Hast Du da eine Herleitung? Weiterhin dürfte Sinuus und Cosinus vertauscht sein, denn die waagrechte Komponente ist ja bei Dir verwirrenderweise y. Prüf das auch noch mal. |
||||||
17.12.2014, 20:58 | AKpost | Auf diesen Beitrag antworten » | ||||
habe eine Seite gefunden wo stand sin= GK/Hyp und cos= AK/Hyp wo bei bei einem Gleichschenkligen Dreieck arccos( ( 2 * a² - c² ) / 2a² ) was auch 11,478 ist lasse ich das arccos werg habe ich das gleiche wie cos(11,478) ^^ so spare spart das Programm Zeit zu berechnen das Problem ist das die Werdte egal wie ich es rechne mit der Formel du du auf schriebst immer Außerhalb des Kreises waren wenn ich von den Koordinaten X:-3000 Y:100 aus gehe müsste beim Abstand von 20 der nächste punkt bei ungefähr X:-2980 Y:97 sein aber die Formel weicht komplet ab |
||||||
17.12.2014, 21:16 | AKpost | Auf diesen Beitrag antworten » | ||||
die Berechnung stimmt so weit für "X" Ausgangswerte: Punkt A = X1:-3000 Y1=0 Punkt B = X2:-3000 Y2=100 Punkt C = X3: ?? Y3: ?? Strecke AB = 100 Strecke AC = 100 Strecke BC = 20 Winkel AB/AC = 11,478 X3=X2 + 100*sin(Winkel AB und AC ) oder X3=X2 + 100*(c/a) aber Y ergibt nur ein sinn wenn ich Y3=100*cos (Winkel AB und AC ) oder Y3=100*((2*a²-c²)/2a²) Hir mein Rechenweg X3=X2 + 100*(c/a) X3=-3000+100*(20/100)=-2980 Y3=100*((2*a²-c²)/2a²) Y3=100*((2*100²-20²)/2*100²)=98 Also die werte die ich brauche X=-2980 Y=98 würde jetzt Y3=Y2*100*((2*a²-c²)/2a²) kommen wäre das Ergebniss 198 |
||||||
17.12.2014, 21:33 | Steffen Bühler | Auf diesen Beitrag antworten » | ||||
Ja, das habe ich verstanden. Aber später setzt Du einfach für den Sinus den Ausdruck c/a. Und da dürfte das Problem liegen! Denn da sollte sowas wie sin(arccos( ( 2 * a² - c² ) / 2a² )) stehen. Sieht schlimm aus, geb ich zu. Aber ist bestimmt nicht dasselbe wie c/a. |
||||||
17.12.2014, 21:47 | AKpost | Auf diesen Beitrag antworten » | ||||
hast recht man kommt nicht drum rum man muss mit sin() rechnen C/A geht für kleine wikel aber mit sin ist es genauer je größer es wird |
||||||
17.12.2014, 21:57 | AKpost | Auf diesen Beitrag antworten » | ||||
so jetzt habe ichs^^ X3=X2+100*sin(Winkel AB AC) Y3=100*cos(Winkel AB AC) Winke AB AC = arccos( ( 2 * a² - c² ) / 2a² ) es geht bis einer Länge von 200 gut so kommt man auch in den -Y bereich dann wird es schwer ^^ aber macht nichts geht ja nur um Entfernungen von 30-40 ^^ Danke für deine Hilfe |
||||||
18.12.2014, 19:51 | riwe | Auf diesen Beitrag antworten » | ||||
wenn AB = BC = CD = ...(und du den ganzen Müll eh programmieren sollst), würde ich mir die Winkelberechnung sparen. mit Kreisgleichung und Vieta erspart man sich da einiges. (auch wenn die Abstände verschieden sind, kann man es so basteln) |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
Die Neuesten » |
|