370 likes | 500 Views
Geometric Representation And Processing. Gliederung. Grundlagen Direkte Darstellungsmethoden Indirekte Darstellungsmethoden Topologie Hardwarestruktur Zusammenfassung. Grundlagen. Geometrische Repräsentation ist die Darstellung eines ‚Körpers‘ am Computer durch mathematische Modelle
E N D
Thomas Faltermeier Gliederung Grundlagen DirekteDarstellungsmethoden IndirekteDarstellungsmethoden Topologie Hardwarestruktur Zusammenfassung
Thomas Faltermeier Grundlagen Geometrische Repräsentation ist die Darstellung eines ‚Körpers‘ am Computer durch mathematische Modelle Theoretisch muss derdargestellteKörpernicht real sein, die DarstellungeinesrealenKörpers hat jedoch den Vorteil, dassdieserfesteEigenschaftenbesitzt Grundlagefür: BerechnungdergeometrischenEigenschaften Darstellung WeitergehendeAnwendungen(z.B. Grafikeffekte) BerechnungphysikalischerEigenschaftennachweitererBeschreibungmitMaterialeigenschaften(z.B. Elastizität)
Thomas Faltermeier Definition starrer Körper Translationsvariant(freiverschiebbar) Rotationsvariant(freidrehbar) EchteDreidimensionaleStrukturen, d.h. keineisolierten/freibaumelndenPunkte, KantenoderFlächen Oberflächeteilt den Raum in Inneres und Äußeres auf
Thomas Faltermeier Darstellung – Was wollen wir? Die Darstellungsmethodesollte Möglichstmächtigsein, d.h. möglichstvieleKörperdarstellenkönnen MöglichstwenigSpeicherplatz in Anspruchnehmen EinenKörpereindeutigbeschreiben, d.h. jederRepräsentantbeschreibteinenKörper, jederKörperwirddurcheinenRepräsentantenbeschrieben Möglichstexaktsein, d.h. Annäherungensollenvermiedenodermöglichstexaktsein
Thomas Faltermeier Darstellung – Was wollen wir? MöglichsthoheEffizienzderdaraufangewendetenAlgorithmenbieten Es gibtzweiwesentlicheSchemen DirekteDarstellungIndirekteDarstellung Kanten und Ober- Volumenbeschreibung flächenbeschreibung
Thomas Faltermeier Gliederung Grundlagen Direkte Darstellungsmethoden Indirekte Darstellungsmethoden Topologie Hardwarestruktur Zusammenfassung
Thomas Faltermeier Normzellenaufzählungsschema Aufteilung des Raumes in einGittergleichgroßerdreidimensionalerZellen, sog. Voxel Je nachdem, ob die ZelleinnerhalboderaußerhalbderzubeschreibendenKörpersliegt, wirddiese ‚gefüllt‘, vergleichbarmitdemZusammenbauen des KörpersmitidentischenKlötzen Je kleinerdie Voxel, destogenauerkannderKörperbeschriebenwerden AllerdingsistderSpeicherbedarffürimmerkleinereVoxelsehrhoch
Thomas Faltermeier Normzellenaufzählungsschema
Thomas Faltermeier Octalbäume Mächtigwie die Normzellenaufzählung, jedochbeideutlichgeringeremSpeicherbedarf Ausgangspunkt: Würfel, der den gesamtenKörperumfasst DerWürfelwird nun so langerekursiv in WürfelhalberKantenlängeunterteilt, bissichdieseinnerhalboderaußerhalb des Körpersbefinden(Annäherung), die KantenlängederWürfelist also nicht fest vorgeschrieben Speicherungals Baum mit 8 Verästelungen Effizienz stark vomTestalgorithmusabhängig
Thomas Faltermeier Octalbäume DieseMethodefunktioniertauchanalog in jederanderen Dimension
Thomas Faltermeier Constructive Solid Geometry(CSG) KörperwirdmitHilfe von Grundkörpern,sog. Primitiven, erstellt AnwendungderOperationen SpeicherungalsBinärbaum Nachteil: auchhiersindmehrereRepräsentantenmöglich SteigerungderEffizienz: HäufigverwendeteObjektewerdenzuPrimitiven und müssennichtmehrjedes mal zusammengesetztwerden
Thomas Faltermeier Verschiebungsschema Ausgangspunkt: FlächeimRaum DieseFlächewird nun entlangeinesPfadesbewegtoder um einenbestimmtenPunktgedreht Es entstehteinTranslationskörper, bzw. einRotationskörper Bsp.: EinKreisder um einenPunktimRaumrotierterzeugteinen Ring
Thomas Faltermeier Bsp.: Rotierende Sinuskurve
Thomas Faltermeier Gliederung Grundlagen Direkte Darstellungsmethoden Indirekte Darstellungsmethoden Topologie Hardwarestruktur Zusammenfassung
Thomas Faltermeier Drahtmodellschema Körperwirdüber seine Kantenbeschrieben Vorteil: Konstruktion von Körpernistsehreinfach Nachteil: EineeindeutigeRepräsentationausdemDrahtmodellschemaistnichtgewährleistet
Thomas Faltermeier Oberflächendarstellung Darstellung des Körpersdurch die Beschreibung seiner Oberfläche Zerlegung in eineendlicheMenge von Teilflächen Imeinfachsten Fall sindnurPolygonezugelassen, die nichtgekrümmtsind – also nurplanareFlächen, zusäzlichbefindetsich die VerbindungsliniezweierPunkte auf dem Polygon in diesem (keineLöcher in Polygone, keinekonkavenPolygone) Rundungenmüssen in diesem Fall angenähertwerden, je genauer, destogrößerwird die Datenmenge
Thomas Faltermeier Oberflächendarstellung ABER: FlächenalleineergebennochkeinenstarrenKörper Es müssenfolgendeBedingungenerfülltsein: GeschlossenheitkeineKantenunterbrechungen, keineechtenLöcher in Teilflächen(richtigerDurchbruchist in Ordnung), jedeFläche muss genau so vieleKantenwieEckenbesitzen, jederEckpunktgrenzt an die gleicheMenge an Kanten und Flächen an Orientierbarkeit:BeideSeiteneinerFlächemüssenunterscheidbarsein{e1, e2, ... , en} sei die MengeallerKanten
Thomas Faltermeier Oberflächendarstellung Test auf Orientierbarkeit: OrientierungderKantengegen den Uhrzeigersinn Ist die KantenorientierungzweierangrenzenderFlächenunterschiedlichwirddieseausderMengeeliminiert Ist die Menge am Ende leer ist die Gesamtoberflächeorientierbar Oberflächedarfsichnichtselbstschneiden Teilflächendürfensichnichtselbstschneiden SchnittzweierTeilflächennur am Rand Kantendürfensichnichtselbstschneiden ZweiKantendürfensichnur an den Endenschneiden Problem: Unterscheidung von hohlen und nichtzusammenhängendenKörpernnichtmöglich
Thomas Faltermeier Polygon Meshes Nun stelltsich die Frage, wie man diesePolygoneabspeichernsollte, es gilt den bestenKompromisszwischenLaufzeit und Speicherplatzverbrauchzufinden. ExpliziteRepräsentation Jedes Polygon wirddurch seine EckkoordinatenrepräsentiertP = ((x1,y1,z1),...,(xn,yn,zn)) Wichtig: SinnvollesabspeichernderPunkte, damitKantengezeichnetwerdenkönnen, z.B. im/gegenUhrzeigersinn Nachteil: BeimehrerenPolygonenwerdenPunktedoppeltgespeichert, gemeinsamePunkte und Kantewerdennichtexplizitalssolcherepräsentiert, beiVeränderungenmüssenallePolygoneüberprüft und geg. verändertwerden Dahernurfüreineinzelnes Polygon sinnvoll, oder falls keineOperationenmehrausgeführtwerden (auchFaulheit OK)
Thomas Faltermeier Polygon Meshes Pointers to a vertex list AlleEckpunktewerden in einerListegespeichert PolygoneckensindnurVerweise auf dieseListe Vorteil:Platzersparnis, jederPunktwirdnureinmalgespeichertEinfachesÄndernderKoordinatenmöglichohneweitereÜberprüfungen Nachteil:Flächen/Kanten die an einergemeinsamenEckeliegenmüssennochaufwändiggesuchtwerden
Thomas Faltermeier Polygon Meshes Pointer to an edge list Ecken und Kantenwerden in einerListegespeichert PolygonewerdenalsVerweise auf die Kantenlisterepräsentiert JedeKante in derListe hat zweiVerweise auf die Ecken, die siedefinieren, sowie die Information zuwelchenein/zweiPolygonensiegehört P = (E1,...,En) E = (V1,V2,P1,P2) V = (x,y,z)
Thomas Faltermeier Polygon Meshes Vorteile:EinfacheAbspeicherung Nachteile:Algorithmenkönnennichtsehreffizientintegriertwerden, davieleÜberprüfungennötigsind Speicherbedarfhöheralsnötig
Thomas Faltermeier Polygon Meshes
Thomas Faltermeier Gliederung Grundlagen Direkte Darstellungsmethoden Indirekte Darstellungsmethoden Topologie Hardwarestruktur Zusammenfassung
Thomas Faltermeier vef-Graph Die Topologieberücksichtigt die Nachbarschafts- beziehungen von Punkten, Kanten und Flächen V: MengeallerKnoten/Ecken E: MengeallerKanten F: MengeallerFlächen MüssenalleRelationengespeichertwerden? NEIN vv V x V :Punkte sind benachbart ve V x E :Punkt begrenzt Kante vf V x F :Punkt ist Ecke von Fläche ev E x V :Kante hat Punkt als Ecke ee E x E :Kanten sind benachbart ee‘ E x E :Kanten sind benachbart und begrenzen die selbe Fläche ef E x F :Kante begrenzt Fläche fv F x V :Fläche stößt an Punkt fe F x E :Fläche stößt an Kante ff F x F :Flächen sind benachbart
Thomas Faltermeier Winged-Edge Struktur Speicherung von: ev, ef, ee‘ alsoEckpunktederKantenFlächen die dieseKantenbegrenzenBenachbarteKantenmitgleicherbenachbarterFläche ZusätzlicheAbspeicherung:KnotenlistemitVerweis auf die Kante, die erbegrenztFlächenlistemitVerweis auf eineKante, die siebegrenzt AlleanderenRelationenlassensichdarausberechnen DieseStrukturistdynamisch und somitbeiderImplementierung von Algorithmen von Nachteil
Thomas Faltermeier Half-Winged-Edge Struktur Es wird das selbegespeichertwiebeider Winged-Edge StrukturmitAusnahmeder Relation ee‘ ee‘ wirddurch die neue Relation ee‘‘ ersetzt:SpeicherungderKantenderentsprechendenFlächen, die e imUhrzeigersinnfolgenBeidiesemBeispielals e2 und e3 DieseStrukturist nun nichtmehrdynamisch und somitdeutlichbesserfür die Implementierunggeeignet
Thomas Faltermeier Gliederung Grundlagen Direkte Darstellungsmethoden Indirekte Darstellungsmethoden Topologie Hardwarestruktur Zusammenfassung
Thomas Faltermeier Hardwarestruktur Hardware verwendetkeinePolygonesondern die wesentlicheinfacherenDreiecke, danureinebegrenzteAnzahl an RechenregisternzurVerfügungsteht Dreieckistimmer planar Polygonemüssendaher in solchezerlegtwerden Die einfachsteMöglichkeitwäreesjedesDreieckeinzelnzuspeichern, NachteileAnalogwiebei Meshes Lösung: Triangel Strips und Triangle Fans
Thomas Faltermeier Hardwarestruktur Triangle Strips: Ausgehend von einemDreieck JedesneueDreieckteilsicheineKantemitdemvorhergehenden Vorteil: Es muss fürjedesneueDreiecknureineinzigerPunktgespeichertwerden
Thomas Faltermeier Hardwarestruktur Triangle Fans: Analogwiebei Strips AllerdingsbesitzenalleDreieckenocheinengemeinsamenPunkt Es entstehteinFächerausDreiecken
Thomas Faltermeier Gliederung Grundlagen Direkte Darstellungsmethoden Indirekte Darstellungsmethoden Topologie Hardwarestruktur Zusammenfassung
Thomas Faltermeier Zusammenfassung Es werdenechteKörperdargestellt, dadiesefesteEigenschaftenbesitzen Man stelltdiesenentwederdirektoderindirektdar, wobeijedeMethodeVor- und Nachteile hat NurmitderDarstellunglassensichAlgorithmennichteffektivimplementieren, es muss die Topologieberücksichtigtwerden EgalwiederKörperaufgebautist, auf Hardwareniveau muss alles auf Dreieckezurückgeführtwerden
Ende Danke für die Aufmerksamkeit
Thomas Faltermeier Quellen Foley, Van Dam, Feiner, Hughes: Computer Graphics: Principles and Practice, Addison-Wesley, 2nd edition in C Griebel, Bungartz, Zenger: Computer Graphik, ViewegVerlag http://de.wikipedia.org/wiki/Bild:Rotationskoerper_animation.gif , Macks, 24.01.2007 http://en.wikipedia.org/wiki/Image:Dolphin_triangle_mesh.png , chrschn , March 27, 2007 http://en.wikipedia.org/wiki/Image:Triangle_Strip.png, holder has irrevocably released all rights http://www.codesampler.com/d3dbook/chapter_05/chapter_05_files/image008.jpg, Kevin Harris, 2005