Forelesningsnotater SIF8039/ Grafisk databehandling

Slides:



Advertisements
Liknende presentasjoner
12.Studienreise nach Finnland,
Advertisements

Kvinner og politikk Kvinnelig valgmobilisering i Nord-Norge: Glasstak eller etterslep? Marcus Buck.
1 NTNUs Multimediesenter 1.Integrasjon 2.Produksjon 3.Framtidsvisjon NTNUs Multimediesenter REN Medlemsmøte Trondheim 31. August 2005.
Når matematikk blir magisk
Litt mer om PRIMTALL.
Nye internettsider for Høgskolen i Østfold Resultat fra brukerundersøkelse.
Ti måter å ødelegge en CT-undersøkelse av halsen på
Hjemmeoppgave 1: Å høre etter NAVN: ……………………………….. DATO: ……………………….
Andel reinnleggelser ved St. Olav per måned, Reinnleggelse definert som ø-hjelp innleggelse innen 30 dager etter forrige utskrivning Andel reinnleggelser.
Grafisk design Visuell kommunikasjon
INTEGRERINGSBAROMETERET Holdninger til integrering og mangfold GRAFIKKRAPPORT.
Bygningsdelstabellen
Teknologi for et bedre samfunn 1 Asbjørn Følstad, SINTEF Det Digitale Trøndelag (DDT) Brukervennlig digitalisering av offentlig sektor.
7. Fysisk arbeidsmiljø Jeg er fornøyd med den ergonomiske utformingen av arbeidsplassen min Jeg er fornøyd med inneklimaet på arbeidsplassen.
1 Arbeidssted, bruk av fasiliteter og - mengde 5.
23 Finn ligningen for det planet  som inneholder linja
3.14 X AXIS 6.65 BASE MARGIN 5.95 TOP MARGIN 4.52 CHART TOP LEFT MARGIN RIGHT MARGIN Plan- og bygningskontoret Plan- og bygningskontoret Innbyggerundersøkelsen.
Møre og Romsdal. 2 Ligger det et bedehus eller et kristelig forsamlingshus (ikke kirke) i nærheten av der du bor? (n=502) i prosent.
Foreldremøte vg3 Onsdag
NRKs Profilundersøkelse NRK Analyse. Om undersøkelsen • NRK Analyse har siden 1995 gjennomført en undersøkelse av profilen eller omdømmet til NRK.
:50 Evaluering Lysvåken i Bergen domkirke menighet 1 Svarlogg.
3.14 X AXIS 6.65 BASE MARGIN 5.95 TOP MARGIN 4.52 CHART TOP LEFT MARGIN RIGHT MARGIN Tollvesenet Tollvesenet Innbyggerundersøkelsen 2013 Brukerdel.
2. Planter. Del 1 (1–4). Nivå 2. Side 19–24
Fôr til oppdrettstorsk – bruk av vegetabilsk feitt Odd Leknes Forskningsdagene 2007 Alta.
Kap 05 Betinget sannsynlighet
Fra forelesningene om involveringspedagogikk Et utviklingsarbeid Philip Dammen Manuset er under arbeid.
Drammen kommune, 7. trinn Opplevd mobbing Ikke i det heletatt2-3 ggr/mnd eller mer Er du blitt mobbet på skolen de siste månedene? Elever% % Drammen 7.
Gjenfinningssystemer og verktøy II
Kapittel 14 Simulering.
Forelesningsnotater SIF8039/ Grafisk databehandling
Foreløpige tall pr Randi Sæther
Seniorene – morgendagens arbeidskraft! 5. desember 2006 Senter for Seniorpolitikk NAV Arbeidslivssenter Akershus NAV Arbeidslivssenter Oslo.
P-CP modeller. LOG530 Distribusjonsplanlegging 2 2 Det skal opprettes p fasiliteter for å betjene en gitt mengde kunder. Kundenodene er også potensielle.
Highlights fra markedsundersøkelse Utarbeidet av Inger Marie Brun,
R ESULTATER M UNKERUD SKOLE 2012 Nasjonale prøver 5.-8.trinn 2012 Brukerundersøkelsen 2012.
Kap 06 Diskrete stokastiske variable
Chapter 02 Wavelets - Lineær algebra
© Synovate Gjennomført av Synovate 21.august 2008 Catibus uke 33 Norsk Fysioterapeutforbund.
Forelesningsnotater SIF8039/ Grafisk databehandling
Oppland Arbeiderblad Kjønn i kildebruk - Utviklingstrekk over en to års periode.
3.14 X AXIS 6.65 BASE MARGIN 5.95 TOP MARGIN 4.52 CHART TOP LEFT MARGIN RIGHT MARGIN Legevakt Legevakt Innbyggerundersøkelsen 2013 Brukerdel.
3.14 X AXIS 6.65 BASE MARGIN 5.95 TOP MARGIN 4.52 CHART TOP LEFT MARGIN RIGHT MARGIN Lånekassen Lånekassen Innbyggerundersøkelsen 2013 Brukerdel.
Klinisk skjema nyrebiopsiregisteret
Vokabular barneoppdragelse (m) bleie (f/m) blikk (n) bortskjemt (adj.)
SINTEF Teknologi og samfunn PUS-prosjektet Jan Alexander Langlo og Linda C. Hald 1 Foreløpig oppsummering – underlag for diskusjon på PUS-forum
GRØNNALGER BRUNALGER RØDALGER
1 BM-dagen 29.okt BM1 Fysisk miljøplanlegging Studieprogram for Bygg- og miljøteknikk Meny Prosjektoppgaven Arealbruk og befolkning Transport og.
Anvendt statistisk dataanalyse i samfunnsvitenskap
Eiendomsmeglerbransjens boligprisstatistikk Oktober 2010
Eiendomsmeglerbransjens boligprisstatistikk Juni 2010 Norges Eiendomsmeglerforbund og Eiendomsmeglerforetakenes Forening ECON Poyry og FINN.
Eiendomsmeglerbransjens boligprisstatistikk Februar 2011 Norges Eiendomsmeglerforbund og Eiendomsmeglerforetakenes Forening ECON Poyry og FINN.
Fra forelesningene om involveringspedagogikk Et utviklingsarbeid Philip Dammen Manuset er under arbeid.
NM i prototyping - Yggdrasil 2014
Bankenes sikringsfond Revisjonskontoret
Virksomhetsrapport Oktober Innhold 1. Oppsummering 2. Hovedmål 3. Pasient 5. Aktivitet 4. Bemanning 6. Økonomi 7. Klinikker 2.
1 Forelesningsnotater SIF8039/ Grafisk databehandling Notater til forelesninger over: Kapittel 3: ”Input and Interaction” i: Edward Angel: ”Interactive.
En oversikt over personopplysningsloven Dag Wiese Schartum, AFIN.
To accompany Quantitative Analysis for Management, 8e by Render/Stair/Hanna 15-1 © 2003 by Prentice Hall, Inc. Upper Saddle River, NJ Kapittel 15.
Avlevering i praksis KDRS-samling
Elevundersøkelsen ( ) UtvalgGjennomføringInviterteBesvarteSvarprosentPrikketData oppdatert 7. trinnVår , Symbolet (-) betyr.
Hva er riktig utvikling av kollektivtrafikken i Oppland. Historikk
Institutt for helhetsmedisin
Virksomhetsrapport August Innhold 1. Oppsummering 2. Hovedmål 3. Pasient 5. Aktivitet 4. Bemanning 6. Økonomi 7. Klinikker 2.
1 Trivsel Utvalg Trives svært godt Trives godt Trives litt Trives ikke noe særlig Trives ikke i det hele tatt Snitt Trivsel Brannfjell skole (Høst 2014)
Økoprofil - en miljøvurderingsmetode
Veivalgsanalyse etter Sørlandsmesterskapet i lang (klassisk) distanse 2004.
INTERNKURS I OFFENTLIGE ANSKAFFELSER
Tidsregistrering v/HiST DATAGRUNNLAG: Evaluering av HiST; en spørreskjemaundersøkelse blant Forskerforbundets medlemmer høsten 2009 v/HiST.
Dagligbankundersøkelsen Fakta Dagligbankundersøkelsen intervju Befolkning 15 år + TNS Gallup Forfatter Bente Pettersen Roar Thorvaldsen.
Befolkning og arbejdsmarked 7. Mikroøkonomi Teori og beskrivelse © Limedesign
Utskrift av presentasjonen:

