Partitionierung des binären Raums: Erkundung der binären Raumpartitionierung: Grundlagen und Anwendungen in der Bildverarbeitung
Von Fouad Sabry
()
Über dieses E-Book
Was ist binäre Raumpartitionierung
In der Informatik ist die binäre Raumpartitionierung (BSP) eine Methode zur Raumpartitionierung, die einen euklidischen Raum mithilfe von rekursiv in zwei konvexe Mengen unterteilt Hyperebenen als Partitionen. Durch diesen Unterteilungsprozess entsteht eine Darstellung der Objekte im Raum in Form einer Baumdatenstruktur, die als BSP-Baum bekannt ist.
Ihr Nutzen
(I) Einblicke und Validierungen zu den folgenden Themen:
Kapitel 1: Binärraumpartitionierung
Kapitel 2: Binärbaum
Kapitel 3: Rendering (Computergrafik)
Kapitel 4: Scanline-Rendering
Kapitel 5: Bestimmung verdeckter Oberflächen
Kapitel 6: Quadtree
Kapitel 7: Octree
Kapitel 8: Raumpartitionierung
Kapitel 9: K-d-Baum
Kapitel 10: Clipping (Computergrafik)
( II) Beantwortung der häufigsten öffentlichen Fragen zur Partitionierung des Binärraums.
(III) Beispiele aus der Praxis für die Verwendung der Partitionierung des Binärraums in vielen Bereichen.
Wer dieses Buch ist für
Profis, Studenten und Doktoranden, Enthusiasten, Hobbyisten und diejenigen, die über das Grundwissen oder die Informationen für jede Art der binären Raumpartitionierung hinausgehen möchten.
Mehr von Fouad Sabry lesen
Neue Technologien In Der Materialwissenschaft [German]
Ähnlich wie Partitionierung des binären Raums
Titel in dieser Serie (100)
Multispektrale Bildgebung: Das Spektrum erschließen: Fortschritte in der Computer Vision Bewertung: 0 von 5 Sternen0 BewertungenBildhistogramm: Visuelle Einblicke enthüllen und die Tiefen von Bildhistogrammen in der Computer Vision erkunden Bewertung: 0 von 5 Sternen0 BewertungenComputer Vision: Erkundung der Tiefen des Computer Vision Bewertung: 0 von 5 Sternen0 BewertungenAffine Transformation: Visuelle Perspektiven freischalten: Erforschung der affinen Transformation in der Computer Vision Bewertung: 0 von 5 Sternen0 BewertungenComputer-Stereo-Vision: Erforschung der Tiefenwahrnehmung in der Computer Vision Bewertung: 0 von 5 Sternen0 BewertungenBildkompression: Effiziente Techniken zur visuellen Datenoptimierung Bewertung: 0 von 5 Sternen0 BewertungenLärmminderung: Verbesserung der Klarheit, fortschrittliche Techniken zur Rauschunterdrückung in der Bildverarbeitung Bewertung: 0 von 5 Sternen0 BewertungenTonzuordnung: Tone Mapping: Erhellende Perspektiven in der Computer Vision Bewertung: 0 von 5 Sternen0 BewertungenInpainting: Überbrückung von Lücken in der Computer Vision Bewertung: 0 von 5 Sternen0 BewertungenUnterwasser-Computervision: Erkundung der Tiefen der Computer Vision unter den Wellen Bewertung: 0 von 5 Sternen0 BewertungenFarbraum: Erkundung des Spektrums von Computer Vision Bewertung: 0 von 5 Sternen0 BewertungenRetinex: Enthüllen Sie die Geheimnisse des computergestützten Sehens mit Retinex Bewertung: 0 von 5 Sternen0 BewertungenHough-Transformation: Enthüllung der Magie der Hough-Transformation in der Computer Vision Bewertung: 0 von 5 Sternen0 BewertungenFilterbank: Einblicke in die Filterbanktechniken von Computer Vision Bewertung: 0 von 5 Sternen0 BewertungenGemeinsame Fotoexpertengruppe: Erschließen Sie das Potenzial visueller Daten mit dem JPEG-Standard Bewertung: 0 von 5 Sternen0 BewertungenHadamard-Transformation: Enthüllung der Leistungsfähigkeit der Hadamard-Transformation in der Computer Vision Bewertung: 0 von 5 Sternen0 BewertungenGamma-Korrektur: Verbesserung der visuellen Klarheit in der Computer Vision: Die Gammakorrekturtechnik Bewertung: 0 von 5 Sternen0 BewertungenRadon-Transformation: Aufdecken verborgener Muster in visuellen Daten Bewertung: 0 von 5 Sternen0 BewertungenHomographie: Homographie: Transformationen in der Computer Vision Bewertung: 0 von 5 Sternen0 BewertungenAnisotrope Diffusion: Verbesserung der Bildanalyse durch anisotrope Diffusion Bewertung: 0 von 5 Sternen0 BewertungenFarbanpassungsfunktion: Spektrale Empfindlichkeit in Computer Vision verstehen Bewertung: 0 von 5 Sternen0 BewertungenHistogrammausgleich: Verbesserung des Bildkontrasts für eine verbesserte visuelle Wahrnehmung Bewertung: 0 von 5 Sternen0 BewertungenModell des menschlichen visuellen Systems: Wahrnehmung und Verarbeitung verstehen Bewertung: 0 von 5 Sternen0 BewertungenEpipolare Geometrie: Erschließung der Tiefenwahrnehmung in der Computer Vision Bewertung: 0 von 5 Sternen0 BewertungenFarbmanagementsystem: Optimierung der visuellen Wahrnehmung in digitalen Umgebungen Bewertung: 0 von 5 Sternen0 BewertungenAdaptiver Filter: Verbesserung der Computer Vision durch adaptive Filterung Bewertung: 0 von 5 Sternen0 BewertungenDirekte lineare Transformation: Praktische Anwendungen und Techniken in der Computer Vision Bewertung: 0 von 5 Sternen0 BewertungenGeometrisches Hashing: Effiziente Algorithmen zur Bilderkennung und -anpassung Bewertung: 0 von 5 Sternen0 BewertungenCanny Edge Detector: Enthüllung der Kunst der visuellen Wahrnehmung Bewertung: 0 von 5 Sternen0 BewertungenKonturerkennung: Enthüllung der Kunst der visuellen Wahrnehmung in der Computer Vision Bewertung: 0 von 5 Sternen0 Bewertungen
Ähnliche E-Books
Bestimmung verdeckter Oberflächen: Enthüllung der Geheimnisse des Computer Vision Bewertung: 0 von 5 Sternen0 BewertungenBump-Mapping: Bump Mapping: Erforschung der Tiefe der Computer Vision Bewertung: 0 von 5 Sternen0 BewertungenVertex-Computergrafik: Erkundung der Schnittstelle zwischen Vertex Computer Graphics und Computer Vision Bewertung: 0 von 5 Sternen0 BewertungenBresenham-Linien-Algorithmus: Effiziente pixelgenaue Linienwiedergabe für Computer Vision Bewertung: 0 von 5 Sternen0 BewertungenRastergrafik-Editor: Visuelle Realitäten transformieren: Rastergrafik-Editoren in Computer Vision beherrschen Bewertung: 0 von 5 Sternen0 BewertungenDigitale Rastergrafik: Enthüllung der Leistungsfähigkeit digitaler Rastergrafiken in der Computer Vision Bewertung: 0 von 5 Sternen0 BewertungenComputer-Vision-Grafikschnitte: Erforschung von Graphschnitten in der Computer Vision Bewertung: 0 von 5 Sternen0 BewertungenPolygon-Computergrafik: Erkundung der Schnittstelle zwischen Polygon-Computergrafik und Computer Vision Bewertung: 0 von 5 Sternen0 BewertungenModell einer Lochkamera: Perspektive durch Computeroptik verstehen Bewertung: 0 von 5 Sternen0 BewertungenKontextuelle Bildklassifizierung: Visuelle Daten für eine effektive Klassifizierung verstehen Bewertung: 0 von 5 Sternen0 BewertungenBildsegmentierung: Erkenntnisse durch Pixelpräzision erschließen Bewertung: 0 von 5 Sternen0 BewertungenRastergrafiken: Die Grundlagen der Rastergrafik in der Computer Vision verstehen Bewertung: 0 von 5 Sternen0 BewertungenComputer-Stereo-Vision: Erforschung der Tiefenwahrnehmung in der Computer Vision Bewertung: 0 von 5 Sternen0 BewertungenPhong Schattierung: Erkundung der Tiefe des visuellen Renderings: Phong-Schattierung in der Bildverarbeitung Bewertung: 0 von 5 Sternen0 BewertungenGouraud-Schattierung: Gouraud-Shading: Erhellende Computer Vision Bewertung: 0 von 5 Sternen0 BewertungenHistogrammausgleich: Verbesserung des Bildkontrasts für eine verbesserte visuelle Wahrnehmung Bewertung: 0 von 5 Sternen0 BewertungenVektorgrafik-Editor: Ermöglichen Sie die visuelle Erstellung mit fortschrittlichen Algorithmen Bewertung: 0 von 5 Sternen0 BewertungenBewegungsschätzung: Fortschritte und Anwendungen in der Computer Vision Bewertung: 0 von 5 Sternen0 BewertungenRaytracing-Grafiken: Erforschung des fotorealistischen Renderings in der Computer Vision Bewertung: 0 von 5 Sternen0 BewertungenBündelanpassung: Optimieren visueller Daten für eine präzise Rekonstruktion Bewertung: 0 von 5 Sternen0 BewertungenLevel-Set-Methode: Weiterentwicklung der Computer Vision, Erforschung der Level-Set-Methode Bewertung: 0 von 5 Sternen0 BewertungenStrichzeichnungsalgorithmus: Beherrschen von Techniken zur präzisen Bildwiedergabe Bewertung: 0 von 5 Sternen0 BewertungenBildbasierte Modellierung und Rendering: Erforschung des visuellen Realismus: Techniken in der Computer Vision Bewertung: 0 von 5 Sternen0 BewertungenDokumentmosaikierung: Visuelle Einblicke durch Dokumentmosaikierung erschließen Bewertung: 0 von 5 Sternen0 BewertungenGeometrisches Primitiv: Erkundung der Grundlagen und Anwendungen der Computer Vision Bewertung: 0 von 5 Sternen0 BewertungenBilineare Interpolation: Verbesserung der Bildauflösung und -klarheit durch bilineare Interpolation Bewertung: 0 von 5 Sternen0 BewertungenAnisotrope Filterung: Entschlüsselung der visuellen Komplexität in der Computer Vision Bewertung: 0 von 5 Sternen0 BewertungenVoxel: Erkundung der Tiefen des Computer Vision mit Voxel-Technologie Bewertung: 0 von 5 Sternen0 BewertungenBlob-Erkennung: Aufdecken von Mustern in visuellen Daten Bewertung: 0 von 5 Sternen0 Bewertungen
Künstliche Intelligenz (KI) & Semantik für Sie
Meistern von ChatGPT: Entriegeln Sie die Kraft der KI für verbesserte Kommunikation und Beziehungen: German Bewertung: 0 von 5 Sternen0 BewertungenChatbotische Landingpages: Wie du deine Konkurrenz in den digitalen Staub schicken Bewertung: 0 von 5 Sternen0 BewertungenChatbotische Medien-Gestaltung leicht gemacht: Von der Idee zum viralen Hit Bewertung: 0 von 5 Sternen0 BewertungenChatGPT – Für Einsteiger: Schreibprofi mit KI, Zeit und Geld sparen ohne peinliche Fehler Bewertung: 0 von 5 Sternen0 BewertungenRoboter im Alltag: Maschinen (beinahe) wie Menschen Bewertung: 0 von 5 Sternen0 BewertungenKI-Innovationen: Wie die Technologie die Grenzen verschiebt Künstliche Intelligenz verstehen und nutzen: Ein AI-Buch Bewertung: 0 von 5 Sternen0 BewertungenDie KI Bibel, mit künstlicher Intelligenz Geld verdienen: Echte Fallbeispiele und Anleitungen zum Umsetzen Bewertung: 1 von 5 Sternen1/5Die Zukunft der Arbeit: Digitalisierung, Automatisierung, KI Bewertung: 0 von 5 Sternen0 BewertungenChatGPT: Begegnung mit einer neuen Welt: Lernen Sie Künstliche Intelligenz mit der Gratisversion ChatGPT 3.5 Bewertung: 0 von 5 Sternen0 BewertungenWissen statt Glauben!: Das Weltbild des neuen Humanismus Bewertung: 0 von 5 Sternen0 BewertungenMenschlicher Geist und Künstliche Intelligenz: Die Entwicklung des Humanen inmitten einer digitalen Welt Bewertung: 0 von 5 Sternen0 BewertungenChatGPT: Epische Reise des Erfolgs - 'Steigern Sie Ihren Reichtum': Mit Screenshots aus dem echten Leben - Erreichen Sie finanzielle Höhen Bewertung: 0 von 5 Sternen0 BewertungenPsychologie des Sozialismus Bewertung: 0 von 5 Sternen0 BewertungenKünstliche Intelligenz: Die vierte industrielle Revolution Bewertung: 0 von 5 Sternen0 BewertungenKünstliche Intelligenz in Sozialen Medien Bewertung: 0 von 5 Sternen0 BewertungenEinstieg ins Machine Learning: Grundlagen, Prinzipien, erste Schritte Bewertung: 0 von 5 Sternen0 BewertungenDigitalotopia: Sind wir bereit für die (R)Evolution der Wirklichkeit? Bewertung: 0 von 5 Sternen0 BewertungenAufstieg der Roboter: Wie unsere Arbeitswelt gerade auf den Kopf gestellt wird - und wie wir darauf reagieren müssen Bewertung: 0 von 5 Sternen0 Bewertungen
Rezensionen für Partitionierung des binären Raums
0 Bewertungen0 Rezensionen
Buchvorschau
Partitionierung des binären Raums - Fouad Sabry
Kapitel 1: Partitionierung des binären Speicherplatzes
Binary Space Partitioning (BSP) ist eine Methode zur Raumaufteilung in der Informatik, bei der ein euklidischer Raum rekursiv in zwei konvexe Mengen unterteilt wird, wobei Hyperebenen als Partitionen verwendet werden. Diese Vorgehensweise erzeugt eine Repräsentation von Objekten innerhalb des Raums in Form eines BSP-Baums, einer baumartigen Datenstruktur.
1969 wurde die binäre Raumaufteilung im Kontext der 3D-Computergrafik entwickelt. Die Erkennung von Kollisionen in der Robotik und in 3D-Videospielen, Raytracing und andere Anwendungen, bei denen es um die Manipulation komplizierter räumlicher Situationen geht.
Der generische Prozess, bei dem eine Szene rekursiv in zwei Teile aufgeteilt wird, bis die Partitionierung eine oder mehrere Anforderungen erfüllt, wird als binäre Speicherpartitionierung bezeichnet. Es kann als eine Verallgemeinerung anderer räumlicher Baumstrukturen betrachtet werden, wie z. B. k-d-Bäume und Quadtrees, in denen die Hyperebenen, die den Raum unterteilen, nicht an den Koordinatenachsen ausgerichtet sind. In der Computergrafik werden beim Rendern von Szenerien aus planaren Polygonen die Trennebenen in der Regel so gewählt, dass sie mit den Ebenen übereinstimmen, die durch die Polygone in der Szene definiert sind.
Die genaue Auswahl der Partitionierungsebene und die Kriterien für das Stoppen des Partitionierungsprozesses variieren je nach Verwendungszweck des BSP-Baums. Beim Rendern von Computergrafiken wird die Szene beispielsweise so lange unterteilt, bis jeder Knoten des BSP-Baums nur noch Polygone enthält, die in beliebiger Reihenfolge gezeichnet werden können. Wenn Back-Face-Culling verwendet wird, hat jeder Knoten eine konvexe Menge von Polygonen, aber beim Rendern von doppelseitigen Polygonen enthält jeder Knoten des BSP-Baums nur ebenenbasierte Polygone. Bei der Kollisionserkennung oder Raytracing kann eine Szene in Primitive unterteilt werden, für die Kollisions- oder Strahlenschnitttests einfach sind.
Die Computergrafik erforderte die Partitionierung des binären Raums, um schnell dreidimensionale Szenen aus Polygonen zu rendern. Der Algorithmus des Malers erzeugt Polygone in der Reihenfolge des Abstands vom Betrachter, von hinten nach vorne, und übermalt den Hintergrund und vorherige Polygone mit jedem Objekt, das dem Betrachter näher ist. Diese Methode hat zwei Nachteile: die Zeit, die benötigt wird, um Polygone in umgekehrter Reihenfolge zu sortieren, und die Wahrscheinlichkeit von Fehlern in Polygonen, die sich überlappen. Fuchs und Co-Autoren zeigten, dass die Konstruktion eines BSP-Baums diese beiden Probleme löste, indem er eine schnelle Methode zum Sortieren von Polygonen in Bezug auf einen bestimmten Blickwinkel (linear in der Anzahl der Polygone in der Szene) bereitstellte und überlappende Polygone unterteilte, um Fehler im Zusammenhang mit dem Painter-Algorithmus zu vermeiden. Ein Nachteil der Binärraumpartitionierung ist die Zeit, die für die Generierung eines BSP-Baums benötigt wird. Vor dem Rendern oder anderen Echtzeitoperationen in einer Szene wird es daher in der Regel einmal auf statischer Geometrie als Vorberechnungsphase durchgeführt. Das direkte Verschieben von Objekten in einen Baum ist aufgrund der Kosten für die Erstellung eines BSP-Baums schwierig und ineffizient.
BSP-Bäume werden häufig in 3D-Videospielen verwendet, insbesondere in Ego-Shootern und Titeln mit Indoor-Umgebungen. Doom (id Tech 1), Quake (id Tech 2 Variante), GoldSrc und Source sind Spiele-Engines, die BSP-Bäume verwenden. In ihnen werden BSP-Bäume, die die statische Geometrie der Szene enthalten, häufig in Verbindung mit einem Z-Puffer verwendet, um bewegliche Elemente wie Türen und Charaktere korrekt in die Hintergrundszene einzublenden. Die binäre Raumpartitionierung erleichtert zwar das Speichern und Abrufen von räumlichen Informationen über die Polygone einer Szene, löst jedoch nicht das Problem der Bestimmung der sichtbaren Oberfläche.
Die Standardanwendung eines BSP-Baums besteht darin, doppelseitige Polygone ohne Back-Face-Culling mit der Painter-Methode zu rendern. Jedes Polygon hat eine Vorder- und eine Rückseite, die frei gewählt werden können und sich nur auf die Struktur des Baumes auswirken, nicht auf das gewünschte Ergebnis.
Wählen Sie ein Polygon aus der Liste P aus.
Fügen Sie P zur Liste der Polygone am Knoten N im BSP-Baum hinzu.
Für jedes zusätzliche Polygon in der Liste:
Wenn sich dieses Polygon vollständig vor der Ebene befindet, die P enthält, fügen Sie es der Liste der Knoten vor P hinzu.
Wenn sich dieses Polygon vollständig hinter der Ebene befindet, die P enthält, fügen Sie es der Liste der Knoten hinter P hinzu.
Wenn das Polygon von der Ebene gekreuzt wird, die P enthält, teilen Sie es in zwei Polygone und fügen Sie sie zu den Listen der Polygone hinter bzw. vor P hinzu.
Fügen Sie dieses Polygon der Liste der Polygone am Knoten N hinzu, wenn es in der Ebene mit P liegt.
Wenden Sie dieses Verfahren auf die Polygonliste vor P an.
Wenden Sie diese Methode auf die Polygonliste hinter P an.
Dieses Diagramm zeigt, wie dieser Ansatz verwendet werden kann, um eine Liste von Linien oder Polygonen in einen BSP-Baum umzuwandeln. Bei jedem der acht Schritte (i.-viii.) wird die vorhergehende Methode auf die Liste der Zeilen angewendet, und ein neuer Knoten wird dem Baum hinzugefügt.
Da Linien oder Polygone, die die Partitionierungsebene kreuzen, in zwei Teile geteilt werden müssen, ist die endgültige Anzahl von Polygonen oder Linien in einer Struktur häufig größer (und manchmal erheblich größer) als die ursprüngliche Liste. Es ist vorzuziehen, dieses Wachstum zu begrenzen und gleichzeitig ein faires Gleichgewicht im endgültigen Baum zu erhalten. Die Entscheidung, welches Polygon oder welche Linie als Partitionierungsebene verwendet werden soll (in Schritt 1 der Methode), ist entscheidend für die effektive Erstellung eines BSP-Baums.
Ein BSP-Baum wird in linearer Zeit durchlaufen, und zwar in einer Reihenfolge, die durch die spezifische Funktion des Baums vorgegeben ist. Um das Polygon P am Beispiel des Renderns doppelseitiger Polygone mit der Malertechnik angemessen zu erstellen, müssen zuerst alle Polygone hinter der Ebene, in der P liegt, gezeichnet werden, gefolgt von Polygon P und schließlich Polygone vor P. Wenn alle Polygone in einer Szene dieser Darstellungsreihenfolge entsprechen, wird die Szene in der richtigen Reihenfolge gerendert. Mit dem folgenden Algorithmus kann diese Vorgehensweise durch iteratives Durchlaufen eines BSP-Baums realisiert werden. Rendern Sie von einem gegebenen Standpunkt V aus einen BSP-Baum, Wenn der aktuelle Knoten ein Blattknoten ist, zeichnen Sie die Polygone des aktuellen Knotens.
Wenn sich die Anzeigestelle V vor dem aktuellen Knoten befindet, fährt der Algorithmus fort:
Rendern Sie den polygonhaltigen, untergeordneten BSP-Baum hinter dem aktuellen Knoten.
Rendern von Polygonen, die sich am aktuellen Knoten befinden
Rendern Sie den polygonhaltigen untergeordneten BSP-Baum vor dem aktuellen Knoten.
Wenn sich der Betrachtungsort V hinter dem aktuellen Knoten befindet:
Rendern Sie den polygonhaltigen untergeordneten BSP-Baum vor dem aktuellen Knoten.
Rendern von Polygonen, die sich am aktuellen Knoten befinden
Rendern Sie den polygonhaltigen, untergeordneten BSP-Baum hinter dem aktuellen Knoten.
Ist dies nicht der Fall, muss die Betrachtungsposition V genau auf der Ebene liegen, die mit dem aktuellen Knoten verbunden ist. Dann:
Rendern Sie den polygonhaltigen untergeordneten BSP-Baum vor dem aktuellen