lineare Spigelung



  • Liebe Community

    Ich sitze seit einer Weile an der Aufgabe und schaffe es nicht eine Formel aufzustellen.

    Was wir haben:
    Wir haben Punkt1 gegeben. Er ist immer P1(0|0)
    Von Punkt 1 aus startet die "Linie"
    Wir haben Punkt2 gegeben. Er ist jedoch immer unterschiedlich P(?|?)
    Wir haben eine Collision an die die Linie apprallt.

    Aufgabe:
    Stelle eine Formel auf welche den richtigen Punkt auf Collision berechnet damit Punkt1 und Punkt2 verbunden werden.Beachte Einfallswinkel gleich Ausfallswinkel.

    Skizze:
    . ________
    .|________| Collision
    .
    ..............X Punkt2
    . X Punkt1

    Schreibweise(muss nicht beachtet werden):
    Pos(x,y) = vec2(x,y)
    x von Pos = pos.x | y von Pos = pos.y

    Ich hoffe ihr könnt mir helfen und ich habe euch genug Informationen gegeben.
    Bei Fragen nur rausdamit ich beiß auch nicht 🙂

    gruß Jogurette


  • Mod

    Ist vorgegeben, wo gespiegelt wird? Oder darf man sich das selber aussuchen?

    Deine Skizze könnte man erkennen, wenn du die Code-Tags benutzen würdest.



  • Spiegel doch den Punkt P2 an der Collisionslinie (-> P2') und berechne dann den Schnittpunkt der Verbindungsgeraden P1 und P2' mit der Collisionsline.

    Möchtes du mehr mathematischen Spass haben, wende das Fermatsche Prinzip an und betrachte die Aufgabe als Variationsproblem.



  • Ist der y-Wert vom Kollisionspunkt gegeben? Wenn ja wäre das eine Möglichkeit?:

    pc.x = |p2.x - p1.x| / ((|p2.y - p.y| / |p1.y - p.y|) + 1)
    
    //pc ist der Kollisionspunkt
    

    Wenn beide Punkte den gleichen y-Wert haben, komm ich auf die Hälfte der Strecke zwischen dem x-Wert von Punkt1 und dem x-Wert von Punkt2. Müsste stimmen. 🙂



  • Ich werde mal über die Möglichkeiten die ihr mir gegeben habt drüberschauen.
    Sieht aufjedenfall vielversprechend aus ^^ und ja der y-Wert ist gegeben 🙂

    Danke euch 3, ihr habt mir sehr geholfen 🙂

    gruß Jogurette



  • So ich habe nun mehrfach Taelis Formel ausprobiert und bei
    p1 und p2 mit gleichem y-Wert kommt bei mir auch die richtige antwort raus aber nur wenn sie den gleichen y-Wert haben.
    Wär echt super wenn du deine Formel nochmal durchgehen könntest 🙂
    Natürlich nur wenn du Zeit/Lust hast 😉

    Heute werde ich mir mal versuchen ScottZhangs Lösungsvorschlag zu verstehen ^^

    ps. Taeli ich hoffe ich verstehe dich richtig wenn du mit p.y -> pc.y meinst
    und das | klammern darstellen sollen ? 🙂



  • Ich habe mal kurz nachgerechnet, aber keine Garantie auf Vollständigkeit oder korrektheit:

    P_1 = {x1,y1}
    P_2 = {x2,y2}
    P_3 = {x3,y3}
    P_13 = P1-P3
    P_23 = P2-P3
    
    <P_12|{1,0}> = <P_13|{1,0}>
    ------------   --------------
    |P_12|*|e_1|   |P_13| * |e_1|
    
    =>
    x3,1 = (x2*y1+x1*y2 - (x1+x2)*y3) / (y1 + y2 -2*y3)
    x3,2 = (x2*y1 -x1 * y2 +x1*y3 -x2 *y3) / (y1-y2)
    

Anmelden zum Antworten