Forelesningsnotater SIF8039/ Grafisk databehandling Notater til forelesninger over: Kapittel 5: ”Viewing” i: Edward Angel: ”Interactive Computer Graphics” Vårsemesteret 2002 Torbjørn Hallgren Institutt for datateknikk og informasjonsvitenskap Norges teknisk-naturvitenskapelige universitet

Behandlet hittil Generelt om grafiske system Interaksjon i grafiske systemer Modelleringstransformasjoner Modellering med OpenGL (selvstudium)

Neste tema Avbildning: Projeksjonsmetoder Posisjonering av (syntetisk kamera) kamera Spesifikasjon av betraktningsvolum Klipping Avbildningstransformasjonene

Projeksjonsmetoder Oppgave: Begrensning: Avbilde 3D objekter på en 2D flate 3D 2D avbildningstransformasjon Begrensning: Planare projeksjoner Hovedklasser av planare projeksjoner: Parallellprojeksjoner Perspektiviske projeksjoner

Parallellprojeksjoner Projeksjonsplan Objekt Bilde Punktene til objektet projiseres langs parallelle linjer Spesifiseres ved projeksjonsplan og projeksjonsretning

Parallellprojeksjoner Ortografiske parallellprojeksjoner Projeksjonsretningen er ortogonal til projeksjonsplanet Projeksjoner i plan som er vinkelrette på koordinataksene Maskintegninger - målriktighet Aksonometriske projeksjoner Projeksjonsplanet står skjevt i forhold til to eller tre akser Dimetriske projeksjoner Trimetriske projeksjoner Isometriske projeksjoner (en spesiell trimetrisk projeksjon) Rørtegninger Skjeve parallellprojeksjoner

