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).