2IV10 Computergrafiek set 1-inleiding Jack van Wijk TU/e.

Slides:



Advertisements
Verwante presentaties
De Video Kaart.
Advertisements

Hoe werkt een rekenmachine?
GSP Labo 01 Direct3D Foundations. Vooraf • Software: – Visual studio 2005 of/en 2008 met MSDN – DirectX SDK aug 2008 release (verschillende.
Basiscursus Informatica SWI Theoriegedeelte Overzicht en H0 Richard Benjamins.
FEW Cursus Gravitatie en kosmologie
H 7 Krachten Deel 3 Vectoren.
Coördinaten Transformaties
Inleiding programmeren in C++ Life Science & Technology 19 januari Universiteit Leiden.
Basis begrippen.
Auteursomgeving voor Digitale Componenten
havo/vwo D Samenvatting Hoofdstuk 8
Games Maken NFF & SBA Wouter Baars Zelf games maken
vwo B Samenvatting Hoofdstuk 1
Rekenregels van machten
Rekenregels voor wortels
8C120 Inleiding Meten en Modelleren 8C120 Prof.dr.ir. Bart ter Haar Romeny Faculteit Biomedische Technologie Biomedische Beeld Analyse
Prof.dr.ir. Bart ter Haar Romeny
Neurale Netwerken Kunstmatige Intelligentie Rijksuniversiteit Groningen April 2005.
Hoofdstuk 1, 2 en 3 Toegepaste Mechanica deel 1
Graphics & Virtual Reality Inf Keuzevak 2011/2012.
1 Uit ons domein: Verzameling programmatuur voor het toewijzen van afstudeerders aan examinatoren. Invoer van voorkeuren Toewijzen Overzichten Practicum.
Afstuderen bij Natuurkundige Informatica Faculteit Exacte Wetenschappen 20 November 1998 vrije Universiteit Divisie Natuurkunde en Sterrenkunde.
Designing Knowledge Systems b Hoofdstuk 11 van Knowledge Engineering and Management. The CommonKADS Methodology. b A.Th. Schreiber, J.M. Akkermans, A.A.Anjewierder,
1 Complexiteit Bij motion planning is er sprake van drie typen van complexiteit –Complexiteit van de obstakels (aantal, aantal hoekpunten, algebraische.
Hoofdstuk 11 Homothetie.
Geometrie en topologie Rob Kromwijk, 26 juli 2012.
Hoe werkt een rekenmachine?
HULPMIDDELEN IN DE AARDRIJKSKUNDE
1212 /b Ontwerpen en Presenteren met ICT dr.ir. Jos van Leeuwen Faculteit Bouwkunde cap.groep Ontwerp Systemen.
Week 4: Ben van Berkel Diagram en verknoping.
LauwersCollege Buitenpost Java Applet programma dat op een website zichtbaar is Java Application programma dat zelfstandig werkt Javascript Scripttaal.
Hoofdstuk 4 Vlakke figuren.
2 vmbo basis 4.1Vlakke figuren
Hoofdstuk 4 Vlakke figuren.
2.1 Vergrotingsfactor Vergrotingsfactor cm : 40 cm = 787,5
M A K E Y O U R N E T W O R K S M A R T E R July, Middag programma.
Bepalen van de resultante
Les 11: SVG.
DAb: Interactive Haptic Painting with 3D Virtual Brushes W. Baxter, V. Scheib, M. Lin, and D. Manocha.
Technische Informatica
Presentatie titel Rotterdam, 00 januari 2007 Computer Graphics Technische Informatica
Technische Informatica
HOGESCHOOL ROTTERDAM / CMI Computersystemen 2 (TIRCCMS02 - Operating systems)
Etherflow Voor het aansluiten van een flowmeter op een Ethernet netwerk Afstudeerpresentatie Michel van der Net Elektrotechniek Avans Hogeschool Breda.
Basiskennis vectoren voor:
Gereedschapskist vlakke meetkunde
HOGESCHOOL ROTTERDAM / CMI Computersystemen 2 (TIRCCMS02 - Operating systems)
Computer Graphics (Project)
havo en vwo wiskunde B Wim Doekes
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 4 Cees Witteveen
rechtsdraaiend referentiestelsel
1 Introductie next MCT - Programmeren 2 © S. Walcarius Waarom java? programma machinetaal (.exe) compilen platformspecifiek Een exe programma.
Besturingssysteem Vaak wordt de Engelse term gebruikt: Operating System ( OS ) Plaats van het OS in een computersysteem: Hardware Applicatie Operating.
Mini-college Computer Graphics Erik Jansen Van abstractie tot realisme 1. het model 2. het algoritme 3. de wiskunde 4. het programma 5. de computer.
Computer Aided Design 2 D 2.5 D 3D.
2 August SQL Les August Agenda Herhaling Herhaling Cursors Cursors MS SQL Server and MS Excel MS SQL Server and MS Excel Oefeningen.
Presentatie titel Rotterdam, 00 januari 2007 Computer Vision Technische Informatica
Samenvatting.
Wim Doekes - hoofdauteur
Hoorcollege 1: efficiëntie en complexiteitsontwikkeling.
Hoorcollege 1: efficiëntie en complexiteitsontwikkeling.
Teachers Teaching with Technology™ Bouwen van dynamische modellen voor de Nspire 1 Cathy Baars Jaco Scheer.
COMPUTERLES 1 Introductie. Inhoud ■Inleiding ■Wat is een computer? ■Waarom gebruiken we Windows?
C++ Les 1: introductie. Programmeren Programma’s scripts Websites libraries (Sound, GUI, netwerking…)
Na de praktijk, de theorie.. Zoals een gehaktmolen 1.Je stopt er iets in. 2.Je hoeft niet te weten wat er binnenin gebeurt. 3.Het resultaat verschijnt.
Media en Kennistechnologie 19 april 2002NIOC vision on e-mission Media en Kennistechnologie een nieuw ICT-curriculum Erik Jansen Faculteit.
HERZIENING INFORMATICA DEEL 1.
Worksjop van de MakAIRsjop
Hoofdstuk 1, 2 en 3 Toegepaste Mechanica deel 1
Workshop Modellen in MicroStation
Transcript van de presentatie:

2IV10 Computergrafiek set 1-inleiding Jack van Wijk TU/e

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

Colleges 15 stuks (max.) Overzicht van stof Details (m.n. algoritmes en wiskunde) Uitleg instructie-opgaven Vragen! Demo’s

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

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

Studiemateriaal Boek: Donald Hearn, M. Pauline Baker, Computer Graphics with OpenGL, 3rd edition, Pearson Prentice Hall, ISBN (paperback). Studeerwijzer Sheets Oefeningen instructies

College 1 Waarom computergrafiek?

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

Toepassingen Graphs and charts Computer-Aided Design Virtual Reality Data Visualization Education and training Computer Art Movies Games Graphical User Interfaces H&B 1:2-33

Business graphics H&B 1:2-33

Computer-Aided Design AutoDesk IAME 2-stroke race kart engine

Visualisatie H&B 1:2-33 Wetenschappelijke visualisatie Clip: Golden Age of Scientific Computing

Gaming H&B 1:2-33

Serious gaming VSTEP Rotterdam

Animatie H&B 1:2-33 haar water onscherpte breuk expressie spiegeling beweging

Hardware Snelle ontwikkeling Historie: zie boek Nu: grafische kaart, LCD-scherm

Hardware 24 scherm configuratie, Virginia Tech Gigapixel display 50 LCD touchscreens

Toekomst? Head mounted displays? Parachute trainer US Navy

Toekomst? Oprolbaar scherm, Philips

Toekomst? Microsoft Surface

Schematisch Model Beeld af Beeld Gebruiker interactie

Model Computer Graphics Beeld Pattern Recognition Image Processing Ook…

Onderwerpen 1.Inleiding 2.2D basisalgoritmes 3.Transformaties 4.Viewing 5.Geometrisch modelleren 6.Zichtbare oppervlakken 7.Belichting 8.Interactie

Model Van model naar beeld H&B 2-8:69-71 WorldViewNDCDisplay Coördinaten en transformaties

Model Van model naar beeld H&B 2-8:69-71 WorldViewNDCDisplay Cylinder: Local or modeling coordinates Geometrisch modelleren

Model Van model naar beeld H&B 2-8:69-71 World ViewNDCDisplay Positioneer cylinders in scene: World coordinates

Model Van model naar beeld H&B 2-8:69-71 World View NDCDisplay Kijk naar cylinders: Viewing coordinates Zichtbare oppervlakken, belichting

Model Van model naar beeld H&B 2-8:69-71 WorldView NDC Display Beeld af: Normalized Device Coordinates 01 1

Model Van model naar beeld H&B 2-8:69-71 WorldViewNDC Display Beeld af op display: Device Coordinates Interactie

Twee smaken computergrafiek Vector graphics Beeld = verzameling lijnen, polygonen, cirkels,… Geometrisch model Exact, schaalbaar Raster graphics Beeld = rooster van beeldpunten (pixels) Display Realistische beelden,

Graphics software Special-purpose packages –Photoshop, Powerpoint, AutoCAD, StudioMax, Maya,… Computer-Graphics Application Programming Interfaces (CG API) –Windows API, OpenGL, VRML, Java3D, Direct3D,… H&B 2-8:69-73

CG API Set van graphics functies, te gebruiken vanuit programmeertaal Toegang en afschermen hardware Standaardisatie Display Drivers CG API Input dev. C, C++, Java, Delphi,… DisplayInput dev. Fortran, Pascal, …

Functies Graphics Output Primitives –Lijn, polygoon, bol, … Attributes –Kleur, lijndikte, textuur,… Geometric transformations –Modelling, Viewing Belichting Input functions H&B 2-8:69-73

Software standards GKS, PHIGS, PHIGS+ (1980-) GL (Graphics Library, SGI) OpenGL (early 1990s) Direct3D (MS), Java3D, VRML,… Excel, Mathematica, MatLab, … H&B 2-8:69-73

OpenGL 3D (en 2D) Snel Hardware, language, OS, company independent OpenGL architecture review board Breed ondersteund Low-level (right level!) Standaard graphics terminologie H&B 2-8:69-73

Performance… OpenGL is snel genoeg Afhankelijk van complexiteit scene Afhankelijk van gebruik van API Afhankelijk van hoeveelheid communicatie met kaart (bus is soms bottleneck) CPU Graphics card bus

Intro OpenGL Paar basisprincipes Geen tentamenstof Wel: opdracht

GLU en GLUT OpenGL: basisfuncties GLU(T): OpenGL Utility (Toolkit) libraries: –Koppeling met windowing system –Inputfuncties –Handige hulpfuncties voor viewing en geometrie –glutFunctie(); H&B 2-9:73-80

OpenGL syntax Functies: glFunctie: glBegin, glClear, glVertex Constanten: GL_CONSTANT: GL_2D, GL_LINE Datatypes: GLtype: GLbyte, GLint, GLfloat H&B 2-9:73-80

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 H&B 2-9:80

OpenGL output functies glBegin(GL_iets); glVertex*(); … glEnd; glVertex[234][isfd] [234]: 2D, 3D, 4D [isfd]: integer, short, float, double Bijv: glVertex2i(100, 25); H&B 3-3:89

Output primitives 1 GL_POINTS: reeks punten GL_LINES: reeks lijnsegmenten GL_LINE_STRIP: polyline GL_RECT: rechthoek GL_POLYGON: polygoon H&B 3

Output primitives 2 GL_TRIANGLES: reeks driehoeken GL_TRIANGLE_STRIP: GL_TRIANGLE_FAN: H&B 3

Output primitives 3 GL_QUADS: reeks vierhoeken GL_QUAD_STRIP: H&B 3

Basis wiskunde voor CG Coördinaten Punten en vectoren H&B A-1

Coördinaten 2D Cartesische coördinaten: x y (x,y) y x Standaard Scherm (output, input) H&B A-1

Poolcoördinaten x y (x,y) H&B A-1 r 

3D coördinaten 1 3D Cartesische coördinaten: x y (x,y,z) Rechtshandig Linkshandig H&B A-1 z x y (x,y,z) z

3D coördinaten 2 Cylindercoördinaten: x y (x,y,z) H&B A-1 z 

3D coördinaten 3 Bolcoördinaten: x y (x,y,z) H&B A-1 z   r

Punten en vectoren 1 Punt: positie in 2D of 3D ruimte Notatie: P (H&B), ook P, p, p en p (x,y,z) (H&B), ook (x 1, x 2, x 3 ), (P x, P y, P z ) Vector: Gericht lijnsegment, verschil tussen twee punten Notatie: V (H&B), ook V, v, v en v H&B A-2

Punten en vectoren 2 x y P2P2 P1P1 x1x1 x2x2 y2y2 y1y1 H&B A-2

Lengte van een vector: Punten en vectoren 3 H&B A-2

Richting van een vector: richtingshoeken. Ook: genormaliseerde vector, of eenheidsvector V Punten en vectoren 4 H&B A-2 x y z   

Kop-staart methode, componentsgewijs optellen Vectoren optellen H&B A-2 x y x y V V W WV+W

Schalen, componentsgewijs vermenigvuldigen Scalar-vector vermenigvuldiging H&B A-2 x y x y V 2V2V

Inwendig product, scalair product ofwel dot product Product van parallelle componenten Vector vermenigvuldiging 1 H&B A-2 V W |W| cos  |V| 

Inwendig product: Vector vermenigvuldiging 2 H&B A-2

Uitwendig product, vector product ofwel cross product. n loodrecht op V en W Vector vermenigvuldiging 3 H&B A-2 V W  n VWVW

Uitwendig product (makkelijker te onthouden): Vector vermenigvuldiging 4 H&B A-2

Uitwendig product: Vector vermenigvuldiging 5 H&B A-2

Inproduct: scalar vectoren loodrecht? cos projecteren,… Vector vermenigvuldiging 6 H&B A-2 Uitproduct: vector vector loodrecht op… sin oppervlak,…

Oefening 1 Gegeven een lijn L: L(t) = P + Vt. Gevraagd: Spiegel een punt Q ten opzichte van deze lijn.

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

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  Wat is de nieuwe positie R’ van R?

Gebruik: Niet: arccos, arcsin y=f(x) Wel: inproduct, uitproduct coördinaat onafhankelijke definities matrix vector algebra