Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Piste kolmion pinnalla

nakkikorva [18.03.2005 21:50:18]

#

Minulla on neljä pistettä 3d-ympäristössä, joista kolme ovat kolmion kärkipisteitä. Miten lasken, onko neljäs piste kolmion sisällä, kun kaikki pisteet ovat samalla pinnalla?

Metabolix [18.03.2005 22:13:41]

#

Kun osaat laskea, onko piste samalla tasolla kuin kolmio, tiedät varmaankin myös, että muussa tapauksessa vastauksen etumerkki kertoo, kummalla puolella tasoa piste on, olettaen, että lasket käyttäen tason kaavaa (aX + bY + cZ + d = 0, [a, b, c] = tason normaali). Kaavasta saa suoraan 2-ulotteisen version (jolla siis selvitetään, kummalla puolella jotakin suoraa tietty piste on), ja kahdella eri suunnista katsotulla 2-ulotteisella tarkistuksella saa 3D-vastauksen. En nyt jaksa kaavaa tähän väsätä, ehkä huomenna.

Deewiant [18.03.2005 22:17:41]

#

Ota vektorit neljännestä pisteestä kärkipisteisiin. Summaa näiden vektorien väliset kulmat: jos tulee 360 astetta tai 2*pi radiaania, kyseessä on ympyrä, ja näin ollen piste on kolmion sisällä. Muulloin piste on ulkopuolella.

Mihin tätä muuten tarvitsit, ihan mielenkiinnosta?

nakkikorva [18.03.2005 22:24:40]

#

Tuota kulmien laskemista en mielelläni käyttäisi, menee liian hankalaksi ja hitaaksi 3d:ssä. Tarvitsen sitä tekemäni pelin törmäystarkistukseen (kun lasken leikkaako jana kolmion). Eli olen jo laskenut janan ja pinnan leikkauspisteen, nyt pitäisi laskea onko piste kolmion sisällä.

peki [19.03.2005 01:11:25]

#

Raytracingin Triangle-Ray intersection -koodista pitäisi olla suhteellisen helppoa johtaa jana-kolmio törmäystarkistus.
Tällöin ei tarvitse välittää oikeastaan ollenkaan Metabolixin mainitsemasta tasosta.

http://www.cs.virginia.edu/~gfx/Courses/2003/ImageSynthesis/papers/Acceleration/Fast MinimumStorage RayTriangle Intersection.pdf

Tässä loistava dokumentaatio asiasta.

nakkikorva [19.03.2005 11:28:49]

#

Ongelma ratkesikin jo, tuolla Metabolixin keinolla. Kiitos paljon kaikille!

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta