Eine Landkarte
-
Hallo Leute!
Letztebns war mein Vater auf so nem Lehrgang für Statistik oder so was. Dort hatten sie ein Programm, welches sie für irgendwelche Berechnungen brauchen. Man konnte z.B. eine Entfernungstabbele aus einem Atlas eingeben, und das Prgramm zeichnete nur aus diesen Angaben die korrekte Landkarte, also München im Süden, Flemnsbutrg im Norden, berlin im Ostenk, Köln im Westen... .
Ich stell mir das total kompliziert vor sowas zu proggen. Hab michmal dran versucht, aber dann hab ich gleich wider aufgegeben... ohne Konzept geht da wohl nix, wie sonst auch.Kennt einer von euch so nen Algorhitmus? Oder hat das einer schon mal geproggt?
Gruß, Msaxi
-
Ne, neeeeee!
Nur aus Entfernungsangaben kann das nicht gehen!!!
Woher soll das Programm wissen, dass Flensburg noerdlich von Berlin liegt?
Da muss noch 'ne Richtungsangabe dabei sein:
a) Entfernung + genaue Himmelsrichtung
b) Koordinaten (geogr. Laenge und Breite) fuer alle Stadte!Wenn das auch so geht, ist im Programm die Landkarte schon gespeichert!!! Das sieht der Anwender blos nicht!
PS: Oder das Programm holt die Stadt- Koordinaten aus dem WEB
[ Dieser Beitrag wurde am 17.03.2003 um 15:14 Uhr von DerAltenburger editiert. ]
-
Ich denk schon dass es mit Einschränkungen hinkriegbar ist.
Zuerst nimmt man sich 3 Städte heraus, und bildet aus den 3 Entfernungen dazwischen ein Dreieck. Das ist bis auf Drehungen, Spiegelungen und Verschiebungen eindeutig bestimmt.
Dann nimmt man sich einfach immer eine Stadt dazu, und bildet so ein weiteres Dreieck. Es kommen keine neuen Freiheitsgrade hinzu. Am Ende hat man ein Netz, welches spiegelverkehrt sein kann, und was noch eingenordet werden muß.
Das ist natürlich alles Theorie, weil die Entfernungen nicht genau angegeben werden können. Die dadurch entstehenden Unsicherheiten potenzieren sich irgendwann, und lassen am Ende mehrere Netze mit unterschiedlichen Wahrscheinlichkeiten als Lösung zu.
-
Nur über eine Entfernungsangabe ? Kann ich mir ehrlich gesagt nicht so richtig vorstellen wie das gehen soll. Mit zwei Angaben schon eher. Dann kann man jede Stadt über einen Vektor bestimmen.
-
Ja, es geht WIRKLICH. Musst du mal überlegen, du hast drei Städte:
A B C
ENtfernung A-B=10
Entfernung A-C=10
Entfernung B-A=10
Entfernung B-C=10
Entfernung C-A=10
Enfernung C-B = 10OK, so stets in etwa im Atlas
Und jetzt ver such mal dadraus die Städte zu bestimmen... . Ein gleichseitiges Dreieck.
Durch unterschiedliche Entfernungen kann das dreieck dann verzerrt werden. Sicherlich, wenn man es dreht, dann kommt was anderes raus, aber alle Dreiecke sind kongruent.A B C oder A C B es ist immer das gleiche dreieck
Gruß, Maxi
-
Damit ist ja der Widerspruch zur Originlaussage gegeben!!!
korrekte Landkarte, also München im Süden, Flemnsbutrg im Norden
Die Exakte Lage ist nicht bestimmbar!!!
Genau darauf begruenden sich meine Zweifel!
Mindestens EIN Richtungsvektor (2 Stadte ) muss vorhanden sein!
Und selbst dann muss nichts eindeutiges entstehen
Bashar...und lassen am Ende mehrere Netze mit unterschiedlichen Wahrscheinlichkeiten als Lösung zu.
Um eine EXAKTE Sache gings aber. Und das ist so UNMOEGLICH!!! :p
-
OK, hast mich überzeugt. grins.
Aber, trotzdem nochmal. Wie würdet ihr versuchen, wenns meinetwegen ne schulaufgabe wär, wo ihr ne 1 draufkriegt, wenn ihr es löst. Wie würdet ihr es machen?Ich hab da eigentlich keine peilung. OK, dann ist karte eben gespiegelt. oder so, aber trotzdem, wie würdet ihr es machen?
Gruß, Maxi
-
öhm sicher geht das nennt sich triangulation und wird in der kartographie schon eewig verwendet... damit erhällt man dann die gegenseitige lage von den orten... um die Ausrichtung muss man sich logischerweise selbst kümmern weil die ja eh nur definitionssache ist...
-
Hmmmmm!
[code]1. Zwei Stadte mit bekannter Entfernung in 'Karte' zeichnen.(Ausrichtung willkuerlich ???)
2. Weitere Stadt suchen, deren Entfernung zu beiden vorliegt
um beide Stadte einen Kreis mit jeweiligem Radius 'denken'
-> einer der beiden Schnittpunkte isses (koennen gleich sein!!!)
-> Problem : richtige Richtung???
3. Weitere Stadt suchen mit mindestens 2 (besser 3 Entfernungen
zu 'gezeichneten' Staedten
Um zwei (besser 3) Stadte Entfernungskreis 'denken'
-> einer der beiden Schnittpunkte isses
: Bei 3 Entfernungen kann ein eindeutiger Schnitt entstehen
4. usw.[/code]Schnittberechnung der Kreise (Triangulation) - is neu tierische Rechnerei!
-
wenn man erstmal 3 nicht kolineare punkte hat, sind theoretisch alle weiteren eindeutig (wenn alle masse stimmen und man die entfernungen zu allen vorhergehenden hat)
wenn sich durch messungenauigkeiten abweichungen ergeben, koennte man entweder den ersten schnittpunkt (performance) oder den schwerpunkt aller schnittpunkte (qualitaet) nehmen.
-
Die Lösungen hören sich eigentlich gasr nicht so schwer zu realisieren an, bis auf die Triangulation. Kann mir das einer mal erklären, wie man so was rechnet?
Vielleicht probier ich es nochmal. Aber dann in QB oder MFC, da ist die Graphik nicht ganz so schwer zu programmieren. Der Sinn des Programms besteht ja nicht darin, eine tolle, ansprechende Grafik mit DX zu proggen, sondern um zu zeigen, dass es eben geht.
Gruß, Maxi
-
vergiß die Grafik erstmal, und versuch jeder Stadt ihre Koordinaten zuzuordnen. Ich denke mal, wenn du schonmal was von Trigonometrie gehört hast, isses straigh-forward, eine Idee zu entwickeln. Das Problem ist wie gesagt die Ungenauigkeit. Einfach irgendwelche Durchschnitte zu nehmen kann evtl. ins Auge gehen, wenn sich dadurch später Widersprüche ergeben.
-
Achso, du meinst, wenn man nur die Kiilometerangaben aus dem Atlas schreibt, mienst du, dass die Kreise um die Städte möglicherweise keine Schnittpunkte bilden? Was muss ich denn dann machen? Ganz genau abmessen geht nicht. Und mit Fehlerbetrachtungen, dass weird dann total kompliziert.
Achso, und was heißt straight-forward? Vielleicht so was wie eigneltich fürn *****? oder wie?
Gruß, Maxi
-
straight-forward heißt sowas wie geradlinig. Ich will damit sagen, es sind keine großartigen Tricks nötig, um sich von den Grundkenntnissen in Trigonometrie bis zur Lösung vorzuarbeiten.
-
Und wie würdest du es anstellen? Ich hab grad n bisschen überlegt mir fällt aber nichts ein, obwohl ich nich der schlechteste in Sinus, cosinus&Co bin
Gruß, Maxi
-
-
Ort der ersten Stadt A festlegen
-
Entfernung zur zweiten Stadt B bestimmen, dann Ort der zweiten Stadt festlegen
-
Entfernungen zur dritten Stadt C bestimmen, daraus Ort der dritten Stadt bestimmen.
d_AC^2 = (x_A - x_C)^2 + (y_A - y_C)^2
d_BC^2 = (x_B - x_C)^2 + (y_B - y_C)^2=> GLS sollte 2 reelle Lösungen haben. Hat es nur eine Lösung, liegen die drei Städte auf einer Linie. Hat es keine, sind die Entfernungsdaten falsch.
-
Eine der beiden Lösungen auswählen, dort Ort von C festlegen.
-
nächste Stadt hernehmen. Das Gleichungssystem hat jetzt 3 Gleichungen. Man löst die ersten beiden und bekommt wieder 2 Lösungen. Dann bestimmt man mit der dritten Gleichung, welche Lösung den Zuschlag erhält.
-
so geht das weiter, bis man alle Koordinaten hat.
Aufgrund dreier willkürlicher Entscheidungen (Ort von A, Richtung A->B, Auswahl der Lage von C) ist die Lösung bis auf Verschiebungen, Drehungen und Spiegelung eindeutig.
Sogar ohne Trigonometrie, hätt ich gar nicht gedacht
-