Hvordan beregne Normal OpenGL

Åpne Graphics Library, eller OpenGL, utviklet av Silicon Graphics Inc. i 1992, er en åpen spesifikasjon for en standard programmeringsgrensesnitt. OpenGL definerer et rikt sett med metoder som, når de kalles fra programmer skrevet i et språk som har OpenGL bindinger, gjengir grafikk på en dataskjerm. De fleste OpenGL primitiver håndtere tegning trekanter, som er de grunnleggende enhet som mer komplekse former er gjort. Oppgaven med å beregne normalvektor til en 2-D trekant i 3-D områder forekommer meget ofte i grafikk programmering.

Bruksanvisning

1 Lagre de tre koordinater for hvert av de tre hjørnene i trekanten i programmet variabler. Lagrer for eksempel de tre koordinatene til det første hjørnet i variabler v1.x, v1.y og v1.z; gjøre det samme for de to andre hjørner v2 og v3.

2 Beregn to kant vektorer, for eksempel, A = v2 - v1 og B = v3 - v1. For eksempel, beregne koordinatene en etter en ved å utføre:

Ax = v2.x - v1.x

Ay = v2.y - v1.y

Az = v2.z - v1.z

Bx = v3.x - v1.x

Av = v3.y - v1.y

Bz = v3.z - v1.z

Dette eksempelkode er i en generisk pseudo-kode notasjon, lett å forvandle til noen av de titalls språk som har OpenGL bindinger.

3 Beregn normalvektoren N = U x V, hvor x betegner vektor kryssproduktet. For eksempel, er å beregne koordinatene til normalvektoren N ved å utføre:

Nx = (Ay Bz) - (Az By)

Ny = (Az Bx) - (Ax Bz)

Nz = (Ax By) - (Ay Bx)

hvor * betegner skalarmultiplikasjon. Vektoren N vil være normalt til den opprinnelige trekant (v1, v2, v3).