Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 1 odgovor
  • 4.399 pregleda

Najnovija ↓

3D Poligon i tacka 19.08.2003. u 12:05 · pre 282 meseca #1
kako da znam da li se nalazi tacka u nekom poligonu koga karakterisu 3 dimenzije
A(0,0,0) B(10,0,10) C(0,10,0)
P(5,5,5) //tacka koja se posmatra da li ispunjava uslov
Re: 3D Poligon i tacka 19.08.2003. u 13:44 · pre 282 meseca #2
Pretpostavljam da su sve tačke u istoj ravni, jer onda nema poligona.

Najpre treba da pronađeš ravan u kojoj se poligon nalazi. Za to možeš uzeti bilo koje tri tačke poligona (A, B, C) i izračunati normalu na ravan n= \vec {AB} \times \vec {AC}. Tačka A i normala n ti sada potpuno određuju ravan poligona. Vektori su predstavljeni kao matrice-kolone.

Sve koordinate transformišeš tako da se tačke poligona isprojektuju u jednu ravan, transformacijom čiji je inverz T^{-1}= \left[ \vec{AB} \quad\vec{AC} \quad n \right]  , dakle postaviš koordinatni sistem kome je jedna od tri koordinatne ravni upravo ravan poligona. Pritom AB i AC naravno nisu kolinearne jer inače ni nemaš poligon. Naravno odnos između apsolutnog koordinatnog sistema i ovog tvog je: v_1 = Tv + \vec A. U ovoj jednačini znaš koliko iznose A (to je vektor položaja tačke A) i znaš koliko iznosi T (mada je T dato preko odgovarajuće inverzne matrice). v je vektor položaja bilo koje tačke u koordinatnom sistemu koji ti je potreban (to treba da sračunaš!), a v_1 ti je (apsolutni) vektor položaja tačke koji znaš.

Treba da sračunaš za svaku tačku v_1:  v= T^{-1}\cdot (v_1 - \vec A) i dobijaš transformisane koordinate o kojima sam govorio.

Treća koordinata tačke koju ispituješ (nazovimo je X), dakle komponenta po vektoru normale n, posle transformacije treba da bude 0, inače tačka leži van ravni poligona pa dakle ni ne može biti u njemu.

Ako je dovde sve prošlo kako treba, primeniš Časlavov algoritam za utvrđivanje da li tačka pripada poligonu u ravni (potraži u starim porukama). Mislim da se radi samo o konveksnom poligonu, ali i to je bar nešto.

f
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme