Hoe de afstand bepalen in 3d ruimte van een snijpunt

Moderators: ArcherBarry, Fuzzwood

Reageer
Berichten: 32

Hoe de afstand bepalen in 3d ruimte van een snijpunt

Goededag, voor onze 3D engine moeten wij het hidden line algoritme implementeren (http://en.wikipedia.org/wiki/Hidden_sur ... ermination). Dit houd in dat je een rechte hebt (zijde van een driehoek) en dat je voor alle overige zijden van het object gaat nagaan of het snijdt. Als het bvb de rechterhoek van een driehoek afsnijdt (dus 2 snijpunten op de 2 driehoekszijden) dan mag deze niet getoond worden.

Nu ben ik er al achtergekomen hoe na te gaan of 2 rechten in 2D elkaar snijden, dankzij de vergelijking van de 2 rechten aan elkaar gelijk te stellen. Dus ik heb de x en de y coordinaat van het snijpunt. Ik kan ook nagaan of deze op beide rechten ligt (en niet erbuiten) en zodoende dat deze zou snijden in 2D.

MAAR....de z-coordinaat wordt achterwege gelaten. Dus als je een driehoek hebt kan de rechte ervoor of erachter liggen.

Nu zou ik graag willen nagaan welk van de 2 het dichtste bijligt.

Bvb. We hebben 4 punten (Px,Py), (Qx,Qy) (de eerste rechte), (Ax,Ay) en (Bx,By) (de tweede rechte). Het snijpunt is 5, 6.

We zijn erachter gekomen dat deze op de 2 rechten ligt. Nu is de vraag of dat punt op rechte PQ verder ligt dan dat op AB.

Aangezien de coordinaten een window to viewport en perspectieftransformatie achter de rug hebben heeft de z-coordinaat zijn oorspronkelijke waarde niet meer, maar hier kan ik eventueel nog achterkomen (van P, Q, A en B weliswaar). Maar wat is de z-waarde van het snijpunt op de 2 rechten?

Dank bij voorbaat

Berichten: 32

Re: Hoe de afstand bepalen in 3d ruimte van een snijpunt

Iemand die mij kan verderhelpen?

Gebruikersavatar
Berichten: 24.578

Re: Hoe de afstand bepalen in 3d ruimte van een snijpunt

Ongeduldig zijn helpt niet (je topic bumpen mag overigens niet), bovendien is je vraag nog maar een paar uren oud...
"Malgré moi, l'infini me tourmente." (Alfred de Musset)

Reageer