DE102010052069A1 - Feature-Polygone - Google Patents

Feature-Polygone Download PDF

Info

Publication number
DE102010052069A1
DE102010052069A1 DE201010052069 DE102010052069A DE102010052069A1 DE 102010052069 A1 DE102010052069 A1 DE 102010052069A1 DE 201010052069 DE201010052069 DE 201010052069 DE 102010052069 A DE102010052069 A DE 102010052069A DE 102010052069 A1 DE102010052069 A1 DE 102010052069A1
Authority
DE
Germany
Prior art keywords
polygon
tree
bsp
bsp tree
polygons
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE201010052069
Other languages
English (en)
Inventor
wird später genannt werden Erfinder
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Garmin Wurzburg GmbH
Original Assignee
Navigon AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Navigon AG filed Critical Navigon AG
Priority to DE201010052069 priority Critical patent/DE102010052069A1/de
Publication of DE102010052069A1 publication Critical patent/DE102010052069A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/003Maps
    • G09B29/006Representation of non-cartographic information on maps, e.g. population distribution, wind direction, radiation levels, air and sea routes
    • G09B29/007Representation of non-cartographic information on maps, e.g. population distribution, wind direction, radiation levels, air and sea routes using computer methods

Abstract

Durch dieses Verfahren wird bei echter dreidimensionaler Darstellung eine scharfe Darstellung von Feature-Polygonen erreicht, welche der User auch in 2D-Kartensicht gewohnt ist. Der Speicherverbrauch für Texturen wird dabei stark reduziert. Verfahren zum Betrieb eines Navigationssystems, ausgestattet mindestens mit einer Kartenspeichereinrichtung, einer Positionsermittlungseinrichtung und einer Ausgabeschnittstelle, wobei die Darstellung von Flächenelementen insbesondere Polygonen aus der Kartenspeichereinrichtung die Schritte umfasst: a) Umrechnung des Polygons in einen BSP-Baum b) Speicherung des BSP-Baums c) für jeden darzustellenden Punkt Ermittlung, ob dieser als innerhalb oder außerhalb des Flächenelements liegend dargestellt wird anhand einer Traversierung des BSP-Baumes

Description

  • 1. Kurzbeschreibung der Erfindung
  • Die elektronische Darstellung von dreidimensionalen Kartendaten erfordert eine Methode, um Feature-Polygone (in der Regel Flüsse, Wälder, Seen), mathematisch exakt und optisch ansprechend auf ein räumliches Modell (in der Regel ein digital Terrainmodel (DTM)) zu projizieren. Dies wird dadurch erreicht, dass das räumliche Modell – meist abschnittsweise – Polygondaten als BSP Baum zur Verfügung gestellt bekommt. Diese BSP Bäume können während der Darstellung der einzelnen Faces, aus denen das Modell besteht, dekodiert werden. Die Dekodierung findet typischerweise in einem Pixel-Shader statt.
  • 2. Stand der Technik
  • 2.1. Verwandte Methoden, Produkte und Themen
  • 2.1.1 Verwandte Ansätze
  • Im der Computervisualistik kommen zur Zeit 2 verschiedene Verfahren zur Anwendung. Meistens werden die Polygone mittels Texturierung auf ein Modell projiziert. Dabei werden die Feature-Polygone zunächst in eine Bitmap gezeichnet. Beim Füllen der einzelnen Faces, das sind in der Regel die Dreiecke eines triangulierten Geländemodells, aus denen das Geländemodell besteht, wird auf die Bitmap zurückprojiziert, um den korrekten Farbwert zu erhalten. Die Bitmap benötigt eine hohe Auflösung, um Oversampling und damit die Bildung von Aliasing zu vermeiden, welches bei starkem Heranzoomen an das Geländemodell entstehen kann. Dadurch ergibt sich ein sehr hoher Speicherbedarf. Es existieren Verfahren wie z. B. bilineares oder bikubisches Filtering, um dieses Aliasing weniger stark sichtbar zu machen, dies geht jedoch stark zu Lasten der Bildschärfe. Das Erzeugen der Bitmap ist durch die hohe Anzahl der benötigten Speicherzugriffe sehr langsam.
  • Ein weiterer Ansatz ist es, die Unterteilung des darzustellenden räumlichen Modells in Faces dergestalt vorzunehmen, dass die Feature-Polygone eine direkte Entsprechung in diesen Faces finden. Hierbei entsteht ein sogenanntes TIN (triangulated irregular network). Dazu sind jedoch komplizierte Preprocessing-Schritte nötig. Das räumliche Modell kann zudem nicht mehr mit einfachen Mitteln regulär unterteilt werden. Für komplexe Feature-Polygone steigt die Komplexität der Geometrie des Modells überproportional an. Das führt zu hohem Speicherbedarf sowie schlechter Performance bei der Darstellung.
  • 2.1.2 Gegenstand der Verbesserung bzgl. verwandter Ansätze
  • Der vorgestellte Ansatz vermeidet die Nachteile beider momentan gebräuchlicher Methoden. Dadurch, dass Polygone mittels BSP exakt rekonstruiert werden können, gibt es keine Probleme durch Undersampling. Weiterhin ist der Speicherbedarf eines BSP Baumes i. d. R. bedeutend geringer als der eines Textur-Bitmaps. Die BSP-Bäume können aufgrund ihres geringen Memory-Footprints, also Speicherbedarfs, vorberechnet werden, was einen hohen Geschwindigkeitsvorteil gegenüber Texturen darstellt. Dadurch, dass die BSP-Bäume pro Face evaluiert werden, muss die Geometrie des räumlichen Modells nicht verändert werden (wie beim TIN-Ansatz) und kann für den jeweiligen Anwendungsfall effizient unterteilt werde -> Vorteil gegenüber dem TIN-Ansatz
  • 2.1.3 Referenz zu verwandten Ansätzen
    • http://en.wikipedia.org/wiki/Binary_space_partitioning
    • http://en.wikipedia.org/wiki/Triangulated_irregular_network
    • http://en.wikipedia.org/wiki/Texture_mapping
    • United States Patent US5274718
  • 2.2 Nachteile verwandter Ansätze
  • Texturierung: Hoher Speicherbedarf für die Textur-Bitmap, schlechte Darstellungsqualität bei Nahansichten, Neugenerierung bei Zooming/Ausschnittsvergrößerung erforderlich.
  • TIN: Modell kann nicht mehr regulär unterteilt werden (sog. „patch-based rendering”), aufwändige Vorverarbeitung notwendig. Bei komplexen Feature-Polygonen: hoher Speicherbedarf des Modells sowie schlechte Performance der Darstellung.
  • 3. Die Erfindung
  • 3.1 Nachteile, die durch die Erfindung verbessert werden
  • Durch die Darstellung von Polygonen mittels BSP-Bäumen ist es möglich, bei geringem Speicherbedarf und ohne Änderung der zugrundeliegenden Geometrie auf 3D-Modellen hochaufgelöste polygonale Flächen darzustellen. Diese unterliegen nicht den Beschränkungen typischer Verfahrensweisen, wie z. B. Undersampling.
  • 3.2 Vorteile der Erfindung
  • Polygone die auf dreidimensionale Objekte wie z. B. Geländedarstellungen projiziert werden, erscheinen scharf und ohne visuelle Artefakte bei gleichzeitig sehr geringem Speicherbedarf.
  • 3.3
  • 3.4 Detaillierte Beschreibung
  • Vorgeschlagen wird ein Verfahren zum Betrieb eines Navigationssystems, welches ausgestattet ist zumindest mit einer Kartendatenbank und einer Ein-/Ausgabeeinheit. In einem Navigationssystem steht man üblicherweise vor der Problematik, mit knappen Ressourcen an Speicher, Prozessorperformance etc., komplexe Berechnungen durchzuführen. Insbesondere die realistische Darstellung der Umgebung, noch erschwert durch die Darstellung von Gelände beinhaltet einen erheblichen Rechenaufwand. Dabei ist aufgrund der Bewegung des Gerätes innerhalb des Fahrzeugs, in dem das Navigationsgerät angebracht ist, schwer vorherzusehen, welche Richtung als nächstes eingeschlagen wird, und damit die durch eine Positionsermittlungseinheit aktualisierte Position und Ausrichtung des anzuzeigenden Kartenbildes vorherzusehen.
  • Daher ist es erforderlich, jedes Kartenbild neu zu rendern, und die Optimierungen beim Rendering selber anzusetzen. Besondere Anforderungen bestehen bei der Darstellung von Flächen-Polygonen wie die sogenannten „Land-Use”-Features, das sind in Kartendatenbanken Kategorien von flächig darzustellenden Gebieten, insbesondere Wasserflächen, Wald-/Grünflächen, bebautes Gelände usw. Solche Polygone bestehen aus einer Vielzahl an Einzelpunkten, zusätzlich kann ein einzelnes Kartenbild aus einer Vielzahl an Polygonen bestehen. Prinzipiell ist das Verfahren auch anwendbar auf Straßenflächen, die als Polygone interpretiert werden, bzw. als Polygone dargestellt werden, auch wenn sie lediglich als Linienelemente gespeichert sind.
  • Aufgabe des erfindungsgemäßen Verfahrens ist es daher, Polygone in der Kartendarstellung, insbesondere der 2,5 oder 3D-Ansicht einer Karte möglichst detailliert mit geringem Rechen- und Speicheraufwand darzustellen.
  • Die Aufgabe wird gelöst mit der Speicherung der darzustellenden Polygone in BSP-Bäumen und anschließenden optimierten Darstellung durch Traversierung der BSP-Bäume
  • Das Verfahren unterteilt sich in die Erzeugung und die Dekodierung eines BSP-Baumes für Abschnitte der darzustellenden Geometrie.
  • Erzeugung:
  • Beim Erzeugen des BSP-Baumes wird der Raum den das Polygon definiert rekursiv in 2 Bereiche (Sektoren) unterteilt. Sektoren, die Teile des Polygons enthalten, werden als „IN” markiert, Sektoren die keine Polygonteile enthalten als „OUT”. Der Baum terminiert bei „OUT”-Sektoren (Hintergrund), sowie bei „IN”-Sektoren, die nicht weiter unterteilt werden können (Polygon).
  • Dieser Kodierungsschritt kann zur Laufzeit als auch als Preprocessing-Schritt erfolgen. In letzterem Fall werden die BSP-Daten im Kartenformat mit oder anstelle der Feature-Polygone gespeichert, andernfalls zur Laufzeit der Renderingengine zur Verfügung gestellt. Vorteilhafterweise kommen hier Caching-Mechanismen zur Anwendung, so dass jedes Polygon möglichst nur einmal in einen BSP-Baum umgewandelt werden muss.
  • Die Erzeugung des BSP-Baums geht in der vorliegenden Ausführungsform davon aus, dass für ein Polygon ein BSP-Baum erzeugt wird. Dieser kann vorzugsweise komplett in einer Face liegen.
  • Von dem Polygon ausgehend wird im ersten Schritt eine geeignete Gerade ermittelt, die das Polygon in ungefähr zwei gleich-große Hälften teilt. Die Verfahren zur Durchführung dieses Schrittes sind vielfältig und ergeben sich aus dem bekannten Schatz geometrischer Algorithmen.
  • Zur Speicherung der Linien, die das Polygon partitionieren (im Folgenden „Split-Linien” genannt) dient vorzugsweise die Hesse-Normalform (HNF).
  • Die ermittelte Gerade wird in die HNF überführt, und die HNF-Koeffizienten in den ersten Node – das ist in diesem Fall der Root-Node – eingetragen.
  • Bei der Hesse-Normalform wird eine Geradengleichung „y = m·x + t” umgewandelt in eine Gleichung der Form „x·NX + y·NY + D = 0”.
  • NX, NY und D sind hierbei die Parameter der Gleichung, x und y die Variablen. Die Parameter werden als HNF-Koeffizienten in den Node eingetragen.
  • Für diesen – und jeden weiteren Node – sind nun die beiden Nachfolger zu erzeugen, sofern nicht an einem Blatt angekommen ist (dazu unten mehr bei der Abbruchbedingung).
  • Für jedes der sich durch die letzte Teilung ergebenden Teilpolygone wird nun der Prozess analog durchgeführt. Dazu wird zunächst eine Abbruchbedingung geprüft. Wenn bei dem zu untersuchenden Polygon jede Kante Teil einer bisher schon gefundenen Split-Line ist, dann braucht dieses Polygon nicht mehr weiter unterteilt zu werden. In diesem Fall wird in dem vorhergehenden Node eingetragen, ob sich an der entsprechenden Hälfte ein nicht-teilbares Polygon befindet, also „in”. Wird festgestellt, dass in der Hälfte kein Teilpolygon vorhanden ist, wird eingetragen, dass diese Hälfte out ist.
  • In allen anderen Fällen wird mit der oben beschriebenen Polygonteilung fortgesetzt, bis alle Nachfolger Blätter des BSP-Baumes sind.
  • Somit liegt ein vollständiger BSP-Baum für das zu codierende Polygon vor und kann geeignet gespeichert werden.
  • Liegen mehrere Polygone innerhalb des Bereiches, in dem die BSP-Baumerzeugung durchgeführt wird, so ist es möglich, entweder mehrere BSP-Bäume zu erzeugen oder alle Polygone in demselben BSP-Baum zu speichern. Das Verfahren bleibt hierbei gleich, es ist nur darauf zu achten, in den Blättern, welche als „In”-markiert sind, die Farbe des jeweiligen Polygonteils abzulegen.
  • Decodieren:
  • Ziel der Decodierung ist die Erzeugung einer Bitmap, die zur Darstellung im Display übergeben wird.
  • Soll ein Teil der Geometrie (Face) dargestellt werden, so ist diese Geometrie üblicherweise in 3 Dimensionen definiert (Berge, Hügel, Täler). Für die Darstellung der Polygone ist aber lediglich die 2D-Koordinate des Bildpunktes im 2D-Kartenraum interessant. Deshalb werden für jeden Eckpunkt einer Face die Koordinaten im 2D-Kartenraum als Texturkoordinaten mit übergeben.
  • Voraussetzung für die Decodierung ist daher zunächst, dass die Grafikeinheit für jeden Bildschirmpixel deren Texturkoordinaten in der Ebene ermitteln kann, je nach vorliegender Projektion. Diese Texturkoordinaten können vom Grafikchip automatisch über die gesamte Face interpoliert werden. Somit ist für jeden Bildschirmpunkt der Face anhand der interpolierten Textur-Koordinate eine Position im Koordinatensystem der flachen Karte (in dem auch die BSP-Bäume definiert sind) gegeben.
  • Weitere Voraussetzung ist, dass der BSP-Baum in der Grafikeinheit in Form einer Textur gespeichert wird. Das passiert üblicherweise so, dass für jeden Node die darin enthaltenen Daten als Farbwerte codiert werden.
  • Die folgenden Schritte werden vorzugsweise in einem Pixel-Shader durchgeführt. Jeder Bildschirmpixel wird nun sukzessive untersucht. Dazu wird die mindestens eine Texturkoordinate des Bildschirmpixels ermittelt. Im nächsten Schritt wird anhand des BSP-Baums ermittelt, ob die Texturkoordinate außerhalb oder innerhalb des Polygons liegt. Dazu wird zunächst auf den Root-Node zugegriffen, der vorzugsweise an Stelle (0, 0) in der Textur der Grafikeinheit gespeichert ist.
  • Dazu wird von der Root-Node ausgehend der BSP-Baum traversiert bis zu dem Blatt, in welchem die Texturkoordinaten liegen. So muss beim Traversieren des Baumes an jeder Node nur die HNF-Gleichung mit den Koordinaten des aktuellen Punktes berechnet werden.
  • Ergibt die Gleichung nach Einsetzen der Koordinaten Null, so liegen die Koordinaten exakt auf der Linie. Bei jedem von Null verschiedenem Wert entscheidet das Vorzeichen, auf welcher Seite der Linie die Koordinaten liegen.
  • Das Vorzeichen zeigt dann an, in welche Child-Node verzweigt werden muss.
  • Dies wird so lange fortgeführt, bis man an einem Endpunkt des Baumes angelangt ist. Dieser kann nun innerhalb oder außerhalb des Polygons liegen. Entsprechend wird die Farbe des Bildpunktes festgelegt.
  • Da die HNF über ihr Vorzeichen nicht nur die relative Orientierung eines Punktes zu einer Linie, sondern über ihren absoluten Wert auch etwas über die Entfernung des Punktes zu einer Linie aussagt, ist es auch möglich, beim Traversieren des BSP-Baumes Kantenglättung (Anti-Aliasing) zu durchzuführen. Hierbei muss lediglich die minimale Entfernung zu einer Split-Line vorgehalten werden, welche nur ein Child besitzt. Diese Linie ist immer eine Aussenlinie eines Polygons. Liegt nun diese minimale Entfernung hinreichend nahe an der Split-Line und somit an der Aussenlinie des Polygons, so kann dies als Indikator dienen, an dieser Stelle eine Interpolation zwischen Polygon- und Hintergrundfarbe durchzuführen. Auf die gleiche Weise kann eine Umrandung des Polygons mit einer dritten Farbe durchgeführt werden. Diese ist überall gleich dick.
  • In einer vorteilhaften Erweiterung wird das Verfahren so verbessert, dass nicht für jeden Bildschirmpixel eine volle Traversierung des BSP-Baums erforderlich ist. Dazu wird eine weitere Textur ermittelt, die eine geringe Auflösung aufweist. Dadurch wird der darzustellende Bereich in Texel (Texturpixel) aufgeteilt. Für jeden Texel wird ein Node des BSP-Baums als idealer Einstiegspunkt gespeichert. Das ist in vielen Fällen nicht der Root-Node, im Extremfall sogar lediglich der Hinweis auf ein Out-Blatt.
  • ( ) Die Einstiegspunkte werden bei der Erzeugung der Textur so gewählt, dass für die Texelfläche die schneidende Split-Line identifiziert wird, die dem am höchsten angeordneten Node zugeordnet ist.
  • Bei der Decodierung wird nun für jeden Bildschirmpixel bzw. die Texturkoordinate festgestellt, in welchem Texel diese positioniert ist. Dann wird der zugeordnete Einstiegsknoten in den BSP-Baum gewählt und ab diesem Einstiegsknoten der BSP-Baum bis zu den Blättern traversiert.
  • 3.5 Neue und modifizierte Teile der Erfindung
  • Ein existierendes Verfahren zur Kodierung/Dekodierung von 2D-Bildern in BSP Bäume existiert bereits (siehe United States Patent US5274718 ).
  • Dieses Verfahren ist dahingehend erweitert worden, dass die Dekodierung nicht in eine 2D-Bitmap erfolgt, sondern während der Darstellung einer komplexen dreidimensionalen Geometrie mittels Pixel-Shader. Weiterhin sind die zugrundeliegenden Daten keine Rastergrafiken, sondern georeferenzierte Polygonbeschreibungen.
  • 3.6 Detailliertes Beispiel
  • Das erfinderische Verfahren wird anhand von Figuren in einer vorteilhaften Ausprägung im Folgenden erläutert
  • Es zeigen:
  • 1: Kartendarstellung mit Terraingitter und Polygongrenze
  • 2: Darzustellendes Polygon mit gefundenen Splitlines
  • 3: Struktur des BSP-Baums für das Polygon
  • 4: Beispielhafte Textur-Repräsentation
  • 5: Beispiel für Texelverwendung
  • In einem Navigationssystem hat der Benutzer die Möglichkeit, eine dreidimensionale Geländedarstellung anzeigen zu lassen. Auf dieser Darstellung erscheinen nun scharfe Feature-Polygone in derselben Qualität, in der der Benutzer sie auch von üblichen 2D-Darstellungen gewohnt ist, siehe 1 für eine Darstellung 10 mit dreidimensionalem Terraingitter. In der Mitte ist zu sehen, wie eine Grenze mindestens eines Polygons verläuft. Diese soll mit geringem Aufwand so scharf wie möglich dargestellt werden.
  • 2 zeigt ein darzustellendes Polygon 20. Für dieses soll nach dem erfinderischen Verfahren ein BSP-Baum erzeugt werden. Dazu ist es zunächst notwendig, das Polygon so zu unterteilen, dass sich jede Polygongrenze mit einer sogenannten Splitline deckt. Es gibt zahlreiche Algorithmen zur Aufteilung von unregelmäßigen Polygonen. Im vorliegenden Fall des Polygons 20, welches ein konkaves Polygon ist, ist bei der Aufteilung das erste Ziel, das konkave Polygon in zwei konvexe Polygone aufzuteilen, was mit der Splitline geschieht, die dem Node 0 entspricht. Im Folgenden werden sukzessive die sich ergebenden Seiten weiterbearbeitet und mit weiteren Splitlines Node 1–Node 6 zerteilt. Am Ende sind nur noch Dreiecke vorhanden, deren 3 Seiten von Splitlines gebildet werden.
  • 3 zeigt den aufgrund der Teilung des Polygons 20 ergebenden BSP-Baum 30. Es ist zu erkennen, dass dieser Baum in der vorliegenden Teilung nicht vollständig balanciert ist, das die Aufteilung ab Node 3 eine Ebene mehr aufweist. Das entspricht der Anschauung von 3, wobei das Polygon aufgeteilt wurde in ein Dreieck und ein Viereck.
  • Bereits unterhalb von Node 1 ist zu erkennen, dass hier einer der Nachfolger bereits ein Blatt ist, in diesem Fall „out”, d. h. auf der entsprechenden Seite der Node 1 repräsentierenden Splitline befindet man sich vollständig außerhalb des Polygons. Bei den weiteren Nodes ergeben sich in der Regel zwei Blätter als Nachfolger, jeweils einmal „in”, was zeigt, dass diese Seite komplett innerhalb des Polygons liegt und einmal außerhalb.
  • Mit jedem Node des BSP-Baums 30 werden die Koeffizienten der die jeweilige Splitline repräsentierenden HNF gespeichert (nicht dargestellt). So kann für jede Koordinate beim Traversieren des Baumes festgestellt werden, auf welcher Seite der Splitline die Koordinate liegt und bei den Blättern, wie weit der Punkt von der Splitlinie entfernt ist. So sind Linienränder und/oder Antialiasing-Methoden zusätzlich anwendbar.
  • 4 zeigt schematisch, wie der BSP-Baum in einer Textur der Grafikeinheit gespeichert wird (Ausschnitt). Da in einer Textur üblicherweise nur Farbkanäle gespeichert werden können werden diese beispielhaft für eine BSP-Baum-Repräsentation verwendet. Die Felder 40, 50, 60 stehen für die Farben rot, grün, blau, d. h. pro Node sind zwei Farbcodes erforderlich. Darin werden im vorliegenden Beispiel pro Node gespeichert:
    • – Mit nX, nY und D die HNF-Koeffizienten
    • – Left: der linke Nachfolger (sofern vorhanden)
    • – Right: der rechte Nachfolger (sofern vorhanden)
    • – Flags: Falls der Knoten ein Blatt darstellt, mindestens die Information, ob es „in” oder „out” ist. Prinzipiell könnte hier aber auch vorzugsweise im Fall „in” angegeben werden, welche Farbe verwendet werden soll.
  • Die Felder Right/Left zeigen auf die nächsten Nodes und modellieren so die Verbindungen in Form von einer zeigerähnlichen Struktur.
  • 5 zeigt beispielhaft eine vorteilhafte Ausprägung unter Verwendung von grobmaschigen Texeln. Dabei wird über das Polygon 20 ein grobmaschiges Netz 90 von vorzugsweise gleichgroßen Sektoren gelegt, die jeweils ein Texel repräsentieren. Für jeden Sektor wird nun anhand von grundlegenden geometrischen Algorithmen festgestellt, welche höchstrangige Splitline den Sektor schneidet oder berührt. So wird Sektor 100 lediglich von der Splitline Node 1 geschnitten. Im Ergebnis kann also bei der Identifizierung, ob ein Punkt innerhalb dieses Sektors als innerhalb oder außerhalb des Polygons gelegen eingestuft wird, direkt bei Node 1 in den Baum eingestiegen werden, repräsentiert durch den gestrichelten Pfeil. Dadurch wird viel Rechenzeit in den darüberliegenden Knoten eingespart.
  • Sektor 110 wird von keiner Splitline geschnitten. Hier wird festgestellt, dass der gesamte Sektor außerhalb des Polygons liegt. Dementsprechend muss kein Einstiegsknoten für diesen Sektor definiert werden, sondern alle Punkte des Sektors werden in der Farbe gezeichnet, die für außerhalb des Polygons gelegene Punkte vorgesehen wird, vorzugsweise die Hintergrundfarbe. Um dieses zu codieren wird im vorliegenden Beispiel eine Referenz auf das entsprechende out-Blatt im BSP hinterlegt. Es ist dabei unerheblich, ob alle komplett außerhalb des Polygons gelegenen Sektoren auf das gleiche oder bestimmte „out”-Blätter referenzieren.
  • Entsprechendes ist auch für Sektor 120 möglich. Nach der Schnittanalyse ist hier ein Einstieg an Node 0 erforderlich, allerdings liegt der Sektor komplett innerhalb des Polygons. Daher ist hier – analog zu den „out”-Sektoren” – eine direkte Zuordnung zu einem „in”-Blatt möglich.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 5274718 [0005, 0041]
  • Zitierte Nicht-Patentliteratur
    • http://en.wikipedia.org/wiki/Binary_space_partitioning [0005]
    • http://en.wikipedia.org/wiki/Triangulated_irregular_network [0005]
    • http://en.wikipedia.org/wiki/Texture_mapping [0005]

Claims (8)

  1. Durch dieses Verfahren wird bei echter dreidimensionaler Darstellung eine scharfe Darstellung von Feature-Polygonen erreicht, welche der User auch in 2D-Kartensicht gewohnt ist. Der Speicherverbrauch für Texturen wird dabei stark reduziert. Verfahren zum Betrieb eines Navigationssystems, ausgestattet mindestens mit einer Kartenspeichereinrichtung, einer Positionsermittlungseinrichtung und einer Ausgabeschnittstelle, wobei die Darstellung von Flächenelementen insbesondere Polygonen aus der Kartenspeichereinrichtung die Schritte umfasst: a) Umrechnung des Polygons in einen BSP-Baum b) Speicherung des BSP-Baums c) für jeden darzustellenden Punkt Ermittlung, ob dieser als innerhalb oder außerhalb des Flächenelements liegend dargestellt wird anhand einer Traversierung des BSP-Baumes
  2. Verfahren nach Anspruch 1, wobei die Verfahrensschritte a) und b) im voraus durchgeführt werden.
  3. Verfahren nach Anspruch 1, wobei die Verfahrensschritte a) und b) zur Laufzeit durchgeführt werden
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei jede Schnittlinie des Polygons im BSP-Baum anhand von HNF-Koeffizienten gespeichert wird
  5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass in einem weiteren Vorverarbeitungsschritt für vordefinierbare Sektoren Einstiegsknoten in den BSP-Baum ermittelt und geeignet abgelegt werden.
  6. Verfahren nach Anspruch 6, wobei solche Sektoren, die komplett innerhalb oder außerhalb des Polygons liegen, gesondert markiert werden.
  7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass eine spezielle Grenzliniendarstellung, insbesondere Anti-Aliasing durchgeführt wird, wenn der zu zeichnende Punkt am Blatt einer äußeren Splitline einen vorbestimmbaren Distanzwert der HNF nicht überschreitet.
  8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass zumindest Verfahrensschritt c) in einem Pixel-Shader stattfindet.
