Scomposizione di un quadrilatero in 2 triangoli

Messaggioda xSergio74 » 26/04/2006, 11:03

Il problema è un po' complesso:

Ho quattro punti in ordine casuale nello spazio 3D.
I quatto punti appartengono allo stesso piano.

Il problema consiste nel creare due triangoli qualunque che abbiano i vertici nei quattro punti, ma che non abbiano sovrapposizione di aree.

Possibile soluzione in R2 (mondo 2D):
se i punti sono tutti su uno stesso piano (XY, XZ o YZ) allora posso utilizzare questo metodo:
Creo un triangolo con i primi tre punti (A,B,C)
Prendo il quarto punto D e considero la sua posizione rispetto a ciascuno degli altri punti (per esempio A) e il segmento formato dagli altri 2 (B,C). Se A sta dalla parte opposta di D rispetto a BC, allora il A è da escludere nella formazione del secondo triangolo.

Per verificare la posizione del punto rispetto al segmento considero il segno della seguente formula:
in cui p0 è un punto e p1p2 sono gli estremi del segmento rispetto al quale devo considerare la posizione.

(p1.X - p0.X) * (p2.Y - p0.Y) - (p2.X - p0.X) * (p1.Y - p0.Y)

se il segno è positivo, il punto è “alla sinistra” del segmento, se è negativo è “alla destra”, se è 0, il punto giace sul segmento.
Per esempio, nella figura sotto C è il punto da escludere perché sta dalla parte opposta di D rispetto al segmento AB.
Avrò così i due triangolo ABC e ABD

Esiste qualcosa di analogo in R3 (mondo 3D) o un altro metodo per giungere ad una soluzione?


[img]c:\image.bmp[/img]
xSergio74
Starting Member
Starting Member
 
Messaggio: 1 di 4
Iscritto il: 26/04/2006, 10:39

Messaggioda eugenio.amitrano » 26/04/2006, 21:04

x Un moderatore:
Suppongo che xSergio74 ha involontariamente inserito due volte lo stesso post.
Come rimediare ad un errore del genere ?

EugenioA
Avatar utente
eugenio.amitrano
Senior Member
Senior Member
 
Messaggio: 119 di 1375
Iscritto il: 15/02/2006, 16:16

Messaggioda eugenio.amitrano » 26/04/2006, 21:04

ho dato una risposta nell'altro post.
EugenioA
Avatar utente
eugenio.amitrano
Senior Member
Senior Member
 
Messaggio: 120 di 1375
Iscritto il: 15/02/2006, 16:16


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite