2015-05-21 14 views

Odpowiedz

4

Miałem inny pomysł: dla każdej twarzy sprawdź, czy wszystkie e inne wierzchołki leżą po tej samej stronie tej twarzy.

Można to sprawdzić, obliczając normalny wektor dla każdej powierzchni (według produktu krzyżowego), a następnie obliczając produkt punktowy dla każdego wektora z jednego wierzchołka (powierzchni) na wszystkie pozostałe. Znaki muszą być takie same.

Algorytmy powinny działać, ale mogą różnić się czasem obliczeniowym.

5

to sprawdzić: http://liam.flookes.com/cs/geo/

Zasadniczo:

  • podnieść temperaturę wewnątrz bryły
  • wysłać promień od tego punktu do każdej twarzy
  • zapewnienia, że ​​promień przecina tylko wybrane twarz
+0

Świetnie, dzięki. Czy średnia z wierzchołków zawsze jest wewnętrzna w stosunku do wypukłego wielościanu? –

+0

Ten punkt nie może być wybrany losowo, a będziesz miał fałszywy alarm, prawda? – Kryptos

+0

@ Charles: Tak, jest, biorąc pod uwagę wypukłe ciało. @Kryptos Można wybrać losowo, ale musisz sprawdzić akord między punktem P i powierzchnią A dla przecięcia ze wszystkimi płaszczyznami ścian. Akord P-A może przecinać płaszczyznę twarzy B - na zewnątrz twarzy B_. –

Powiązane problemy