DE201010052069 2010-11-23 2010-11-23 Feature-Polygone Withdrawn DE102010052069A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE201010052069 DE102010052069A1 (de) 2010-11-23 2010-11-23 Feature-Polygone

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE201010052069 DE102010052069A1 (de) 2010-11-23 2010-11-23 Feature-Polygone

Publications (1)

Publication Number Publication Date
DE102010052069A1 true DE102010052069A1 (de) 2012-05-24

Family

ID=46021212

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201010052069 Withdrawn DE102010052069A1 (de) 2010-11-23 2010-11-23 Feature-Polygone

Country Status (1)

Country Link
DE (1) DE102010052069A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108648268A (zh) * 2018-05-10 2018-10-12 浙江大学 一种基于胶囊的人体模型逼近方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0378271A1 (de) * 1989-01-11 1990-07-18 Koninklijke Philips Electronics N.V. Verfahren zum visuellen Darstellen eines Teils einer topografischen Karte, sowie für ein derartiges Verfahren geeignete Anordnung
US5274718A (en) 1991-09-30 1993-12-28 At&T Bell Laboratories Image representation using tree-like structures
US20100094800A1 (en) * 2008-10-09 2010-04-15 Microsoft Corporation Evaluating Decision Trees on a GPU

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0378271A1 (de) * 1989-01-11 1990-07-18 Koninklijke Philips Electronics N.V. Verfahren zum visuellen Darstellen eines Teils einer topografischen Karte, sowie für ein derartiges Verfahren geeignete Anordnung
US5274718A (en) 1991-09-30 1993-12-28 At&T Bell Laboratories Image representation using tree-like structures
US20100094800A1 (en) * 2008-10-09 2010-04-15 Microsoft Corporation Evaluating Decision Trees on a GPU

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
ENCARNACAO, J.; STRASSER, W.; KLEIN, R.: Gerätetechnik, Programmierung und Anwendung graphischer Systeme. In: Graphische Datenverarbeitung 1, 4. Auflage, 1998, Oldenburg: München, Wien., S. 70-86. *
http://en.wikipedia.org/wiki/Binary_space_partitioning
http://en.wikipedia.org/wiki/Texture_mapping
http://en.wikipedia.org/wiki/Triangulated_irregular_network
LI, J. [et al.]: Point-in-polygon tests by convex decomposition. In: Computers & Graphics, 31, 2007, 636-648. *
ZALIK, B. [et al.]: A cell-based point-in-polygon algorithm suitable for large sets of points. In: Computers & Geosciences, 2001, 1135-1145. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108648268A (zh) * 2018-05-10 2018-10-12 浙江大学 一种基于胶囊的人体模型逼近方法
CN108648268B (zh) * 2018-05-10 2020-08-04 浙江大学 一种基于胶囊的人体模型逼近方法

