Gráficos de trazado de rayos: Explorando la representación fotorrealista en visión por computadora
Por Fouad Sabry
()
Información de este libro electrónico
What is Ray Tracing Graphics
In 3D computer graphics, ray tracing is a technique for modeling light transport for use in a wide variety of rendering algorithms for generating digital images.
How you will benefit
(I) Insights, and validations about the following topics:
Chapter 1: Ray tracing (graphics)
Chapter 2: Rendering (computer graphics)
Chapter 3: Global illumination
Chapter 4: Radiosity (computer graphics)
Chapter 5: Photon mapping
Chapter 6: Ray casting
Chapter 7: Specular reflection
Chapter 8: Geometrical optics
Chapter 9: Graphics pipeline
Chapter 10: Rendering equation
(II) Answering the public top questions about ray tracing graphics.
(III) Real world examples for the usage of ray tracing graphics in many fields.
Who this book is for
Professionals, undergraduate and graduate students, enthusiasts, hobbyists, and those who want to go beyond basic knowledge or information for any kind of Ray Tracing Graphics.
Lee más de Fouad Sabry
Tecnologías Emergentes En Tecnologías De La Información Y Las Comunicaciones [Spanish]
Relacionado con Gráficos de trazado de rayos
Títulos en esta serie (100)
Correcció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 calificacionesMapeo de tonos: Mapeo de tonos: perspectivas iluminadoras en visión por computadora 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 calificacionesHomografía: Homografía: Transformaciones en Visión por Computador 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 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 calificacionesEn Pintura: Cerrar brechas en la 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 calificacionesVisión por computadora submarina: Explorando las profundidades de la visión por computadora debajo de las olas 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 calificacionesRetinax: Revelando los secretos de la visión computacional con Retinex 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 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 calificacionesTensor trifocal: Explorando la profundidad, el movimiento y la estructura en visión por computadora 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 calificacionesEcualización de histograma: Mejora del contraste de la imagen para mejorar la percepción visual 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 calificacionesContorno activo: Avances en la visión por computadora con técnicas de contorno activo Calificación: 0 de 5 estrellas0 calificacionesFiltro adaptativo: Mejora de la visión por computadora mediante filtrado adaptativo Calificación: 0 de 5 estrellas0 calificacionesConsenso de muestra aleatoria: Estimación robusta 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 calificacionesBanco de filtros: Información sobre las técnicas del banco de filtros de Computer Vision 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 calificacionesSistema de gestión de color: Optimización de la percepción visual en entornos digitales Calificación: 0 de 5 estrellas0 calificacionesModelo del sistema visual humano: Comprender la percepción y el procesamiento Calificación: 0 de 5 estrellas0 calificacionesModelo de color: Comprensión del espectro de la visión por computadora: exploración de modelos de color Calificación: 0 de 5 estrellas0 calificacionesMapeo de colores: Explorando la percepción y el análisis visual en visión por computadora Calificación: 0 de 5 estrellas0 calificacionesTransformación de radón: Revelando patrones ocultos en datos visuales Calificación: 0 de 5 estrellas0 calificacionesDetección de manchas: Revelando patrones en datos visuales Calificación: 0 de 5 estrellas0 calificaciones
Libros electrónicos relacionados
Superficie procesal: Explorando la generación y el análisis de texturas 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 calificacionesRepresentación de gráficos por computadora: Explorando el realismo visual: conocimientos sobre gráficos por computadora Calificación: 0 de 5 estrellas0 calificacionesIluminación global: Visión avanzada: conocimientos sobre la iluminación global 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 calificacionesFlujo óptico: Explorando patrones visuales dinámicos en visión por computadora 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 calificacionesGráficos por computadora de radiosidad: Avances en la visualización a través de la radiosidad en 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 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 calificacionesReconstrucción tridimensional multivista: Técnicas avanzadas de percepción espacial en visión por computadora Calificación: 0 de 5 estrellas0 calificacionesDistancia Niebla: Explorando la frontera visual: información sobre la niebla a distancia de la 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 calificacionesRepresentació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 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 calificacionesAlgoritmo de dibujo lineal: Dominar técnicas para la representación de imágenes de precisión 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 calificacionesEditora de gráficos vectoriales: Potenciando la creación visual con algoritmos avanzados 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 calificacionesRed de sensores visuales: Explorando el poder de las redes de sensores visuales en visión por computadora 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 calificacionesSombreadora: Explorando los reinos visuales con Shader: un viaje a la visión por computadora Calificación: 0 de 5 estrellas0 calificacionesGeometría descriptiva: Desbloqueando el ámbito visual: explorando la geometría descriptiva en visión por computadora 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 calificacionesEstimación de movimiento: Avances y aplicaciones en visión por computadora Calificación: 0 de 5 estrellas0 calificacionesSegmentación de imagen: Desbloqueo de información a través de Pixel Precision Calificación: 0 de 5 estrellas0 calificacionesEliminación de líneas ocultas: Revelando lo invisible: secretos de la visión por computadora Calificación: 0 de 5 estrellas0 calificacionesProyección tridimensional: Liberando la profundidad de la visión por computadora Calificación: 0 de 5 estrellas0 calificacionesProcesamiento de imágenes piramidales: Explorando las profundidades del análisis visual Calificación: 0 de 5 estrellas0 calificaciones
Inteligencia (IA) y semántica para usted
Fundamentos de Programación: Diagramas de flujo, Diagramas N-S, Pseudocódigo y Java Calificación: 0 de 5 estrellas0 calificacionesResumen CHAT GPT IA Revolución en 2023: Guía de la Tecnología CHAT GPT y su Impacto Social: Resumen Tecnológico, #1 Calificación: 0 de 5 estrellas0 calificacionesMetodología de la programación Calificación: 0 de 5 estrellas0 calificacionesIntroducción a la ingeniería 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/5ANDROID: Aprende desde cero a crear aplicaciones Calificación: 0 de 5 estrellas0 calificacionesKlara y el Sol Calificación: 5 de 5 estrellas5/5Escritura Creativa en la Era de la IA: Dominando la Colaboración con ChatGPT para Crear Libros Impactantes Calificación: 4 de 5 estrellas4/5Chat GPT-4 para Principiantes: Chat GPT, #1 Calificación: 0 de 5 estrellas0 calificacionesOracle 12c PL/SQL: Curso práctico de formación Calificación: 0 de 5 estrellas0 calificacionesEl mito de la inteligencia artificial: Por qué las máquinas no pueden pensar como nosotros lo hacemos Calificación: 5 de 5 estrellas5/5Historia y evolución de la Inteligencia Artificial Calificación: 3 de 5 estrellas3/5Cómo Ganar Dinero por Internet con Inteligencia Artificial Emprende tu negocio digital con ChatGPT, Escríbelo.ia, Playground AI, You.com, Canva, Midjourney, Dall-E 2, Amazon... Calificación: 0 de 5 estrellas0 calificacionesInteligencia Artificial Calificación: 4 de 5 estrellas4/5¿Cómo piensan las máquinas?: Inteligencia artificial para humanos Calificación: 5 de 5 estrellas5/5Desarrollo y programación en entornos web Calificación: 0 de 5 estrellas0 calificacionesIntroducción a la Ingeniería Industrial Calificación: 0 de 5 estrellas0 calificacionesPython fácil Calificación: 4 de 5 estrellas4/5Cómo usar Chatgpt para tu negocio Calificación: 0 de 5 estrellas0 calificacionesMáquinas como yo Calificación: 4 de 5 estrellas4/5Sobreviviendo a la IA Calificación: 3 de 5 estrellas3/5Aprendizaje automático y profundo en python: Una mirada hacia la inteligencia artificial Calificación: 0 de 5 estrellas0 calificacionesEl imperio de los algoritmos: IA inclusiva, ética y al servicio de la humanidad Calificación: 0 de 5 estrellas0 calificacionesArquitectura de computadoras Calificación: 0 de 5 estrellas0 calificacionesCiencias de la Computación en la escuela: Guía para enseñar mucho más que a programar Calificación: 5 de 5 estrellas5/5Diseño de algoritmos y su programación en C Calificación: 0 de 5 estrellas0 calificacionesInteligencia artificial: Una exploración filosófica sobre el futuro de la mente y la conciencia Calificación: 4 de 5 estrellas4/5
Comentarios para Gráficos de trazado de rayos
0 clasificaciones0 comentarios
Vista previa del libro
Gráficos de trazado de rayos - Fouad Sabry
Capítulo 1: Trazado de rayos (gráficos)
En gráficos por computadora 3D, el trazado de rayos es una técnica para simular el transporte de luz que se puede aplicar a una amplia gama de técnicas de representación para generar imágenes digitales.
Las técnicas de renderizado basadas en el trazado de rayos, como la proyección de rayos, el trazado de rayos recursivo, el trazado de rayos de distribución, el mapeo de fotones y el trazado de rutas, suelen ser más lentas y precisas que los métodos de renderizado de línea de exploración.
Desde 2019, la aceleración de hardware para el trazado de rayos en tiempo real se ha convertido en estándar en las nuevas tarjetas gráficas comerciales, y las API de gráficos han seguido su ejemplo, lo que permite a los desarrolladores utilizar el trazado de rayos híbrido y el renderizado basado en rasterización en juegos y otras aplicaciones en tiempo real con un impacto menor en los tiempos de renderizado de fotogramas.
El trazado de rayos es capaz de replicar una serie de fenómenos ópticos. De hecho, el trazado de rayos puede imitar cualquier fenómeno físico de onda o partícula con un movimiento aproximadamente lineal.
Los enfoques de representación basados en el trazado de rayos que muestrean la luz sobre un dominio provocan artefactos de ruido de imagen que se pueden mitigar mediante el trazado de un número muy elevado de rayos o mediante el empleo de algoritmos de eliminación de ruido.
La idea del trazado de rayos viene ya en el siglo XVI cuando fue descrito por Alberto Durero, a quien se le atribuye su desarrollo.
Durero describió múltiples técnicas para proyectar escenas 3D en un plano de imagen.
Algunos de estos proyectan cierta geometría en la ubicación de la imagen, como se hace actualmente con la rasterización.
Otros definen la geometría visual a lo largo de un haz en particular, de manera similar al trazado de rayos.
Appel utilizó el trazado de rayos para determinar la visibilidad principal (determinando la superficie más cercana a la cámara en cada punto de la imagen), luego trazó los rayos secundarios desde cada punto oscurecido hasta la fuente de luz para evaluar si el punto estaba en la sombra o no.
Más tarde, en 1971, Goldstein and Nagel de MAGI (Mathematical Applications Group, Inc.)
En 1976 se produjo otro de los primeros casos de fundición de rayos, Scott Roth hizo una animación de libro animado en la clase de gráficos por ordenador de Bob Sproull en Caltech.
Las páginas escaneadas se muestran a la derecha como un vídeo.
El software informático de Roth registraba un punto de borde en una ubicación de píxeles si el rayo se cruzaba con un plano delimitador diferente al de sus vecinos.
Por supuesto, un rayo puede cruzar numerosos planos en el espacio, sin embargo, solo el punto de superficie más cercano a la cámara era visible.
Los bordes son irregulares porque las capacidades computacionales del DEC PDP-10 de tiempo compartido solo permitían una resolución aproximada.
El terminal
era una pantalla de tubo de almacenamiento de Tektronix para texto y gráficos.
Unida a la pantalla había una impresora que imprimía una imagen de la pantalla en papel térmico en un rollo.
Roth amplió la estructura, presentó la proyección de rayos en el contexto de los gráficos por computadora y el modelado de sólidos, y más tarde publicó su trabajo mientras trabajaba en GM Research Labs.
1979, mientras trabajaba como ingeniero en Bell Labs.
La técnica de trazado de rayos profundamente recursiva de Whitted reformuló el renderizado en función del transporte de luz en lugar de la determinación de la visibilidad de la superficie.
Su publicación estimuló una sucesión de investigaciones futuras, incluido el trazado de rayos distribuido y el trazado de rutas imparciales, Proporciona el marco de ecuaciones de representación que ha permitido que los gráficos generados por computadora sean realistas.
Hace décadas, la iluminación adicional se utilizaba para simular la iluminación global en películas utilizando imágenes generadas por computadora. Eventualmente, el renderizado basado en el trazado de rayos modificó esto al permitir el transporte de luz basado en la física. Monster House (2006) y Cloudy with a Chance of Meatballs (2009) son ejemplos de los primeros largometrajes totalmente renderizados utilizando el trazado de rutas (2009), El trazado óptico de rayos es una técnica para generar imágenes más fotorrealistas en entornos de gráficos por computadora en 3D que la proyección de rayos o el renderizado de líneas de escaneo. Funciona siguiendo una ruta desde un ojo ficticio a través de cada píxel en una pantalla virtual y calculando el color de la cosa que se ve a través de ella.
Las escenas en el trazado de rayos son descritas matemáticamente por un programador o un artista (normalmente utilizando herramientas intermediarias). Las escenas también pueden incluir datos de fotos y modelos recopilados, como fotografía digital.
Normalmente, se debe verificar la intersección de cada rayo con un subconjunto de los objetos de la escena. Una vez que se ha descubierto el elemento más cercano, el algoritmo estimará la luz entrante en el punto de intersección, verificará las cualidades del material del objeto e integrará esta información para determinar el color final del píxel. Ciertos algoritmos de iluminación y materiales reflectantes o translúcidos pueden necesitar la reconversión de rayos adicionales en la escena.
Enviar rayos lejos de la cámara, en lugar de dentro de ella (como lo hace la luz en la realidad), es muchos órdenes de magnitud más eficiente. Dado que la gran mayoría de los haces de luz de una fuente de luz en particular no llegan a la vista del espectador, una simulación hacia adelante
podría desperdiciar una gran cantidad de cómputo en rutas de luz que nunca se registran.
En consecuencia, el método abreviado de trazado de rayos consiste en suponer que un rayo determinado interseca el marco de vista. El valor del píxel se actualiza cuando el rayo alcanza un número máximo de reflejos o una distancia específica sin intersecar nada.
En base a la información que tenemos (en el cálculo utilizamos la normalización vectorial y el producto cruzado):
{\displaystyle E\in \mathbb {R^{3}} } Posición de los ojos
{\displaystyle T\in \mathbb {R^{3}} } Posición objetivo
{\displaystyle \theta \in [0,\pi ]} campo de visión: para los humanos, podemos asumir {\displaystyle \approx \pi /2{\text{ rad}}=90^{\circ }}
{\displaystyle m,k\in \mathbb {N} } Número de píxeles cuadrados en la dirección vertical y horizontal de la ventana gráfica
{\displaystyle i,j\in \mathbb {N} ,1\leq i\leq k\land 1\leq j\leq m}Número de píxeles reales
{\displaystyle {\vec {v}}\in \mathbb {R^{3}} } vector vertical que indica dónde está arriba y abajo, generalmente {\displaystyle {\vec {v}}=[0,1,0]} (no visible en la imagen) - componente de rollo que determina la rotación de la ventana gráfica alrededor del punto C (donde el eje de rotación es la sección ET)
Viewport schema witch pixels, eye E and target T, viewport center CLa idea es encontrar la posición del centro del píxel de cada ventana gráfica P_{ij} , lo que nos permite encontrar la línea que va desde el ojo E a través de ese píxel y finalmente obtener el rayo descrito por punto E y vector {\displaystyle {\vec {R}}_{ij}=P_{ij}-E} (o su normalización {\displaystyle {\vec {r}}_{ij}} ).
Primero necesitamos encontrar las coordenadas del píxel de la ventana gráfica inferior izquierda {\displaystyle P_{1m}} y encontrar el siguiente píxel haciendo un desplazamiento a lo largo de las direcciones paralelas a la ventana gráfica (vectores {\displaystyle {\vec {b}}_{n}} i {\displaystyle {\vec {v}}_{n}} ) multiplicado por el tamaño del píxel.
A continuación presentamos fórmulas que incluyen d la distancia entre el ojo y la ventana gráfica.
Sin embargo, este valor se reducirá durante la normalización de rayos {\displaystyle {\vec {r}}_{ij}} (por lo que es mejor que lo acepte d=1 y lo elimine de los cálculos).
Cálculos previos: busquemos y normalicemos el vector {\displaystyle {\vec {t}}} y los vectores {\displaystyle {\vec {b}},{\vec {v}}} que son paralelos a la ventana gráfica (todos representados en la imagen de arriba)
{\displaystyle {\vec {t}}=T-E,\qquad {\vec {b}}={\vec {t}}\times {\vec {v}}}{\displaystyle {\vec {t}}_{n}={\frac {\vec {t}}{||{\vec {t}}||}},\qquad {\vec {b}}_{n}={\frac {\vec {b}}{||{\vec {b}}||}},\qquad {\vec {v}}_{n}={\vec {t}}_{n}\times {\vec {b}}_{n}}Tenga en cuenta que el centro de la ventana gráfica {\displaystyle C=E+{\vec {t}}_{n}d} , a continuación, calculamos los tamaños de la ventana gráfica {\displaystyle h_{x},h_{y}} divididos por 2, incluida la relación de aspecto inversa {\displaystyle {\frac {m-1}{k-1}}}
{\displaystyle g_{x}={\frac {h_{x}}{2}}=d\tan {\frac {\theta }{2}},\qquad g_{y}={\frac {h_{y}}{2}}=g_{x}{\frac {m-1}{k-1}}}Y luego calculamos los vectores de desplazamiento del siguiente píxel {\displaystyle q_{x},q_{y}} a lo largo de direcciones paralelas a la ventana gráfica ( {\displaystyle {\vec {b}},{\vec {v}}} ), y el centro del píxel inferior izquierdo {\displaystyle p_{1m}}
{\displaystyle {\vec {q}}_{x}={\frac {2g_{x}}{k-1}}{\vec {b}}_{n},\qquad {\vec {q}}_{y}={\frac {2g_{y}}{m-1}}{\vec {v}}_{n},\qquad {\vec {p}}_{1m}={\vec {t}}_{n}d-g_{x}{\vec {b}}_{n}-g_{y}{\vec {v}}_{n}}Cálculos: nota {\displaystyle P_{ij}=E+{\vec {p}}_{ij}} y rayo {\displaystyle {\vec {R}}_{ij}=P_{ij}-E={\vec {p}}_{ij}} so
{\displaystyle {\vec {p}}_{ij}={\vec {p}}_{1m}+{\vec {q}}_{x}(i-1)+{\vec {q}}_{y}(j-1)}{\displaystyle {\vec {r}}_{ij}={\frac {{\vec {R}}_{ij}}{||{\vec {R}}_{ij}||}}={\frac {{\vec {p}}_{ij}}{||{\vec {p}}_{ij}||}}}Este proyecto de JavaScript evaluó la fórmula anterior (funciona en el navegador).
En la naturaleza, una fuente de luz libera un rayo de luz que finalmente llega a una superficie que bloquea su camino. Este rayo
se puede comparar con una corriente de fotones que fluyen a lo largo de la misma ruta. En un vacío ideal, este rayo será recto (ignorando los efectos relativistas). Este rayo de luz podría sufrir cualquier combinación de absorción, reflexión, refracción y fluorescencia. Una superficie puede absorber una parte del rayo de luz, lo que provoca una reducción en la intensidad de la luz reflejada y/o refractada. Además, puede reflejar todo o una parte del rayo de luz en una o más direcciones. Si la superficie es transparente o translúcida, refracta un componente del haz de luz mientras absorbe