- Sub CalcNormal(byval InX1 as Single, byval InY1 as Single, byval InZ1 as Single, _
- byval InX2 as Single, byval InY2 as Single, byval InZ2 as Single, _
- byval InX3 as Single, byval InY3 as Single, byval InZ3 as Single, _
- byref OutX as Single, byref OutY as Single, byref OutZ as Single)
- Dim as Single Qx, Qy, Qz, Px, Py, Pz, Nx, Ny, Nz, f
- Qx = InX2-InX1 : Qy = InY2-InY1 : Qz = InZ2-InZ1
- Px = InX3-InX1 : Py = InY3-InY1 : Pz = InZ3-InZ1
- Nx = ((Py * Qz) - (Pz * Qy)) : Ny = ((Pz * Qx) - (Px * Qz)) : Nz = ((Px * Qy) - (Py * Qx))
- f = 1 / sqr((Nx*Nx)+(Ny*Ny)+(Nz*Nz))
- OutX = f*Nx : OutY = f*Ny : OutZ = f*Nz
- End Sub