Hoe de afstand bepalen in 3d ruimte van een snijpunt

Moderators: dirkwb, Xilvo

Gesloten
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

Gebruikersavatar
Berichten: 24.578

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

Het is niet nodig je bericht meerdere keren te plaatsen.

Ik zal de topic in het huiswerkforum openlaten, ga daar verder.
"Malgré moi, l'infini me tourmente." (Alfred de Musset)

Gesloten