1 / 20

3D Visualisation of Simulation Data.

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.

macy
Télécharger la présentation

3D Visualisation of Simulation Data.

An Image/Link below is provided (as is) to download presentation 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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  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. Projection of 3D onto 2D • Example of 2D rendering of objects in 3D.

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

  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/

More Related