2IV10 Computergrafiek set 1-inleiding - PowerPoint PPT Presentation

About This Presentation
Title:

2IV10 Computergrafiek set 1-inleiding

Description:

Title: PowerPoint Presentation Last modified by: jwijk Created Date: 1/1/1601 12:00:00 AM Document presentation format: On-screen Show (4:3) Other titles – PowerPoint PPT presentation

Number of Views:109
Avg rating:3.0/5.0
Slides: 67
Provided by: tue47
Category:

less

Transcript and Presenter's Notes

Title: 2IV10 Computergrafiek set 1-inleiding


1
2IV10 Computergrafiekset 1-inleiding
  • Jack van Wijk
  • TU/e

2
Computergrafiek
  • Doel
  • Kennis over en ervaring met basisconcepten 2D en
    3D computergrafiek
  • Vorm colleges, instructies
  • Beoordeling tentamen, opdracht

3
Colleges
  • 15 stuks (max.)
  • Overzicht van stof
  • Details (m.n. algoritmes en wiskunde)
  • Uitleg instructie-opgaven
  • Vragen!
  • Demos

4
Instructies
  • Andrei Jalba en Stef van den Elzen
  • Oefeningen en opdracht
  • Vragen!

5
Tussentoets
  • Halverwege (wordt nog bekend gemaakt)
  • Tijdens instructie
  • Toetsing feedback beheersing stof
  • 1 bonuspunt tentamen

6
Studiemateriaal
  • Boek Donald Hearn, M. Pauline Baker, Computer
    Graphics with OpenGL, 3rd edition, Pearson
    Prentice Hall, ISBN 0-13-0120238-3
    (paperback).
  • Studeerwijzer
  • Sheets
  • Oefeningen instructies
  • www.win.tue.nl/vanwijk/2IV10

7
College 1
  • Waarom computergrafiek?

8
Daarom!
  • Leuk!
  • Alomtegenwoordig
  • Visueel systeem biedt
  • Parallel input
  • Parallel processing
  • Computergrafiek ideaal voor mens-machine
    communicatie

9
Toepassingen
  • Graphs and charts
  • Computer-Aided Design
  • Virtual Reality
  • Data Visualization
  • Education and training
  • Computer Art
  • Movies
  • Games
  • Graphical User Interfaces

HB 12-33
10
Business graphics
HB 12-33
11
Computer-Aided Design
  • AutoDesk
  • IAME 2-stroke race kart engine

12
Visualisatie
Wetenschappelijke visualisatie Clip Golden
Age of Scientific Computing http//www.sci.utah.ed
u/
HB 12-33
13
Gaming
HB 12-33
14
Serious gaming
  • VSTEP Rotterdam
  • www.vstep.nl

15
Animatie
beweging
HB 12-33
16
Hardware
  • Snelle ontwikkeling
  • Historie zie boek
  • Nu grafische kaart, LCD-scherm

17
Hardware
  • 24 scherm configuratie, Virginia Tech

18
Toekomst?
  • Head mounted displays?
  • Parachute trainer
  • US Navy

19
Toekomst?
  • Oprolbaar scherm, Philips

20
Toekomst?
  • Microsoft Surface

21
Schematisch
Beeld af
Model
Beeld
22
Ook
Computer Graphics
Model
Beeld
Pattern Recognition
Image Processing
23
Onderwerpen
  1. Inleiding
  2. 2D basisalgoritmes
  3. Transformaties
  4. Viewing
  5. Geometrisch modelleren
  6. Zichtbare oppervlakken
  7. Belichting
  8. Interactie

24
Van model naar beeld
Model
World
View
NDC
Display
Coördinaten en transformaties
HB 2-869-71
25
Van model naar beeld
Model
World
View
NDC
Display
Cylinder
Local or modeling coordinates
Geometrisch modelleren
HB 2-869-71
26
Van model naar beeld
Model
World
View
NDC
Display
Positioneer cylinders in scene World coordinates
HB 2-869-71
27
Van model naar beeld
Model
World
View
NDC
Display
Kijk naar cylinders Viewing coordinates
Zichtbare oppervlakken, belichting
HB 2-869-71
28
Van model naar beeld
Model
World
View
NDC
Display
Beeld af Normalized Device Coordinates
1
0
1
HB 2-869-71
29
Van model naar beeld
Model
World
View
NDC
Display
Beeld af op display Device Coordinates
0
1024
768
Interactie
HB 2-869-71
30
Twee smaken computergrafiek
  • Vector graphics
  • Beeld verzameling lijnen, polygonen, cirkels,
  • Geometrisch model
  • Exact, schaalbaar
  • Raster graphics
  • Beeld rooster van beeldpunten (pixels)
  • Display
  • Realistische beelden,

31
Graphics software
  • Special-purpose packages
  • Photoshop, Powerpoint, AutoCAD, StudioMax, Maya,
  • Computer-Graphics Application Programming
    Interfaces (CG API)
  • Windows API, OpenGL, VRML, Java3D, Direct3D,

HB 2-869-73
32
CG API
  • Set van graphics functies, te gebruiken vanuit
    programmeertaal
  • Toegang en afschermen hardware
  • Standaardisatie

C, C, Java, Delphi,
CG API
Drivers
Fortran, Pascal,
Display
Input dev.
Display
Input dev.
1975
2000
33
Functies
  • Graphics Output Primitives
  • Lijn, polygoon, bol,
  • Attributes
  • Kleur, lijndikte, textuur,
  • Geometric transformations
  • Modelling, Viewing
  • Belichting
  • Input functions

HB 2-869-73
34
Software standards
  • GKS, PHIGS, PHIGS (1980-)
  • GL (Graphics Library, SGI)
  • OpenGL (early 1990s)
  • Direct3D (MS), Java3D, VRML,
  • Excel, Mathematica, MatLab,

HB 2-869-73
35
OpenGL
  • 3D (en 2D)
  • Snel
  • Hardware, language, OS, company independent
  • OpenGL architecture review board
  • Breed ondersteund
  • Low-level (right level!)
  • Standaard graphics terminologie

HB 2-869-73
36
Performance
  • OpenGL is snel genoeg
  • Afhankelijk van complexiteit scene
  • Afhankelijk van gebruik van API
  • Afhankelijk van hoeveelheid communicatie met
    kaart (bus is soms bottleneck)

bus
CPU
Graphics card
37
Intro OpenGL
  • Paar basisprincipes
  • Geen tentamenstof
  • Wel opdracht

38
GLU en GLUT
  • OpenGL basisfuncties
  • GLU(T) OpenGL Utility (Toolkit) libraries
  • Koppeling met windowing system
  • Inputfuncties
  • Handige hulpfuncties voor viewing en geometrie
  • glutFunctie()

HB 2-973-80
39
OpenGL syntax
  • Functies
  • glFunctie glBegin, glClear, glVertex
  • Constanten
  • GL_CONSTANT GL_2D, GL_LINE
  • Datatypes
  • GLtype GLbyte, GLint, GLfloat

HB 2-973-80
40
Voorbeeld
  • glClearColor(1.0,1.0,1.0,0.0)// Achtergrondkleur
  • glMatrixMode(GL_Projection) // Zet
    transformatie
  • glLoadIdentity
  • gluOrtho2D(0, 200, 0, 150)
  • glClear(GL_COLOR_BUFFER_BIT) // Wis achtergrond
  • glColor3f(1.0, 0.0, 0.0) // Zet kleur
  • glBegin(GL_LINES) // Teken lijn
  • glVertex2i(180, 15) // - eerste punt
  • glVertex2i(10, 145) // - tweede punt
  • glEnd // Klaar met lijn
  • glFlush // Verstuur

HB 2-980
41
OpenGL output functies
  • glBegin(GL_iets)
  • glVertex()
  • glVertex()
  • glEnd
  • glVertex234isfd
  • 234 2D, 3D, 4D
  • isfd integer, short, float, double
  • Bijv glVertex2i(100, 25)

HB 3-389
42
Output primitives 1
  • GL_POINTS reeks punten
  • GL_LINES reeks lijnsegmenten
  • GL_LINE_STRIP polyline
  • GL_RECT rechthoek
  • GL_POLYGON polygoon

HB 3
43
Output primitives 2
  • GL_TRIANGLES reeks driehoeken
  • GL_TRIANGLE_STRIP
  • GL_TRIANGLE_FAN

HB 3
44
Output primitives 3
  • GL_QUADS reeks vierhoeken
  • GL_QUAD_STRIP

HB 3
45
Basis wiskunde voor CG
  • Coördinaten
  • Punten en vectoren

HB A-1
46
Coördinaten
  • 2D Cartesische coördinaten

x
y
(x,y)
(x,y)
y
x
Standaard Scherm (output,
input)
HB A-1
47
Poolcoördinaten
y
(x,y)
r
?
x
HB A-1
48
3D coördinaten 1
  • 3D Cartesische coördinaten

(x,y,z)
z
(x,y,z)
z
x
y
x
y
Rechtshandig Linkshandig
HB A-1
49
3D coördinaten 2
  • Cylindercoördinaten

(x,y,z)
z
y
x
?
HB A-1
50
3D coördinaten 3
  • Bolcoördinaten

(x,y,z)
z
f
r
y
x
?
HB A-1
51
Punten en vectoren 1
  • Punt positie in 2D of 3D ruimte
  • Notatie P (HB), ook P, p, p en p
  • (x,y,z) (HB), ook (x1, x2, x3), (Px, Py, Pz)
  • Vector Gericht lijnsegment, verschil tussen twee
    punten
  • Notatie V (HB), ook V, v, v en v

HB A-2
52
Punten en vectoren 2
y
P2
y2
P1
y1
x
x1
x2
HB A-2
53
Punten en vectoren 3
  • Lengte van een vector

HB A-2
54
Punten en vectoren 4
  • Richting van een vector richtingshoeken.
  • Ook genormaliseerde vector, of
  • eenheidsvector V

z
g
b
y
x
a
HB A-2
55
Vectoren optellen
  • Kop-staart methode, componentsgewijs optellen

y
y
W
VW
W
V
V
x
x
HB A-2
56
Scalar-vector vermenigvuldiging
  • Schalen, componentsgewijs vermenigvuldigen

y
y
2V
V
x
x
HB A-2
57
Vector vermenigvuldiging 1
  • Inwendig product, scalair product ofwel dot
    product
  • Product van parallelle componenten

W
V
q
W cos q
V
HB A-2
58
Vector vermenigvuldiging 2
  • Inwendig product

HB A-2
59
Vector vermenigvuldiging 3
  • Uitwendig product, vector product ofwel cross
    product.
  • n loodrecht op V en W

V?W
W
q
V
n
HB A-2
60
Vector vermenigvuldiging 4
  • Uitwendig product (makkelijker te onthouden)

HB A-2
61
Vector vermenigvuldiging 5
  • Uitwendig product

HB A-2
62
Vector vermenigvuldiging 6
  • Inproduct
  • scalar
  • vectoren loodrecht?
  • cos
  • projecteren,
  • Uitproduct
  • vector
  • vector loodrecht op
  • sin
  • oppervlak,

HB A-2
63
Oefening 1
  • Gegeven een lijn L L(t) P Vt .
  • Gevraagd Spiegel een punt Q ten opzichte van
    deze lijn.

64
Stappen bij dit soort opgaven
  • Schrijf op wat je weet
  • Reken het uit
  • Controleer het resultaat

65
Oefening 2
  • Gegeven een driehoek in 3D met hoekpunten P, Q en
    R, waarbij de hoek PQR recht is.
  • Gevraagd Roteer de driehoek om de lijn PQ over
    een hoek a . Wat is de nieuwe positie R van R?

66
Gebruik
  • Niet
  • arccos, arcsin
  • yf(x)
  • Wel
  • inproduct, uitproduct
  • coördinaat onafhankelijke definities
  • matrix vector algebra
Write a Comment
User Comments (0)
About PowerShow.com