Ortografiske projeksjoner

Aksonometriske projeksjoner

Isometriske projeksjoner En trimetrisk projeksjon der projeksjonsplanet skjærer alle tre akser i samme avstand fra origo Linjer parallelle med koordinataksene sees under samme vinkel (er likt ”forkortet”) Lengder finnes ved multiplikasjon med en fast faktor

Skjeve parallellprojeksjoner

Perspektiviske projeksjoner Projeksjonsplan Objekt Projeksjons- senter Bilde Punktene til objektet projiseres langs linjer som samles i et projeksjonssenter Spesifiseres ved projeksjonsplan og projeksjonssenter

Perspektiviske transformasjoner Egenskaper: Parallelle linjer som er parallelle med projeksjons-planet, forblir parallelle Parallelle linjer som ikke er parallelle med projek-sjonsplanet, samles i et forsvinningspunkt (som representerer uendelig langt borte) Forsvinningspunktene gitt når projeksjonsplan og projeksjonssenter er gitt Ingen grense for antall mulige forsvinningspunkter Brukes for å bidra til realistisk utseende bilder

Perspektivprojeksjoner Trepunkts Topunkts Enpunkts

En-punkts perspektivprojeksjon Ett forsvinningspunkt

Topunkts perspektivprojeksjon To forsvinningspunkt

Trepunkts perspektivprojeksjon Tre forsvinningspunkt

Perspektivisk transformasjon y (x,y,z) (xp,yp,zp) z d Projeksjonssenter (COP) Projeksjonsplanets skjæringspunkt med z-aksen x d er negativ

Perspektivisk projeksjon y (x,y,z) (xp,yp,zp) z d

Homogene koordinater Ser på: som et punkt i et fire- dimensjonalt rom med homogene koordinater x, y, z og w med w=1. Er en linje i det firedimensjonale rommet De kartesiske koordinatene ligger i planet w=1: Kartesiske koordinater:

Perspektivisk projeksjon Perspektivprojeksjonen slik vi har spesifisert den, representeres med matrisen: Vi får: som gir de kartesiske koordinatene:

Ortografisk transformasjon y (x,y,z) (xp,yp,zp) z Projeksjonsplanet er x-y-planet x

Ortografisk projeksjon Projeksjonen er: Matrisen for ortografisk projeksjon er som her:

Posisjonering av kameraet Flytte kameraet i forhold til scenen? Transformere fra verdenskoordinatsystemet til kamerakoordinatsystemet Eller: Flytte scenen i forhold til kameraet? Flytte scenen i kamerakoordinatsystemet SAMME TRANSFORMASJONSMATRISE I BEGGE TILFELLE

Posisjonering av kameraet PHIGS’s metode: Bestemme projeksjonssenter Bestemme synsretning (normalen til projeksjons-planet) Bestemme ”viewup”-vektor Dette fastlegger kamerakoordinatsystemet entydig

