Sapere se due triangoli sono sovrapposti

prototipo88
Ciao a tutti,
ho due triangoli uguali, come faccio a sapere se sono sovrapposti?

Il mio ragionamento è stato:
- traccio le rette (il prolungamento) di tutti i lati del triangolo 1 (T1) e del T2
- trovo i punti di intersezione tra le rette di T1 e di T2, quindi in totale sono 9 punti.
- ora dovrei applicare delle condizioni per verificare se i punti risiedono all'interno dei due triangoli (così capisco se sono sovrapposti)
- se ho almeno 2 punti interni, so che i triangoli si sovrappongono.

Ma che condizioni devo imporre?

Se avete altre idee (o metodi funzionanti) sono ben accette :)
Grazie

Risposte
Quinzio
Le intersezioni possono anche essere meno di 9, dipende se il triangolo viene solo traslato o anche ruotato.
Comunque, si può mettere giù un algoritmo, tipo programma informatico.
Si calcolano, come dicevi tu i 9 punti di intersezione tra le rette. Se le due rette sono parallele, i punti sono meno di 9 e la loro intersezione è vuota.
Chiamiamo $x_i$ l'ascissa del punto di intersezione e $x_a, x_b$ le ascisse dei due vertici di uno dei due triangoli, vertici che appartengono alla retta usata per l'intersezione (se la retta è verticale usiamo le ordinate).
Se $(x_a-x_i)(x_b-x_i)\le 0$ allora l'intersezione appartiene al lato, e i triangoli "si toccano".
Forse era quest'ultima condizione che cercavi, lascio a te capire perchè funziona :wink: .

prototipo88
ti ringrazio, ci lavorerò su :)

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.