Sicher, dass das so stimmt? Funktioniert leider nicht...
Beispiel:
|
Quellcode
|
1
2
3
4
5
|
P := (273 | 239)
E := ( (289 | 253), (258 | 255), (254 | 230), (286 | 229) )
f := (P - E1) • (E2 - E1) = 468, |E2 - E1| = 2
0 <= f <= |E2 - E1| ist offensichtlich nicht erfüllt
|
Wenn ich mit diesen Werten mal deine Formeln durch-x'e, sollte der Punkt nicht im Viereck liegen, obwohl er es offensichtlich tut.
@ Genion: Sorry, aber habe leider nicht verstanden, was du meinst
Edith sagt: Mit den folgenden Bedingungen funktioniert es hingegen immerhin teilweise (mit den ursprünglichen habe ich nie ein positives Resultat erhalten)
|
Quellcode
|
1
2
3
4
|
0 <= norm ( P-E1) • norm (E2-E1) <= 1 &&
0 <= norm ( P-E1) • norm (E4-E1) <= 1 &&
0 <= norm (E2-E3) • norm (E2-E3) <= 1 &&
0 <= norm ( P-E3) • norm (E4-E3) <= 1
|
Teilweise liefert dies aber auch für Punkte, die außerhalb liegen, ein positives Resultat....
Edith fügt noch hinzu: Funktioniert wohl (mit der letzten Variante), ich hatte bloß einen kleinen Fehler bei der Implementierung