1 / 70

Forelesningsnotater SIF8039/ Grafisk databehandling

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

maree
Download Presentation

Forelesningsnotater SIF8039/ Grafisk databehandling

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. 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

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

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

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

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

  6. 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

  7. Ortografiske projeksjoner

  8. Aksonometriske projeksjoner

  9. 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

  10. Skjeve parallellprojeksjoner

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

  12. 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

  13. Perspektivprojeksjoner Topunkts Enpunkts Trepunkts

  14. En-punkts perspektivprojeksjon Ett forsvinningspunkt

  15. Topunkts perspektivprojeksjon To forsvinningspunkt

  16. Trepunkts perspektivprojeksjon Tre forsvinningspunkt

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

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

  19. 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:

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

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

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

  23. 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

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

  25. 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

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

  27. 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):

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

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

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

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

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

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

  34. Skjærtransformasjonen y x

  35. Oppretting av skjevhet zbak zbak zfor zfor xmin xmaks ymin ymaks y x 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

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

  37. Oppretting av skjevhet Ferdig multiplisert:

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

  39. Kanonisk betraktningsvolum Translasjon: Skalering:

  40. Kanonisk betraktningsvolum Konkatenert:

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

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

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

  44. Parallellprojeksjon - komplett Komplett avbildningstransformasjon for parallell- projeksjon:

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

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

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

  48. 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

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

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

More Related