Posisjonering av kameraet z v VUP u n VPN COP y 1 Center Of Projection 2 View Plane Normal 3 View Up Vector 4 u-axis x

Posisjonering av kameraet Posisjonen til origo i kameraets koordinatsystem: Projeksjonsplannormalen og ”viewup”-vektoren:

Koordinatakser i kamerasystemet Har n-aksen (svarende til z-aksen) i retning vektoren n: Søker v-aksen (svarende til y-aksen): n vup Projeksjonsplanet v Søker u-aksen (svarende til x-aksen):

Enhetsvektorer i akseretningene Enhetsvektorer for akseretningene i uvn-systemet (kamerakoordinatsystemet):

Koordinater i kamerasystemet Translasjon av kamerakoordinatsystemets origo til verdenskoordinatsystemets origo: Rotasjon slik at kamerakoordinatsystemets akser faller sammen med verdenskoordinatsystemets akser:

Koordinater i kamerasystemet Transformasjon av koordinatrepresentasjoner i verdens- koordinatsystemet til koordinatrepresentasjoner i kamera- koordinatsystemet:

Posisjonering av kameraet PHIGS: evaluate_ViewOrientationMatrix viewRefPoint viewPlaneNormal viewUpVector OpenGL: gluLookAt øyepunkt referansepunkt (”siktepunkt”) i scenen ”viewup”-vektor

Betraktningsvolum bakplan Skjev parallellprojeksjon y (xmin,ymin) (xmaks,ymaks) bilde frontplan betraktningsvolum (view volume) x z projeksjonsplan

Kanonisk betraktningsvolum for skjev parallell- projeksjon transformeres til kanonisk betraktnings- volum Terningen begrenset av planene: y x z Enkelt å: - klippe - fjerne skjulte flater - projisere

Skjærtransformasjonen y x

Oppretting av skjevhet zbak zbak zfor zfor xmin xmaks ymin ymaks x y z z Vinklene og er gitt av projeksjonsretningen 1. Translere hjørnet (xmin, ymin, zfor) til origo 2. Opprette skjevheten med en skjærtransformasjon 3. Translere tilbake

Oppretting av skjevhet Skjærtransformasjon: Den komplette opprettingstransformasjonen blir:

Oppretting av skjevhet Ferdig multiplisert:

Kanonisk betraktningsvolum zbak zfor x z xmin xmaks 1. Translere midtpunktet i betraktningsvolumet til origo 2. Skalere til kanonisk betraktningsvolum

Kanonisk betraktningsvolum Translasjon: Skalering:

Kanonisk betraktningsvolum Konkatenert:

Avbildning på skjermen View- port Høyde (xnvhj,ynvhj) Bredde Skjerm

Avbildning på skjermen Det kanoniske betraktningsvolumet projiseres ortografisk inn i frontplanet med transformasjonen: Frontplanet avbildes i ”viewport” med transforma-sjonen Mviewport

Viewport-transformasjonen Transformasjonen består av en skalering til viewportens størrelse og form etterfulgt av en transformasjon (translasjon) til skjermkoordinater:

Parallellprojeksjon - komplett Komplett avbildningstransformasjon for parallell- projeksjon:

Komplett transformasjonsbilde Komplett transformasjonsbilde ved parallellprojeksjon: glViewport glOrtho Ikke støttet i OpenGL gluLookAt Basistransformasjoner

Betraktningsvolum (xmaks,ymaks) Perspektivprojeksjon bakplan y (xmin,ymin) bilde frontplan betraktningsvolum (view volume) x z projeksjonsplan

Betraktningsvolum Synsvinkel i x-retningen gitt ved : y aspektforhold z betraktningsvolum Perspektivisk betraktningsvolum kan også spesifiseres ved hjelp av synsvinkel

Normalisering Et perspektivisk betraktningsvolum i form av et skjevt frustrum, omgjøres til et terningformet kanonisk betraktningsvolum med følgende operasjoner: Oppretting av skjevheten (skjærtransformasjon) Omforming til et normalisert frustrum (skalering) Transformasjon fra frustrum til terning

Oppretting av skjevhet Betraktningsvolum zbak zfor xmaks xmin x z Retter opp med skjærtransformasjon

Oppretting av skjevhet Skjevheten rettes fullstendig opp med transformasjonen: OBS! Både z og zfor vil her være negative.

