# Gnomonic Projection Background

According to MathWorld, the gnomonic projection is a nonconformal map projection obtained by projecting points $P_1$ (or $P_2$) on the surface of sphere from a sphere’s center O to point P in a plane that is tangent to a point S (Coxeter 1969, p. 93). In a gnomonic projection, great circles are mapped to straight lines. The gnomonic projection represents the image formed by a spherical lens, and is sometimes known as the rectilinear projection.

# Code Motivation

I haven’t seen a code which is able to generate large amounts of gnomonic projection from 360 images masssively in parallel, so I open sourced my ShaderToy program for such a purpose.

Usually previous methods creates a camera with a projection matrix, a cube or sphere to approximate the rectilinear projection from human eyes. However, texturing a mesh can be expensive and what if you don’t really want to pre-define a projection matrix?

Here comes using a quad to generate gnomonic projection centralized at any given point.

# Interaction Instructions

Move the mouse to change the central point.

Press the space key for the Equirectangular Projection;

Press the numbers 1, 2, 3 for three different FoVs.

# Code

I think the code is self-explained, and thus can be used as a basic tutorial for projection mapping from a cube map.

# Gnomonic Projection With A Large FoV

Gnomonic Projection