Presentation is loading. Please wait.

Presentation is loading. Please wait.

3D Visualisation of Simulation Data. Informal Seminar 08/03/2004. By Chris Sweet.

Similar presentations


Presentation on theme: "3D Visualisation of Simulation Data. Informal Seminar 08/03/2004. By Chris Sweet."— Presentation transcript:

1 3D Visualisation of Simulation Data. Informal Seminar 08/03/2004. By Chris Sweet.

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

3 Methods for 3D Output.  Projection of 3D image onto 2D plane.  3D libraries such as OpenGL or DirectX.

4 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:

5  Example of 2D rendering of objects in 3D. Projection of 3D onto 2D

6  Example of 3D surface rendering. Projection of 3D onto 2D

7 Advantages/Disadvantages of 3D Projection  +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.

8 Advantages/Disadvantages of 3D Libraries  -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.

9 Advantages/Disadvantages of 3D Libraries  Comparison: 3D projection of Solar System.

10 Advantages/Disadvantages of 3D Libraries  3D library rendering of Solar System.

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

12 OpenGL basics, Vertex Transformation  Vertices are transformed according to the following pipeline:

13 OpenGL basics, Initialisation.  Typical C++ initialisation commands:  Typical C++ re-draw commands:

14 OpenGL View/Perspective  The viewing Frustum parameters are set using the command:  According to the diagram:

15 OpenGL Drawing Objects  All OpenGL objects are constructed from polygons by defining the vertices:  or by using GLUT more complex shapes:

16 OpenGL Lighting  Both ambient and point source lighting can be defined:

17 OpenGL Textures  Textures can be mapped onto objects according to their vertex positions:

18 OpenGL Translate/Rotate Object  OpenGL objects can and rotated: be translated:

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

20 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/


Download ppt "3D Visualisation of Simulation Data. Informal Seminar 08/03/2004. By Chris Sweet."

Similar presentations


Ads by Google