Grafikfrage


  • Mod

    IchBinRegistriert schrieb:

    und wie geht das?

    Du fällst vom Punkt aus auf beide Linien das Lot und guckst, welches kürzer ist.

    Dies ist die allgemeine Herangehensweise, die dir wahrscheinlich nicht viel nützt. Um das genauer zu erklären, müsstest du mal sagen, was deine mathematischen Vorkenntnisse sind. Denn da du dies nicht selber ausrechnen konntest, nehme ich mal an, dass du von Vektorgeometrie keine Ahnung hast. Ich will aber nicht die Vorgehensweise in einer Sprache erklären, die du dann hinterher nicht verstehst - deshalb die Frage danach was du verstehen würdest.



  • ich bin gymnasium 9. Klasse und wir haben in Geometrie Parabel quadratische- (bzw. Potenz-) funktionen...usw



  • gegebener Punkt P sei: (x*,y*)

    gegebene Gerade g sei: y = m * x + b

    Die Orthogonale zu g hat Steigung -1/m und soll durch P gehen, also löst man

    y* = -1/m * x* + c

    nach c auf.

    => Orthogonale o von g durch P hat die Gleichung:

    y = -1/m * x + c

    Jetzt suchst du den Schnittpunkt von o und g:

    m * x + b = -1/m * x + c

    und löst nach x auf, das Ergebnis sei x+.

    => Schnittpunkt von o und g ist (y+, m * x+ + b)

    => Abstand zwischen P und der Geraden g ist:

    $d(g,P)=\sqrt{(x^{\ast}-x^+)^2+(y^{\ast}-y^+)^2}$

    Das machst du jetzt für die beiden gegebenen Geraden und siehst, welche den geringeren Abstand zu P hat.



  • naja ich glaube das ist alles ein bischen kompliziert, für das was ich vor habe... 😃 .

    Und zwar mache ich bein www.bwinf.de mit. da gibt es eine aufgabe, bei der man mit longitude und latitude koordinaten punkte in eine karte einzeichnen soll. das ist nicht mein problem sondern die 2. Aufgabe. In der soll man die abweichungen korrigieren. Also habe ich mir gedacht ich zeichne das straßennetz als linien und das programm korrigiert den punkt immer auf die näheste linie.
    Oder hast du eine andere Idee??


  • Mod

    IchBinRegistriert schrieb:

    naja ich glaube das ist alles ein bischen kompliziert, für das was ich vor habe... 😃 .

    Und zwar mache ich bein www.bwinf.de mit. da gibt es eine aufgabe, bei der man mit longitude und latitude koordinaten punkte in eine karte einzeichnen soll. das ist nicht mein problem sondern die 2. Aufgabe. In der soll man die abweichungen korrigieren. Also habe ich mir gedacht ich zeichne das straßennetz als linien und das programm korrigiert den punkt immer auf die näheste linie.
    Oder hast du eine andere Idee??

    Kannst du sagen, welche Aufgabe genau das ist? Es sind eine Menge Aufgaben auf der Seite.

    Ansonsten hört sich dein Ansatz sehr vernünftig an. In welcher Form liegen die Geraden denn vor? Ich meine damit, wie sie mathematisch beschrieben sind. Hier kannst du die nötigen Begriffe finden um uns das zu sagen:
    http://de.wikipedia.org/wiki/Geradengleichung



  • Schreibfehler-Korrektur:

    => Schnittpunkt von o und g ist (x+, y+) := ([b]x+[/b], m * x+ + b)
    


  • Hier http://www.bwinf.de/uploads/media/aufgabenblatt281_web.pdf ist es Aufgabe 3.
    Die mit der Karte. Das Problem ist ich denke es ist sehr aufwändig für diese http://www.bwinf.de/uploads/media/karte.png Karte jede Straße einzeln als Linie einzuzeichnen 😃


  • Mod

    IchBinRegistriert schrieb:

    Hier http://www.bwinf.de/uploads/media/aufgabenblatt281_web.pdf ist es Aufgabe 3.
    Die mit der Karte. Das Problem ist ich denke es ist sehr aufwändig für diese http://www.bwinf.de/uploads/media/karte.png Karte jede Straße einzeln als Linie einzuzeichnen 😃

    Verstehe. In diesem Fall vermute ich, dass die Aufgabenstellung anders gedacht ist. Ich sehe ein, wieso du aufgrund der Aufgabenstellung glaubst, dass der Weg an die Straßenkarte angepasst werden soll, aber das wäre wirklich ultrahammerhart und würde wahrscheinlich selbst die besten Programmierer hier im Forum viele Stunden beschäftigen, wenn sie das aus dem Stand programmieren sollten.

    Vielmehr nehme ich an, dass gedacht ist, dass man zwischen den Daten interpoliert (->fehlende Werte) und offensichtliche Ausreißer ignoriert (->falsche Werte). Dies wäre im Gegensatz zum Ansatz mit der nächsten Linie: a) mathematisch interessant und b) in einem Schülerwettbewerb realistisch lösbar (wenn auch nicht einfach)



  • SeppJ schrieb:

    Vielmehr nehme ich an, dass gedacht ist, dass man zwischen den Daten interpoliert (->fehlende Werte) und offensichtliche Ausreißer ignoriert (->falsche Werte). Dies wäre im Gegensatz zum Ansatz mit der nächsten Linie: a) mathematisch interessant und b) in einem Schülerwettbewerb realistisch lösbar (wenn auch nicht einfach)

    Nein, unter den BWINF-Aufgaben gibt es durchaus auch Aufgaben, die nicht perfekt lösbar sind. Es geht darum, zu zeigen dass man gute Ideen hat und diese auch umsetzen kann. Insbesondere geht es, im gegensatz zu Schulklausuren, NICHT darum, am besten zu raten welche Lösung erwünscht ist. Ich finde seine Idee vom OP nicht schlecht und passend zur Aufgabe.

    @OP: Bist du sicher dass du jede Straße einzeichnen musst / dass das der einfachste Weg ist, dein Vorhaben umzusetzen?



  • die Idee mit Berechnung der Abstände Punkte/Gerade ist doch Ok.

    Wenn ich meine Formel vereinfache, komme ich auf:

    gegeben: Punkt (x*,y*) und Gerade y = m * x + b

    \footnotesize$\mathrm{Abstand}=\sqrt{ \left(x^{\ast}-\frac{x^{\ast}+m(y^{\ast}-b)}{m^2+1}\right)^2 + \left(y^{\ast}-\frac{mx^{\ast}+m^2(y^{\ast}-b)}{m^2+1}-b\right)^2 }$

    da reichen Kenntnisse der Klasse 9 (Geradengleichung y = m * x + b und
    Quadratwurzel) aus.



  • ok danke euch schon mal ich schau mal was am besten zu machen ist... 🙂



  • SeppJ schrieb:

    Vielmehr nehme ich an, dass gedacht ist, dass man zwischen den Daten interpoliert (->fehlende Werte) und offensichtliche Ausreißer ignoriert (->falsche Werte). Dies wäre im Gegensatz zum Ansatz mit der nächsten Linie: a) mathematisch interessant und b) in einem Schülerwettbewerb realistisch lösbar (wenn auch nicht einfach)

    nur eine frage dazu
    woher soll das programm abweichungen erkennen, wenn es nicht weiß wo die straßen sind?


  • Mod

    IchBinRegistriert schrieb:

    nur eine frage dazu
    woher soll das programm abweichungen erkennen, wenn es nicht weiß wo die straßen sind?

    Ich würde das anhand der umgebenden Datenpunkte machen. Welchen Algorithmus ich genau anwenden würde, müsste ich mir noch überlegen. Aber ich will mal ein kleines Beispielbild machen, dass das Verhalten darstellt das ich mir wünschen würde:

    http://img89.imageshack.us/img89/5953/wegfindung.gif

    Der Weg geht nach irgendeinem Algorithmus "möglichst gut und glatt" durch die Messpunkte. Dabei würde ich aber nicht zu viel Wert darauf legen, das der Weg exakt durch die Punkte geht, denn wie in der Aufgabenstellung gesagt, kann die Messung fehlerbehaftet sein. Es sollte nicht zu schwer sein, sich selber einen Algorithmus dafür zu denken, zur Not kann man natürlich auch einfach in einem Numerikbuch einen fertigen nachschlagen.

    Möglicherweise gibt es auch Daten, die offensichtlich völlig falsch sind, wie der Punkt 6 in meinem Bild. Ich habe mir das Aufgabenmaterial gerade mal geplottet und da sind tatsächlich auch solche Ausreißer drin. Da muss man sich ebenfalls was überlegen, wie man solche Punkte erkennt und ausschließt. Das könnte zum Beispiel nach dem Abstand vom erwarteten Wert gehen.


Anmelden zum Antworten