Presek dva trougla u prostoru Matematicki fakultet Beograd
Presek dva trougla u prostoru Matematicki fakultet, Beograd.
• • Dva trougla u prostoru mogu da pripadaju istoj ravni odnosno da to bude presek trouglova u ravni ili da formiraju dve različite ravni
• Dva trougla mogu da se seku na razne načine, odnosno da im presek bude: a) tačka b) duž c) neki od mnogouglova (trougao, četvorougao, petougao ili šestougao ukoliko se trouglovi nalaze u istoj ravni) d)ili da se ne seku
• • ALGORITAM Posle unosa trouglova poziva se funkcija presek. Trouglova koja kao ulaz prima tačke ta 2 trougla i još šest pokazivača na tačke u koje treba upisati tačke preseka. Funkcija presek. Trouglova poziva funkciju presek. Trougao 1 Ravan 2 koja proverava da li trougao seče ravan kojoj pripada drugi trougao.
• • • ALGORITAM Presek može biti prazan skup, duž ili tačka zato se funkciji osim tačaka temena trouglova šalju i 2 pokazivača na tačke u koje će se upisati moguće tačke preseka. Funkcija vraca 0 ako nema preseka, 1 ako su trouglovi komplanarni, 2 ako je presek jedna tačka i 3 ako je presek duž. Ako funkcija vrati 1 onda gledamo presek ta dva trougla u ravni, funkcijom presek. URavni koja prima tačke trougla kao ulaz i šest pokazivača na tačke. Tu inicijalicujemo niz od 6 tačaka u kojem ćemo da čuvamo tačke preseka.
• • ALGORITAM Funkcija presek. URavni prvo proverava, za svako teme svakog trougla, da li se nalazi u drugom trouglu i ako se nalazi da li tu tačku već imamo u nizu. Pri svakom dodavanju tačke u niz povećavamo brojač za jedan. Kada se to završi, prelazimo na preseke stranica trouglova. Bez obzira da li dobijamo 1 ili 2 tačke, proveravamo da li se nalazi u nizu.
• ALGORITAM U zavisnosti od brojača znamo koliko tačaka cini presek ta dva trougla i u odnosu na to možemo da ih nacrtamo i spojimo
Test primeri (preseci u ravni) Ulaz: A 1(4, 1, 0) B 1(4, 5, 0) C 1(1, 5, 0) A 2(1. 5, 2, 0) B 2(2. 5, 2, 0) C 2(2. 5, 3, 0)
Test primeri (preseci u ravni) Ulaz: A 1(4, 1, 0) B 1(4, 5, 0) C 1(1, 5, 0) A 2(4, 2, 0) B 2(4, 3, 0) C 2(5, 3, 0)
Test primeri (preseci u ravni) Ulaz: A 1(1, 1, 0) B 1(6, 1, 0) C 1(1, 5, 0) A 1(4, 0, 0) B 2(8, 1, 0) C 2(4, 3, 0)
Test primeri (preseci u ravni) Ulaz: A 1(1, 1, 0) B 1(4, 1, 0) C 1(4, 4, 0) A 2(3, 2, 0) B 2(4, 0, 0) C 2(5, 2, 0)
Test primeri (preseci u ravni) Ulaz: A 1(1, 1, 0) B 1(4, 1, 0) C 1(4, 4, 0) A 2(3, 0, 0) B 2(3, 2, 0) C 2(5, 3, 0)
Test primeri (preseci u ravni) Ulaz: A 1(1, 1, 0) B 1(4, 1, 0) C 1(4, 4, 0) A 2(3, 0, 0) B 2(2, 3, 0) C 2(5, 3, 0)
Test primeri (preseci u prostoru) Ulaz: A 1(4, 1, 0) B 1(4, 5, 0) C 1(1, 5, 0) A 2(3, 4, 0) B 2(2, 2, 5) C 2(4, 6, 5)
Test primeri (preseci u prostoru) Ulaz: A 1(4, 1, 0) B 1(4, 5, 0) C 1(1, 5, 0) A 2(2. 5, 5. 5, 0) B 2(5, 3, 0) C 2(1, 5, 0)
Radili: • • • Vladimir Martić (129/2010) Nataša Kuzmanović (296/2010) Kostić Tijana (125/2010)
- Slides: 16