Oppretting av skjevhet y (x’maks,y’maks) (xmaks,ymaks) x Etter oppretting (x’min,y’min) Før oppretting (xmin,ymin) OBS: x’maks - x’min = xmaks - xmin y’maks - y’min = ymaks - ymin Utnyttes i påfølgende skalering

Kanonisk betraktningsvolum Kanonisk betraktningsvolum for perspektivprojeksjon: y z’bak=z’min (1,1,-1) (-1,-1,-1) x z

Kanonisk betraktningsvolum Skalering til kanonisk betraktningsvolum for perspektivisk projeksjon: y (x’maks,y’maks,zfor) 2 (1,1,-1) x 2 (-1,-1,-1) (x’min,y’min,zfor)

Kanonisk betraktningsvolum Skalering til kanonisk betraktningsvolum for perspektivisk projeksjon:

Kanonisk betraktningsvolum Kanonisk betraktningsvolum for perspektivprojeksjon: z=z’bak z=x z=-1 z=-x x -1 1 z Kanoniserer med skaleringstransformasjon

Perspektiv parallell Søker transformasjon som omformer et kanonisk betraktningsvolum for perspektivprojeksjon til et kanonisk betraktningsvolum for parallellprojeksjon. Vi stiller følgende krav: Siden skal transformeres til x = z x = -1 x = -z x = 1 y = z y = -1 y = -z y = 1 x- og y-koordinatene skal ikke påvirke transformasjonen av z-koordinaten

Kanonisk betraktningsvolum Terningen begrenset av planene: Konverterer kanonisk betraktningsvolum for perspektivisk projeksjon til kanonisk betraktnings- volum for parallell- projeksjon y x z

Perspektiv parallell Følgende matrise tilfredsstiller disse kravene: Videre forlanger vi at: Planet skal transformeres til z = -1 z = 1 z = z’bak z = -1 der: z’bak = - zbak / zfor

Perspektiv parallell Dette gir:

Perspektiv parallell Vi får:

Normalisering - komplett Den fullstendige normaliseringen fra skjevt frustrum (avkortet pyramide) til terningformet kanonisk betraktningsvolum blir som følger:

Perspektivprojeksjon - komplett Komplett avbildningstransformasjon for perspektivisk projeksjon: Til sammenlikning:

Normalisering - komplett Utledningen av Mfrus->par slik det er gjort her, representerer den vanlige og mest ”bent fram” måten å gjøre det på OpenGL anvender en litt annen variant av matrisen Det eksisterer en enkel forbindelse mellom OpenGL’s versjon og den som er presentert her Læreboka utleder (med diverse feil under veis og i sluttsvaret) OpenGL’s versjon

En alternativ matrise Vi kan danne en ny (og kanskje litt enklere) matrise ved multiplikasjon med faktoren -zfor: Hvordan har det seg at denne matrisen er gjør samme nytten som den opprinnelige!!!???

En alternativ matrise Vi arbeider med homogene koordinater Vi kan skalere alle ledd i en homogen transforma-sjonsmatrise med samme faktor uten at dette påvirker de resulterende kartesiske koordinatene (x,y,z) som kommer fram av de homogene koordinatene (x’,y’,z’,w): Skalering av matrisens ledd resulterer i lik skalering av teller og nevner

OpenGL’s matrise OpenGL projiserer ortografisk inn i planet z = -1 i stedet for i planet z = 1 slik utledningen her legger opp til Dette har først og fremst betydning når det skal avgjøres hvilke flater som er synlige i bildet, og hvilken farge flatene skal ha Vi får OpenGL’s matrise ved å reflektere vår matrise M’frus->par i planet z = 0

OpenGL’s matrise

OpenGL’s matrise OpenGL’s matrise kan utledes direkte ved å gjøre et par av valgene underveis i prosessen litt annerledes: Unnlate skaleringen i z-retningen ved transformasjonen til kanonisk betraktningsvolum for perspektivisk projeksjon: Vrenge det perspektiviske betraktningsvolumet ved transformasjonen til terningform: Planet transformeres til i stedet for z = zfor -1 1 z = zbak 1 -1

Komplett transformasjonsbilde Komplett transformasjonsbilde ved perspektivprojeksjon: glViewport glFrustrum gluLookAt Basistransformasjoner

Komplett transformasjonsbilde Komplett transformasjonsbilde ved parallellprojeksjon: glViewport glOrtho Ikke støttet i OpenGL gluLookAt Basistransformasjoner