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,Pax = Ax - Px
ay = Ay - Py
bx = Bx - Px
by = By - Pyden 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 zudas 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.