Similar Documents

Publication Publication Date Title
DE102008034519B4 (de) Aufgeteilte Datenstruktur, und Verfahren zum Laden einer Partikel-basierten Simulation unter Verwendung der aufgeteilten Datenstruktur in GPU, usw.
DE60032832T2 (de) Darstellung einer gekrümmten Oberfläche in mehreren Auflösungen
EP1227444B1 (de) Verfahren zur Rasterisierung eines Graphikgrundelements
EP2024793B1 (de) Verfahren und einrichtung zum rendern und generieren computer-generierter videohologramme
DE102013020614A1 (de) Mit Mehrfachauflösung konsistente Rastereinteilung
DE69924699T2 (de) Verfahren zur Schaffung von als Oberflächenelemente dargestellten grafischen Objekten
DE102013021046A1 (de) Erzeugung fehlerbefreiter Voxel-Daten
DE102005023964A1 (de) Volumenvisualisierung mittels Texturverschiebung
DE10325738B3 (de) Verfahren zur Generierung eines dreidimensionalen Geländemodells
DE112009004371T5 (de) Kollisionsbestimmungsvorrichtung und Kollisionsbestimmungsprogramm
DE102013013562A1 (de) Kachelbasierte computergraphik
DE202012013465U1 (de) Wiedergabe eines textbildes entlang einer linie
DE102010048486A1 (de) Bildverarbeitungstechniken
DE69924230T2 (de) Verfahren zur Modellierung von durch Oberflächenelemente dargestellten grafischen Objekten
DE19806985B4 (de) Organisationsverfahren für volumetrische Daten, das effiziente Cache-Aufbereitungsbeschleunigungen und einen effizienten Graphik-Hardwareentwurf ermöglicht
DE102013017981A1 (de) Optimierung einer Dreieck-Topologie für Pfad-Bilderzeugung
DE102005035796A1 (de) System und Verfahren zum Polygon-Glätten beim texturbasierten Volumen-Rendering
DE102022119422A1 (de) Verfahren zum Erzeugen einer hierarchischen Datenstruktur, hierarchische Datenstruktur sowie Verfahren zum Streamen von dreidimensionalen Objekten
DE102011076878A1 (de) Verfahren und Vorrichtung zur effizienten Editierung eines dreidimensionalen Volumens mittels Ray Casting
DE60026785T2 (de) Bildverarbeitungsgerät
DE102013021044A1 (de) Erzeugung fehlerbefreiter Voxel-Daten
DE202014010846U1 (de) Farbverlauf von Wasser auf einer digitalen Karte
DE102018008064A1 (de) Herunterskalieren von Bildern mit Pixelsätzen, die durch eine für blaues Rauschen gegebene Abtastung ausgewählt werden
EP2344845B1 (de) Verfahren und navigationsvorrichtung zur dreidimensionalen perspektivischen darstellung einer geländetopographie auf einer zweidimensionalen anzeigeeinrichtung
DE102013021709A1 (de) Schablonieren-dann-abdecken- pfadbilderzeugung mit gemeinsamen kanten

Legal Events

Date Code Title Description
R163 Identified publications notified
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20130601