3D Visualisation of Simulation Data.

1 / 20

# 3D Visualisation of Simulation Data. - PowerPoint PPT Presentation

Informal Seminar 08/03/2004. By Chris Sweet. 3D Visualisation of Simulation Data. Why Visualise?. More meaningful than lists of numbers. People have good visual intuition of dynamics. Visual check that simulation is correct.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about '3D Visualisation of Simulation Data.' - albert

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Informal Seminar 08/03/2004.

By Chris Sweet.

### 3D Visualisation of Simulation Data.

Why Visualise?
• More meaningful than lists of numbers.
• People have good visual intuition of dynamics.
• Visual check that simulation is correct.
• Easier to communicate interesting features of the simulation to others.
Methods for 3D Output.
• Projection of 3D image onto 2D plane.
• 3D libraries such as OpenGL or DirectX.
Projection of 3D onto 2D
• This can be accomplished by using a matrix to project the 3D data onto a 2D plane, which can be varied to change the viewpoint.
• For a viewing plane defined as follows we get a transformation matrix:
Projection of 3D onto 2D
• Example of 2D rendering of objects in 3D.
Projection of 3D onto 2D
• Example of 3D surface rendering.
• +Easy to implement on any platform with raster graphics.
• -Objects drawn as 2D.
• -Hard to determine depth from viewer, (front objects do not obscure rear objects).
• -Hard to implement perspective.
• -Hard to apply textures.
• -Slow as pixel driven.
• -Hard initial implementation.
• +All methods of depth/ perspective/ texturing looked after.
• +Hardware support for drawing so fast.
• +Libraries exist for many different platforms.
• Comparison: 3D projection of Solar System.
• 3D library rendering of Solar System.
• Comparison: 3D projection of Solar System.
• 3D library rendering of Solar System.
OpenGL
• OpenGL is a cross-platform 3D graphics and modelling library with extremely good hardware support.
• OpenGL is a procedural graphics API containing over 200 commands and functions.
• OpenGL works in conjunction with other libraries, such as GLUT, for easier implementation.
OpenGL basics, Vertex Transformation
• Vertices are transformed according to the following pipeline:
OpenGL basics, Initialisation.
• Typical C++ initialisation commands:
• Typical C++ re-draw commands:
OpenGL View/Perspective
• The viewing Frustum parameters are set using the command:
• According to the diagram:
OpenGL Drawing Objects
• All OpenGL objects are constructed from polygons by defining the vertices:
• or by using GLUT more complex shapes:
OpenGL Lighting
• Both ambient and point source lighting can be defined:
OpenGL Textures
• Textures can be mapped onto objects according to their vertex positions:
OpenGL Translate/Rotate Object
• OpenGL objects can and rotated:be translated:
OpenGL Solar System Model
• The Solar System model is a 10 body model designed to test the long term stability of different integrators and uses the previous OpenGL techniques to generate the graphics.
References/Acknowledgments
• The following book provides a good reference to OpenGL with examples in C/C++: OpenGL SuperBible by R.S.Wright, M.Sweet (No relation!).
• The following online tutorial covers most aspects of OpenGL programming: http://nehe.gamedev.net/