Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
niXon
Založen: 27. 10. 2007 Příspěvky: 22
|
Zaslal: 18. listopad 2007, 10:52:49 Předmět: Je bod pod, alebo nad trojuholnikom? |
|
|
Dobry den, mam taky problem, potrebujem poradit....
mam trojuholnik, k nemu x,y,z suradnice kazdeho bodu (trojuholnik moze byt rozne nepravidelny, ...), a mam x,y,z suradnice stvrteho bodu, ku ktoremu potebujem zistit, ci sa nachadza pod/nad trojuholnikom (to, ci je v x,z oblasti trojuholnika si viem zistit) potrebujem len zistit, ci je jeho y hodnota nizsia alebo vyssia, ako by bola "interpolovana" hodnota na ploche toho trojuholnika, ..... staci matematicky poradit, naprogramujem si to uz sam, ale neviem ani ako by som mal zacat....
Dakujem |
|
Návrat nahoru |
|
|
MD
Založen: 29. 07. 2007 Příspěvky: 437 Bydliště: Praha
|
Zaslal: 18. listopad 2007, 11:14:03 Předmět: |
|
|
Nevim jestli spravne chapu dotaz, ale:
Z vrcholu trojuhelnika odvodit obecnou rovnici roviny (tvaru ax + by + cz + d = 0), ve ktere trojuhelnik lezi. Dosadit hledany bod (x,y,z) do rovnice. Pokud ax + by + cz + d > epsilon, je bod nad rovinou, < pod rovinou. (abc je vektor kolmy na rovinu, pokud je normovany, muzes takhle i merit vzdalenost od trojuhelnika) _________________ - play with objects - www.krkal.org -
Naposledy upravil MD dne 18. listopad 2007, 11:18:09, celkově upraveno 1 krát |
|
Návrat nahoru |
|
|
niXon
Založen: 27. 10. 2007 Příspěvky: 22
|
Zaslal: 18. listopad 2007, 11:17:55 Předmět: |
|
|
aha, takze, ak N je normalovy vektor na rovinu (trojuholnik) a P je bod, tak ak..
Nx*Px+Ny*Py+Nz*Pz=0 tak lezi bod priamo na trojuholniku (rovine) ??? ak to spravne chapem...
EDIT: ale sa mi to nezda, pretoze by tam nehrali rolu suradnice trojuholnika... asi som zle pochopil rovinu.... mohli by ste mi ten "vypocet roviny" vysvetlit pls ? ked mam suradnice trojuholnika |
|
Návrat nahoru |
|
|
MD
Založen: 29. 07. 2007 Příspěvky: 437 Bydliště: Praha
|
Zaslal: 18. listopad 2007, 11:24:02 Předmět: |
|
|
Ano, od toho je to rovnice roviny, pokud ti to vyjde pro urcity pod P nula (rovnice tedy plati), tak dany pod lezi na rovine (ne nutne na trojuhelniku ). Jinak N je jakykoli vektor, ktery je na rovinu kolmy. Z vrcholu, ktere na rovine lezi (napr z vrcholu trojuhelnika) se da spocitat vektorovym soucinem: (B-A) x (C-A) _________________ - play with objects - www.krkal.org - |
|
Návrat nahoru |
|
|
niXon
Založen: 27. 10. 2007 Příspěvky: 22
|
Zaslal: 18. listopad 2007, 11:27:19 Předmět: |
|
|
ale tymto sposobom:
Nx*Px+Ny*Py+Nz*Pz=0
to predsa bude platit pre kazdy trojuholnik ktory ma urcity normalovy vektor, nehladne na to kde je.. a to predsa nemoze byt tak, ved normalovy vektor moze mat trojuholnik (rovina) taky isty, aj ked je o 2jednotky nizsie alebo vyssie, ak ma rovnaky "naklon"... |
|
Návrat nahoru |
|
|
igor
Založen: 28. 07. 2007 Příspěvky: 196
|
Zaslal: 18. listopad 2007, 11:28:05 Předmět: |
|
|
nespravne
1) vemes bod lezici na trojuhelniku (napr. vrchol) B[x,y,z]
2) vypoctes normalovy vektor N[a,b,c]
3) obecna rovnice je ax + by + cz + d = 0 takze musis vypocitat d
4) testovany bod C[x,y,z] dosadis do
ax + by + cz + d podle znamenka vysledku zjistis, zda je nad/pod trojuhelnikem (pokud chces zjistit, zda lezi na, je vhodne tam dat nejakou toleranci) |
|
Návrat nahoru |
|
|
rezna
Založen: 27. 07. 2007 Příspěvky: 2156
|
Zaslal: 18. listopad 2007, 11:33:24 Předmět: |
|
|
Nx*Px + Ny*Py + Nz*Pz + D = 0
to D jsi zapomel - Nx, Ny, Nz je normalovy vektor roviny a to D si dopocitas dosazenim bodu A, B nebo C do rovnice
Nx*Ax + Ny*Ay + Nz*Az + D = 0
tedy
D = -Nx*Ax - Ny*Ay - Nz*Az
to D urcuje "jak vysoko" ta dana rovina mezi temi vsemi se stejnou normalou lezi |
|
Návrat nahoru |
|
|
niXon
Založen: 27. 10. 2007 Příspěvky: 22
|
Zaslal: 18. listopad 2007, 11:34:25 Předmět: |
|
|
aahaa dakujem Vam krasne, uz tomu chapem diky |
|
Návrat nahoru |
|
|
MD
Založen: 29. 07. 2007 Příspěvky: 437 Bydliště: Praha
|
Zaslal: 18. listopad 2007, 11:34:25 Předmět: |
|
|
nj, niXone, nezapominej na ten clen d (urcuje posunuti roviny mimo pocatek souradnic) a spocita se, jak rika igor a rezna. Jinak N (normalovy vektor) je treba spocitat ze dvou LNZ vektoru, ktere na rovine lezi ...
Jestlize d udava posun roviny, pak N je jeji natoceni. _________________ - play with objects - www.krkal.org - |
|
Návrat nahoru |
|
|
|