Partición del espacio binario: Explorando la partición del espacio binario: fundamentos y aplicaciones en visión por computadora
Por Fouad Sabry
()
Información de este libro electrónico
¿Qué es la partición del espacio binario?
En informática, la partición del espacio binario (BSP) es un método de partición del espacio que subdivide recursivamente un espacio euclidiano en dos conjuntos convexos mediante el uso hiperplanos como particiones. Este proceso de subdivisión da lugar a una representación de los objetos dentro del espacio en forma de una estructura de datos de árbol conocida como árbol BSP.
Cómo se beneficiará
(I) Insights y validaciones sobre los siguientes temas:
Capítulo 1: Partición del espacio binario
Capítulo 2: Árbol binario
Capítulo 3: Representación (gráficos por computadora)
Capítulo 4: Representación de líneas de escaneo
Capítulo 5: Determinación de superficie oculta
Capítulo 6: Quadtree
Capítulo 7: Octree
Capítulo 8: Partición del espacio
Capítulo 9: Árbol K-d
Capítulo 10: Recorte (gráficos por computadora)
( II) Responder las principales preguntas del público sobre la partición del espacio binario.
(III) Ejemplos del mundo real para el uso de la partición del espacio binario en muchos campos.
Quién es este libro para
Profesionales, estudiantes de pregrado y posgrado, entusiastas, aficionados y aquellos que quieran ir más allá del conocimiento o la información básica para cualquier tipo de partición del espacio binario.
Relacionado con Partición del espacio binario
Títulos en esta serie (100)
Modelo de apariencia activa: Liberando el poder de los modelos de apariencia activa en visión por computadora Calificación: 0 de 5 estrellas0 calificacionesVisión por computador: Explorando las profundidades de la visión por computadora Calificación: 0 de 5 estrellas0 calificacionesVisión estéreo por computadora: Explorando la percepción de profundidad en la visión por computadora Calificación: 0 de 5 estrellas0 calificacionesTransformacion afin: Desbloqueo de perspectivas visuales: exploración de la transformación afín en visión por computadora Calificación: 0 de 5 estrellas0 calificacionesSistema de gestión de color: Optimización de la percepción visual en entornos digitales Calificación: 0 de 5 estrellas0 calificacionesEcualización de histograma: Mejora del contraste de la imagen para mejorar la percepción visual Calificación: 0 de 5 estrellas0 calificacionesCorrección gamma: Mejora de la claridad visual en la visión por computadora: la técnica de corrección gamma Calificación: 0 de 5 estrellas0 calificacionesBanco de filtros: Información sobre las técnicas del banco de filtros de Computer Vision Calificación: 0 de 5 estrellas0 calificacionesModelo del sistema visual humano: Comprender la percepción y el procesamiento Calificación: 0 de 5 estrellas0 calificacionesEn Pintura: Cerrar brechas en la visión por computadora Calificación: 0 de 5 estrellas0 calificacionesDifusión anisotrópica: Mejora del análisis de imágenes mediante difusión anisotrópica Calificación: 0 de 5 estrellas0 calificacionesGeometría proyectiva: Explorando la geometría proyectiva en visión por computadora Calificación: 0 de 5 estrellas0 calificacionesHistograma de imagen: Revelando conocimientos visuales, explorando las profundidades de los histogramas de imágenes en visión por computadora Calificación: 0 de 5 estrellas0 calificacionesHomografía: Homografía: Transformaciones en Visión por Computador Calificación: 0 de 5 estrellas0 calificacionesVisión por computadora submarina: Explorando las profundidades de la visión por computadora debajo de las olas Calificación: 0 de 5 estrellas0 calificacionesReducción de ruido: Mejora de la claridad, técnicas avanzadas para la reducción del ruido en la visión por computadora Calificación: 0 de 5 estrellas0 calificacionesTransformación de Hadamard: Revelando el poder de la transformación de Hadamard en visión por computadora Calificación: 0 de 5 estrellas0 calificacionesEspacio de escala: Explorando las dimensiones en visión por computadora Calificación: 0 de 5 estrellas0 calificacionesMapeo de tonos: Mapeo de tonos: perspectivas iluminadoras en visión por computadora Calificación: 0 de 5 estrellas0 calificacionesJoint Photographic Experts Group: Liberando el poder de los datos visuales con el estándar JPEG Calificación: 0 de 5 estrellas0 calificacionesFiltro adaptativo: Mejora de la visión por computadora mediante filtrado adaptativo Calificación: 0 de 5 estrellas0 calificacionesPercepción visual: Información sobre el procesamiento visual computacional Calificación: 0 de 5 estrellas0 calificacionesTransformación de radón: Revelando patrones ocultos en datos visuales Calificación: 0 de 5 estrellas0 calificacionesRetinax: Revelando los secretos de la visión computacional con Retinex Calificación: 0 de 5 estrellas0 calificacionesTransformación dura: Revelando la magia de Hough Transform en visión por computadora Calificación: 0 de 5 estrellas0 calificacionesDetección de contorno: Revelando el arte de la percepción visual en la visión por computadora Calificación: 0 de 5 estrellas0 calificacionesDetector de esquinas Harris: Revelando la magia de la detección de características de imagen Calificación: 0 de 5 estrellas0 calificacionesCompresión de imagen: Técnicas eficientes para la optimización de datos visuales Calificación: 0 de 5 estrellas0 calificacionesDetección de manchas: Revelando patrones en datos visuales Calificación: 0 de 5 estrellas0 calificacionesModelo de apariencia de color: Comprensión de la percepción y la representación en visión por computadora Calificación: 0 de 5 estrellas0 calificaciones
Libros electrónicos relacionados
Representación de línea de exploración: Explorando el realismo visual a través de técnicas de renderizado Scanline Calificación: 0 de 5 estrellas0 calificacionesAlgoritmo de la línea de Bresenham: Representación eficiente de líneas con píxeles perfectos para visión por computadora Calificación: 0 de 5 estrellas0 calificacionesInterpolación bilineal: Mejora de la resolución y claridad de la imagen mediante interpolación bilineal Calificación: 0 de 5 estrellas0 calificacionesAlgoritmo de dibujo lineal: Dominar técnicas para la representación de imágenes de precisión Calificación: 0 de 5 estrellas0 calificacionesDeterminación de superficies ocultas: Revelando los secretos de la visión por computadora Calificación: 0 de 5 estrellas0 calificacionesClasificación de imágenes contextuales: Comprensión de los datos visuales para una clasificación eficaz Calificación: 0 de 5 estrellas0 calificacionesGráficos rasterizados: Comprender los fundamentos de los gráficos rasterizados en visión por computadora Calificación: 0 de 5 estrellas0 calificacionesGráficos por computadora de vértice: Explorando la intersección de los gráficos por computadora Vertex y la visión por computadora Calificación: 0 de 5 estrellas0 calificacionesEditora de gráficos ráster: Transformando realidades visuales: dominio de los editores de gráficos rasterizados en visión por computadora Calificación: 0 de 5 estrellas0 calificacionesReconstrucción tridimensional multivista: Técnicas avanzadas de percepción espacial en visión por computadora Calificación: 0 de 5 estrellas0 calificacionesModelo de cámara estenopeica: Comprender la perspectiva a través de la óptica computacional Calificación: 0 de 5 estrellas0 calificacionesGráfico de trama digital: Revelando el poder de los gráficos rasterizados digitales en la visión por computadora Calificación: 0 de 5 estrellas0 calificacionesMosaico de documentos: Desbloqueo de información visual a través del mosaico de documentos Calificación: 0 de 5 estrellas0 calificacionesModelado y renderizado basado en imágenes: Explorando el realismo visual: técnicas en visión por computadora Calificación: 0 de 5 estrellas0 calificacionesRepresentación de volumen: Explorando el realismo visual en la visión por computadora Calificación: 0 de 5 estrellas0 calificacionesComposición alfa: Dominar el arte de la composición de imágenes en visión por computadora Calificación: 0 de 5 estrellas0 calificacionesGráficos por computadora de polígono: Explorando la intersección de gráficos por computadora poligonales y visión por computadora Calificación: 0 de 5 estrellas0 calificacionesVóxel: Explorando las profundidades de la visión por computadora con tecnología Voxel Calificación: 0 de 5 estrellas0 calificacionesEditora de gráficos vectoriales: Potenciando la creación visual con algoritmos avanzados Calificación: 0 de 5 estrellas0 calificacionesPunto de Fuga: Explorando los límites de la visión: conocimientos de la informática Calificación: 0 de 5 estrellas0 calificacionesRelleno de inundación: Relleno de inundación: exploración del terreno dinámico de la visión por computadora Calificación: 0 de 5 estrellas0 calificacionesSuperficie procesal: Explorando la generación y el análisis de texturas en visión por computadora Calificación: 0 de 5 estrellas0 calificacionesGráficos de trazado de rayos: Explorando la representación fotorrealista en visión por computadora Calificación: 0 de 5 estrellas0 calificacionesMétodo de ajuste de nivel: Avances en la visión por computadora, exploración del método de conjunto de niveles Calificación: 0 de 5 estrellas0 calificacionesGráficos vectoriales: Dominar los gráficos vectoriales en visión por computadora Calificación: 0 de 5 estrellas0 calificacionesAjuste del paquete: Optimización de datos visuales para una reconstrucción precisa Calificación: 0 de 5 estrellas0 calificacionesMapeo de relieve: Mapeo de relieve: exploración de la profundidad en visión por computadora Calificación: 0 de 5 estrellas0 calificacionesVisión estéreo por computadora: Explorando la percepción de profundidad en la visión por computadora Calificación: 0 de 5 estrellas0 calificacionesHashing geométrico: Algoritmos eficientes para el reconocimiento y la comparación de imágenes Calificación: 0 de 5 estrellas0 calificaciones
Inteligencia (IA) y semántica para usted
Introducción a la computación cuántica para ingenieros Calificación: 0 de 5 estrellas0 calificacionesInteligencia artificial: Guía para seres pensantes Calificación: 0 de 5 estrellas0 calificacionesProgramación de Inteligencia Artificial. Curso Práctico Calificación: 0 de 5 estrellas0 calificacionesKlara y el Sol Calificación: 5 de 5 estrellas5/5Cómo triunfar en Instagram usando ChatGPT: La guía definitiva para crear contenido impactante con ChatGPT Calificación: 0 de 5 estrellas0 calificacionesMecatrónica Calificación: 0 de 5 estrellas0 calificacionesFundamentos de Programación: Diagramas de flujo, Diagramas N-S, Pseudocódigo y Java Calificación: 0 de 5 estrellas0 calificacionesDominando ChatGPT: Desbloquea el poder de la IA para mejorar la comunicación y las relaciones: Spanish Calificación: 3 de 5 estrellas3/5Máquinas predictivas: La sencilla economía de la inteligencia artificial Calificación: 5 de 5 estrellas5/5Desarrollo de aplicaciones C#: con Visual Studio .NET Curso práctico Calificación: 0 de 5 estrellas0 calificacionesChatGPT La Máquina de Dinero del 2024 De Novato a Prodigio en el Uso de Indicaciones de manera Rápida. Un Curso Completo para Principiantes en Inteligencia Artificial. Calificación: 0 de 5 estrellas0 calificacionesLa IA curso de Inteligencia Artificial de principiante a experto: Curso de campo aprenderas todo sobre la inteligencia Artificial explicado paso a paso para mejor entendimiento Calificación: 0 de 5 estrellas0 calificacionesIntroducción a la Ingeniería Industrial Calificación: 0 de 5 estrellas0 calificacionesInteligencia artificial: chatgpt práctico para empresas Calificación: 0 de 5 estrellas0 calificacionesCHATGPT: Obtén el máximo rendimiento a la Inteligencia Artificial Generativa Calificación: 0 de 5 estrellas0 calificacionesEl modelo para ganar dinero de ChatGPT para emprendedores Calificación: 0 de 5 estrellas0 calificacionesAprendizaje automático y profundo en python: Una mirada hacia la inteligencia artificial Calificación: 0 de 5 estrellas0 calificacionesMonetización de ChatGPT: aproveche el poder de AI: Spanish Calificación: 1 de 5 estrellas1/5Diseño de algoritmos y su programación en C Calificación: 0 de 5 estrellas0 calificacionesDominar Chatbot GPT: Una guía completa para desbloquear el poder de las conversaciones de IA para su negocio Calificación: 0 de 5 estrellas0 calificacionesLibertad Financiera con ChatGPT y Prompt Engineering Aprende Cómo Hacer Dinero Online sin Trabajar Gracias a la Inteligencia Artificial Generativa con Prompts en Español Calificación: 0 de 5 estrellas0 calificacionesChat GPT-4 para Principiantes: Chat GPT, #1 Calificación: 0 de 5 estrellas0 calificacionesEstructuras de Datos Básicas: Programación orientada a objetos con Java Calificación: 5 de 5 estrellas5/5ChatGPT Guía Para Principiantes Cómo Usar la Inteligencia Artificial Generativa de OpenAI en tu Vida Calificación: 0 de 5 estrellas0 calificacionesInteligencia Artificial Calificación: 4 de 5 estrellas4/5Escritura Creativa en la Era de la IA: Dominando la Colaboración con ChatGPT para Crear Libros Impactantes Calificación: 4 de 5 estrellas4/5Arquitectura de computadoras Calificación: 0 de 5 estrellas0 calificacionesAgile Calificación: 5 de 5 estrellas5/5
Comentarios para Partición del espacio binario
0 clasificaciones0 comentarios
Vista previa del libro
Partición del espacio binario - Fouad Sabry
Capítulo 1: Particionamiento de espacio binario
El particionamiento de espacio binario (BSP) es un método para el particionamiento de espacio en ciencias de la computación que subdivide recursivamente un espacio euclidiano en dos conjuntos convexos utilizando hiperplanos como particiones. Este procedimiento genera una representación de objetos dentro del espacio en forma de árbol BSP, una estructura de datos similar a un árbol.
En 1969 se desarrolló la partición del espacio binario en el contexto de los gráficos por ordenador en 3D. La detección de colisiones en robótica y videojuegos 3D, trazado de rayos y otras aplicaciones que implican la manipulación de situaciones espaciales complicadas.
El proceso genérico de separar recursivamente una escena en dos hasta que la partición satisfaga uno o más requisitos se conoce como particionamiento de espacio binario. Se puede ver como una generalización de otras estructuras de árbol espacial, como los árboles k-d y los árboles cuádruples, en los que los hiperplanos que dividen el espacio no están alineados con los ejes de coordenadas. En gráficos por ordenador, al renderizar escenarios formados por polígonos planos, los planos de división se eligen normalmente para que coincidan con los planos definidos por los polígonos de la escena.
La selección precisa del plano de particionamiento y los criterios para detener el proceso de particionamiento varían en función del uso previsto del árbol BSP. En el renderizado de gráficos por computadora, por ejemplo, la escena se subdivide hasta que cada nodo del árbol BSP incluye solo polígonos que se pueden dibujar en cualquier secuencia. Cuando se emplea la selección de cara posterior, cada nodo tiene un conjunto convexo de polígonos, sin embargo, cuando se representan polígonos de doble cara, cada nodo del árbol BSP contiene solo polígonos basados en planos. En la detección de colisiones o el trazado de rayos, una escena se puede dividir en primitivas para las que las pruebas de colisión o intersección de rayos son simples.
Los gráficos por computadora requerían la partición del espacio binario para renderizar rápidamente escenas tridimensionales hechas de polígonos. El algoritmo del pintor produce polígonos en orden de distancia del observador, de atrás hacia adelante, pintando sobre el fondo y los polígonos anteriores con cada objeto que está más cerca del espectador. Este método tiene dos inconvenientes: el tiempo necesario para ordenar los polígonos en orden inverso y la probabilidad de errores en los polígonos que se superponen. Fuchs y sus coautores demostraron que la construcción de un árbol BSP resolvió ambos problemas al proporcionar un método rápido de ordenación de polígonos con respecto a un punto de vista dado (lineal en el número de polígonos en la escena) y al subdividir polígonos superpuestos para evitar errores relacionados con el algoritmo del pintor. Una desventaja de la partición de espacios binarios es el tiempo necesario para generar un árbol BSP. Por lo tanto, antes de renderizar u otras operaciones en tiempo real en una escena, normalmente se realiza una vez en geometría estática como fase de cálculo previo. Mover objetos directamente a un árbol es desafiante e ineficiente debido al costo de crear un árbol BSP.
Los árboles BSP se utilizan con frecuencia en videojuegos 3D, especialmente en juegos de disparos en primera persona y títulos con escenarios interiores. Doom (id Tech 1), Quake (variación id Tech 2), GoldSrc y Source son motores de juego que utilizan árboles BSP. En ellos, los árboles BSP que contienen la geometría estática de la escena se utilizan con frecuencia junto con un búfer Z para combinar correctamente elementos móviles como puertas y personajes en la escena de fondo. Si bien la partición del espacio binario facilita el almacenamiento y la recuperación de información espacial sobre los polígonos de una escena, no resuelve el problema de la determinación de la superficie visible.
La aplicación estándar de un árbol BSP es renderizar polígonos de doble cara sin selección de la cara posterior utilizando el método del pintor. Cada polígono tiene un anverso y un reverso que se pueden elegir libremente y solo afectan a la estructura del árbol, no al resultado deseado.
Seleccione un polígono de la lista P.
Agregue P a la lista de polígonos en el nodo N en el árbol BSP.
Para cada polígono adicional de la lista:
Si ese polígono está completamente delante del plano que contiene P, agréguelo a la lista de nodos delante de P.
Si este polígono está completamente detrás del plano que contiene P, agréguelo a la lista de nodos detrás de P.
Si el polígono está atravesado por el plano que contiene P, divídelo en dos polígonos y agrégalos a las listas de polígonos detrás y delante de P, respectivamente.
Agregue este polígono a la lista de polígonos en el nodo N si se encuentra en el plano que contiene P.
Aplique este procedimiento a la lista de polígonos que precede a P.
Aplicando este método a la lista de polígonos detrás de P.
Este diagrama muestra cómo se puede utilizar este enfoque para convertir una lista de líneas o polígonos en un árbol BSP. En cada uno de los ocho pasos (i.-viii), se aplica el método anterior a la lista de líneas y se agrega un nuevo nodo al árbol.
Dado que las líneas o polígonos que cruzan el plano de partición deben dividirse en dos, el número final de polígonos o líneas de un árbol suele ser mayor (y a veces considerablemente mayor) que la lista inicial. Es preferible limitar este crecimiento preservando un equilibrio justo en el árbol final. La decisión de qué polígono o línea utilizar como plano de partición (en el paso 1 del método) es crucial para la creación efectiva de un árbol BSP.
Un árbol BSP se atraviesa en tiempo lineal, en un orden dado por la función específica del árbol. Para crear correctamente el polígono P, utilizando el ejemplo de la representación de polígonos de doble cara utilizando la técnica del pintor, se deben dibujar primero todos los polígonos detrás del plano en el que se encuentra P, seguidos del polígono P y, por último, los polígonos delante de P. Si todos los polígonos de una escena se adhieren a este orden de dibujo, la escena se renderizará en el orden correcto. Con el siguiente algoritmo, este procedimiento se puede implementar atravesando iterativamente un árbol BSP. Desde un punto de vista V dado, represente un árbol BSP, si el nodo actual es un nodo hoja, dibuje los polígonos del nodo actual.
Si el sitio de visualización V está delante del nodo actual, el algoritmo continúa:
Represente el árbol BSP secundario que contiene polígonos detrás del nodo actual.
Renderizar polígonos ubicados en el nodo actual
Represente el árbol BSP secundario que contiene polígonos delante del nodo actual.
Si la ubicación de visualización V se encuentra detrás del nodo actual:
Represente el árbol BSP secundario que contiene polígonos delante del nodo actual.
Renderizar polígonos ubicados en el nodo actual
Represente el árbol BSP secundario que contiene polígonos detrás del nodo actual.
La posición de visualización V debe estar exactamente en el plano conectado con el nodo actual si este no es el caso. Entonces:
Represente el árbol BSP secundario que contiene polígonos delante del nodo actual.
Represente el árbol BSP secundario que contiene polígonos detrás del nodo actual.
Las siguientes etapas provienen de la aplicación iterativa de esta técnica al árbol BSP producido anteriormente:
El procedimiento se aplica inicialmente al nodo raíz del árbol, A. V está delante de A, por lo tanto, el procedimiento se aplica inicialmente al árbol BSP secundario