SilkyBoy Napisano Styczeń 5, 2007 Zgłoś Share Napisano Styczeń 5, 2007 Sprawa jest taka. Mam napisac program, który bedzie prezentowal dzielnice miasta i sprawdzal do jakiej dzielnicy nalezy dany punkt (wprowadzany z klawiatury). Inaczej mówiąc mam zrobic klase "wielokąt" w ktorej beda podane wierzcholki dzielnic i napisac do tego jakis algorytm sprawdzajacy w jakiej dzielnicy lezy wpisany przez nas punkt. Bez mapy bitowej (rysowanie tu nie potrzebne, bardziej chodzi o algorytm). Tylko nie berdzo wiem jak sie za to zabrac... Jakies podpowiedzi ? Link do komentarza Udostępnij na innych stronach More sharing options...
TSr Napisano Styczeń 5, 2007 Zgłoś Share Napisano Styczeń 5, 2007 Tak na szybko wymyśliłem takie rozwiązanie:Każdy obszar można podzielić na trójkąty (łatwiej będzie sprawdzić czy punkt leży wewnątrz trójkąta).Teraz to już geometria analityczna się kłania Bierzemy każde dwa wierzchołki trójkąta, przez które przeprowadzamy prostą i sprawdzamy czy nasz wskazany punkt leży po tej samej stronie prostej, po której leży trzeci wierzchołek rozpatrywanego trójkąta. Jeżeli wszystkie 3 testy wypadną pomyślnie to punkt leży wewnątrz trójkąta. Ubuntu.pl user #10593 Link do komentarza Udostępnij na innych stronach More sharing options...
Toster Napisano Styczeń 5, 2007 Zgłoś Share Napisano Styczeń 5, 2007 zalozenie 1:Wielokat jest wypuklyProponowane rozwiazanie: przepuszczasz prosa pinowa przez wskazany punkt liczysz ile razy przecioles wektory opisujace wielokat. Jesli liczba przeciec jest parzysta to jestes wewnatrzZalozenie 2:Wielokat nie jest wypukly.Proponowane rozwiazanie: podzial wielokata na trojkaty i sprawdzenie czy punkt najduje sie wewnatrz trojkata (alg. na sieci)Operacje powyzej przeprowadzasz dla wszystkich wielokatow i wybierasz ten w ktorym sie znajduje punkt. Always Dark<br /> Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Styczeń 6, 2007 Zgłoś Share Napisano Styczeń 6, 2007 Trudno powiedzieć czy poniższy link polecam, bo nie testowałem go, ale artykuł brzmi logicznie:LinkI wtedy nie trzeba sprawdzać czy jest wewnątrz trójkątów lub rozpatrywać przypadki Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Iskar Napisano Styczeń 6, 2007 Zgłoś Share Napisano Styczeń 6, 2007 Pospiesz sie - zmień temat na bardziej opisowe i dodaj przedrostek [C++] albo ten temat raz dwa poleci do kosza. Link do komentarza Udostępnij na innych stronach More sharing options...
marek_haj Napisano Styczeń 8, 2007 Zgłoś Share Napisano Styczeń 8, 2007 proponuje kosz bo to znow ktos odrabia prace domowe na forum ... Link do komentarza Udostępnij na innych stronach More sharing options...
KaYou Napisano Styczeń 8, 2007 Zgłoś Share Napisano Styczeń 8, 2007 Na pclab moga ci odrobic zadanie domowe, tutaj sie nie pozywisz "(2b || !(2b)) == question" W. Shakespeare http://jakubniwa.pl - świat sztucznej inteligencji Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.