Punkt in Dreieck



  • du kannst annehmen dass wenn der punkt im dreieck liegt die vektoren vom zu prüfenden Punkt P zu den Eckpunkten A,B,C die Summe der Winkel == 360° ist

    a ist der Vektor A,P
    b B,P

    ax = Ax - Px
    ay = Ay - Py
    bx = Bx - Px
    by = By - Py

    den Winkel kannst du mit

    winkel = 180/PI * arccos((ax*bx+ay*by)/sqrt((ax*ax+ay*ay)*(bx*bx+by*by))



  • luki91 schrieb:

    ich weiß nicht wie das system heist aber ich kanns erklären:
    limks oben ist 0/0 . x nimmt nach rechts zu, und y nimmt nach unten zu

    das ist aber zumindest sehr isomorph zu karthesischen koordinaten. die formel von black shadow sollte also gehen. wie hast du sie denn angewandt?



  • hy de formel was i oben gepostet habe funktioniert zwar perfekt braucht aber ewig zum berechnen

    also kennt jemand ein anderes verfahren ??
    wenn ja erklärt es ausführlich THX 😃 😃 😃



  • interpreter schrieb:

    PS: Es ginge auch über baryzentrische Koordinaten:
    p = x*p0 + y*p1 + z*p1
    mit x+y+z=1
    so erhältst du ein LGS mit 3 Gleichungen, dass du nach x,y,z auflösen kannst. Wenn 0<=x,y,z<=1 gilt, liegt p im Dreieck.

    wie soll denn das zu lösen sein? kannst du mir das bitte erklären? wie kriege ich die x heraus, wenn ich nur(!) p0, p1 und p2 habe und wissen will, ob p im dreieck ist?

    gruß, alekz



  • Kannst auch mit Determinaten überlegen. Zuerst stellst du die Vectoren AB, AP, BC, BP, CA und CP auf. Fals sign(det(AB, AP)) = sign(det(BC, BP)) = sign(det(CA, CP)) dann liegt P im Dreieck ABC.


Anmelden zum Antworten