Creating a 3D plot with perspective rendering
In the previous chapter, we showed a heat map of a 2D Gaussian distribution with varying standard deviation over time. Now, we will continue with more advanced rendering of the same dataset in 3D and demonstrate the effectiveness of visualizing multi-dimensional data with OpenGL. The code base from the previous chapter will be modified to enable 3D rendering.
Instead of rendering the 2D Gaussian distribution function on a plane, we take the output of the Gaussian function as the z (height) value as follows:
Here A is the amplitude of the distribution centered at , and are the standard deviations (spread) of the distribution in the x and y directions. In our example, we will vary the spread of the distribution over time to change its shape in 3D. Additionally, we will apply a heat map to each vertex based on the height for better visualization effect.
Getting ready
With the camera set up using the projection model, we can render our graph in 3D...