1 / 40

Prerequisites for a Scientific Visualization course

This course covers the fundamentals of scientific visualization, including techniques for taking images, arranging scenes, and using graphics libraries like OpenGL. Topics also include geometric transformations and various graphics algorithms.

vinsonb
Download Presentation

Prerequisites for a Scientific Visualization course

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. Prerequisites for a Scientific Visualization course Michel O. R. Eboueya Computer Science, Maths & Applications Department Pôle Sciences et Technologies Université de La Rochelle

  2. Outline Know how to take an image References and Example of a Computer Graphics Course Survival concepts Line & Circle generation Clipping (2 methods) Curves and surfaces (just Bezier) Ray Casting (well known) To Scientific Visualization

  3. Know how to take an image Arrange the scene model MODEL Point the camera to the direction of the scene, VIEW Tune the camera lenses ( zoom. . .) PROJECTION Size of the picture and clic VIEWPORT Using a Graphics Library…OpenGL

  4. Know how to take an image Arrange the scene model MODEL Point the camera to the direction of the scene, VIEW Tune the camera lenses ( zoom. . .) PROJECTION Size of the picture and clic VIEWPORT Using a Graphics Library…OpenGL

  5. Geometrical transformations

  6. Outline Know how to take an image References and Example of a Computer Graphics Course Survival concepts Line & Circle generation Clipping (2 methods) Curves and surfaces (just Bezier) Ray Casting (well known) To Scientific Visualization

  7. Bibliographie 1) J. D. Foley & A.Van Dam Fundamentals of Interactive Computer Graphics Addison-Wesley Publishing Company 2) Interactive Computer Graphics . A top down approach with OpenGL. Adward Angel Addison Wesley 3) Computer Graphics Mathematical first steps . P.A. Egerton et W.S Hall Prentice Hall Europe All topics complemented with practical implementations using Open GL (wintel or linux) to encourage a "hands-on" or "learning-by-doing" attitude.

  8. Exemple de cours complet 01 - Linear Algebra a. Matrix b. Polynomials c. Linear Transformations 02 - Computational Geometry a. geometric searching b. Convex Hulls c. Proximity d. Intersections e. The Geometry of Rectangles

  9. Exemple de cours complet 03 - Graphics Hardware a. Display Technologies b. Raster-Scan Display Systems c. The Video Controller 04 - 2D and 3D Transformations a. Translations b. Rotations c. Scaling d. Reflections e. Composition of Transformations

  10. Exemple de cours complet 05 - Viewing in 2D and 3D a. Homogeneous Coordinates b. Parallel Projections c. Perspective Projections d. View Volume e. Clipping f. Viewport Mapping and Window Mapping g. Viewing Transformations 06 - Curves and Surfaces a. Polygon Meshes b. Parametric Cubic Curves c. Parametric Bicubic Surfaces d. Quadric Surfaces

  11. Exemple de cours complet 07 - Solid Modelling a. Solid Representation b. Regularized Boolean Set Operations c. Primitive Instancing d. Sweep Representations e. Boundary Representations f. Constructive Solid Geometry g. User Interfaces for Solid Modelling 08 - Achromatic and Colored Light a. Color and Light in Computer Graphics b. Achromatic Light c. Chromatic Color d. Color Models for Raster Graphics e. Reproducing Color in Computer Graphics

  12. Exemple de cours complet 09 - Aliasing and Antialiasing Techniques a. Sampling Theory b. Point Sampling c. Area Sampling d. Stochastic Sampling e. Filtering f. Image Reconstruction

  13. Exemple de cours complet 10 - Visible-Surface Determination a. Functions of Two Variables b. Coherence c. Extents and Bounding Volume d. Spatial Partitioning f. Hierarchy g. Algorithms for Visible-Line Determination h. The Z-Buffer Algorithm i. List-Priority Algorithms j. Scan-Line Algorithms k. Area-Subdivision Algorithms l. Algorithms for Octrees m. Algorithms for Curved Surfaces

  14. Exemple de cours complet 11 - Illumination and Shading a. Illumination Models b. Shading Models c. Transparency Models d. Interobject Reflections e. Physically Based Illumination Models f. Light Sources g. Local Illumination Algorithms h. Global Illumination Algorithms i. Radiosity Methods

  15. Exemple de cours complet 12 - Texture Techniques a. Texture Mapping b. Bump Mapping c. Displacement Mapping 13 - Ray Tracing a. Theory b. Visible-Surface Ray Tracing c. Recursive Ray Tracing 14 - Image Manipulation And Storage a. Image Processing b. Geometric Transformation of Images c. Multipass Transformations d. Image Compositing e. Mechanisms for Image Storage f. Special Effects with Images

  16. Exemple de cours complet 15 - Computer-Assisted Animation and Simulation a. Animation Languages b. Methods of Controlling Animation c. Basic Rules of Animation d. Interactive Computer Graphics Animation e. Real-Time Simulation 16 - Advanced Raster Graphics Architecture and Techniques a. Frame-Buffer b. Dynamic Memories c. The Video RAM d. Display-Processor Systems e. Standard Graphics Pipeline f. Introduction to Multiprocessing g. Pipeline Front-End Architectures h.Parallel Front-End Architectures i. Multiprocessor Rasterization Architectures j. Image-Parallel Rasterization k. Object-Parallel Rasterization l. Hybrid-Parallel Rasterization m. Enhanced Display Capabilities n. Advanced Geometric and Raster Algorithms o. Advanced Modelling Techniques

  17. Display models lines and pixels

  18. Lines (Bresenham and Mid-Point Algorithm)

  19. Circle(Bresenham and Mid-Point Algorithm)

  20. Clipping from Cohen-Sutherland

  21. Algorithme de Cohen-Sutherland (3/ 2eme étape de l'algorithme de Cohen-Sutherland : si les codes des 2 extrémités sont tous 2 égaux à 0000, le segment est visible si le résultat d'un ET logique sur les 2 codes est différent de 0000, il est invisible si le résultat d'un ET logique sur les 2 codes est égal à 0000, le segment est candidat au fenêtrage.

  22. Algorithme de Cohen-Sutherland (4/ Puis, calcul des Intersection des segments et fenêtrage pour les segments candidats au fenêtrage. Cas des fenêtres dont les côtés sont parallèles aux axes de coordonnées : les côtés de la fenêtre susceptibles de couper le segment sont ceux vers lesquels les extrémités du segment devraient être ramenées si l'on voulait changer les 1 de leur code en 0. Si b1=1 intersection possible avec y = ymax b2=1 y = ymin b3=1 x = xmax b4=1 x = xmin

  23. Algorithme de Sutherland-Hodgman On considère le côté Pi-1 Pi 1) si Pi et Pi -1 sont tous deux à gauche du côté E, le sommet Pi est placé dans la liste des sommets du polygone fenêtré. 2) si Pi-1 et Pi sont tous deux à droite du côté E, rien n'est placé dans la liste des sommets du polygone fenêtré 3) si Pi-1 est à gauche et Pi à droite du côté E, le point d'intersection I du segment Pi-1 Pi avec le prolongement du côté E est calculé et placé dans la liste des sommets du polygone fenêtré 4) si Pi-1 est à droite et Pi à gauche du côté E, le point d'intersection I du segment Pi-1 Pi avec le prolongement du côté E est calculé. On place I et Pi dans cet ordre la liste des sommets du polygone fenêtré.

  24. vers le Fenêtrage des polygones convexes

  25. Clipping from Cyrus & Beck

  26. Comments

  27. Outline Know how to take an image References and Example of a Computer Graphics Course Survival concepts Line & Circle generation Clipping (2 methods) Curves and surfaces (just Bezier) Ray Casting (well known) To Scientific Visualization

  28. Curves and surfaces (just Bezier)

  29. Exemple introductif  avec 3 points : (courbe de Bézier d’ordre 2) Soient les trois points de contrôle non alignés M0, M1, M2. A1 est le barycentre de <M0(1-t) et M1(t)> A2 est le barycentre de <M1(1-t) et M2(t)> M est le barycentre de <A1(1-t) et A2(t) > Prenons t = 1/4 , on a le dessin suivant :

  30. Détermination vectorielle : On a : OA1 = (1-t) OM0 + t OM1 OA2 = (1-t) OM1 + t OM2 et OM = (1-t) OA1 + t OA2 En effectuant les relations de Chasles ainsi que les développements qui s’imposent, on obtient : OM = (1-t) [(1-t) OM0 + t OM1] + t [(1-t) OM1 + t OM2] = (1-t)² OM0 + 2t (1-t) OM1 + t² OM2 (1) Le point M est le barycentre du système : < M0 (1-t)² ; M1 (2t * (1-t)) ; M2 (t²) >

  31. OA1 = (1-t) OM0 + t OM1 OA2 = (1-t) OM1 + t OM2 et OM = (1-t) OA1 + t OA2 En effectuant les relations de Chasles ainsi que les développements qui s’imposent, on obtient : OM = (1-t) [(1-t) OM0 + t OM1] + t [(1-t) OM1 + t OM2] OM = (1-t)² OM0 + 2t (1-t) OM1 + t² OM2 (1) Le point M est le barycentre du système : < M0 (1-t)² ; M1 (2t * (1-t)) ; M2 (t²) >

  32. Détermination vectorielle : On remarque que les coefficients des Mi sont de la forme : C2 i (1-t) 2-i t i , i variant de 0 à 2 (2 = nombre de points -1) et où C représente la fonction combinatoire Nous noterons B2 i  = C2 i (1-t) 2-i t i les coefficients de Bernstein pour la courbe de Bézier d’ordre 2.

  33. Détermination paramétrique : En remplaçant dans (1) les points sont définis par leurs coordonnées M0(x0, y0) M1(x1,y1) M2(x2,y2) avec OM = (1-t)² OM0 + 2t (1-t) OM1 + t² OM2 on obtient : x(t) = (1-t)² x0 + 2t (1-t) x1 + t² x2 y(t) = (1-t)² y0 + 2t (1-t) y1 + t² y2 C’est la détermination paramétrique d’une courbe de Bézier de degré 2 décrite par M(x(t),y(t)) pour t variant de 0 à 1.

  34. 2 Généralisation On peut généraliser l’exemple précédent comportant 3 points de contrôle au cas n+1 points de contrôle : M00, M10, ... , Mn0 tous non alignés. Chaque couple de points (M i-10 ,M i0) donne le barycentre M i1 tel que: OM i1 = (1-t) OMi-10 + t OM i0 puis le procédé est itéré .. OM ik = (1-t) OM i-1k-1 + t OM ik-1 A la fin, on obtient le point : O Mnn = (1-t) OM n-1n-1 + t OM nn-1 Cette construction se présente sous la forme d ’arbre .

  35. Outline Know how to take an image References and Example of a Computer Graphics Course Survival concepts Line & Circle generation Clipping (2 methods) Curves and surfaces (just Bezier) Ray Casting (well known) To Scientific Visualization

  36. Outline Know how to take an image References and Example of a Computer Graphics Course Survival concepts Line & Circle generation Clipping (2 methods) Curves and surfaces (just Bezier) Ray Casting (well known) To Scientific Visualization

  37. Scalar field as values, iso - lines, wire frame, graph & plain graph

  38. Scalar Field as plain graph with shrinking, slices of a graph, 1st Order tensors, 2nd order tensors

  39. vector field with vectors as natural vectors, stream linesiso line with stream function, vectors at nodes

More Related