Función de distancia con signo


En matemáticas y sus aplicaciones, la función de distancia con signo o campo de distancia con signo (SDF) es la distancia ortogonal de un punto dado x al límite de un conjunto Ω en un espacio métrico (como la superficie de una forma geométrica), con el signo determinado por si x está o no en el interior de Ω. La función tiene valores positivos en los puntos x dentro de Ω, disminuye en valor a medida que x se acerca al límite de Ω donde la función de distancia con signo es cero, y toma valores negativos fuera de Ω. Sin embargo, a veces también se toma la convención alternativa (es decir, negativo dentro de Ω y positivo fuera). El concepto también se conoce a veces con el nombre de función/campo de distancia orientada.
Definición
Vamos. Ω ser un subconjunto de un espacio métrico X con métrica d, y sea su límite. La distancia entre un punto x de X y el subconjunto de X se define como de costumbre
Donde denota el infimum.
El función de distancia firmada desde un punto x de X a se define por
Propiedades en el espacio euclidiano
Si Ω es un subconjunto del espacio euclidiano Rn con un límite suave por partes, entonces la función de distancia con signo es diferenciable casi en todas partes, y su gradiente satisface la ecuación eikonal
Si el límite de Ω es Ck para k ≥ 2 (ver Clases de diferenciabilidad), entonces d es Ck en puntos suficientemente cercanos al límite de Ω. En particular, en el límite f satisface
donde N es el campo vectorial normal interno. La función de distancia con signo es, por lo tanto, una extensión diferenciable del campo vectorial normal. En particular, la hessiana de la función de distancia con signo en el límite de Ω da la función de Weingarten.
Si, además, Γ es una región suficientemente cercana al límite de Ω como para que f sea dos veces continuamente diferenciable en ella, entonces existe una fórmula explícita que involucra la función de Weingarten Wx para el jacobiano de variables cambiantes en términos de la función de distancia con signo y el punto límite más cercano. Específicamente, si T(∂Ω, μ) es el conjunto de puntos dentro de la distancia μ del límite de Ω (es decir, el entorno tubular de radio μ), y g es una función absolutamente integrable en Γ, entonces
donde det denota el determinante y dSu indica que estamos tomando la integral de superficie.
Algoritmos
Los algoritmos para calcular la función de distancia con signo incluyen el método de marcha rápida eficiente, el método de barrido rápido y el método de nivelación más general.
Para la representación de vóxeles, un algoritmo rápido para calcular la SDF en la geometría de taxis utiliza tablas de áreas sumadas.
Aplicaciones

Las funciones de distancia con signo se aplican, por ejemplo, en la representación en tiempo real, por ejemplo, en el método de marcha de rayos SDF y en la visión artificial.
SDF se ha utilizado para describir la geometría de objetos en renderizado en tiempo real, generalmente en un contexto de raymarching, a partir de mediados de la década de 2000. En 2007, Valve utilizó SDF para renderizar fuentes suaves de gran tamaño de píxel (o DPI alto) con aceleración de GPU en sus juegos. El método de Valve no es perfecto, ya que se ejecuta en el espacio rasterizado para evitar la complejidad computacional de resolver el problema en el espacio vectorial (continuo). El texto renderizado a menudo pierde esquinas agudas. En 2014, Behdad Esfahbod presentó un método mejorado. GLyphy de Behdad aproxima las curvas de Bézier de la fuente con splines de arco, aceleradas por técnicas de discretización basadas en cuadrícula (que descartan puntos demasiado lejanos) para ejecutarse en tiempo real.
Se introdujo una versión modificada de SDF como función de pérdida para minimizar el error en la interpenetración de píxeles al renderizar varios objetos. En particular, para cualquier píxel que no pertenezca a un objeto, si se encuentra fuera del objeto en la renderización, no se impone ninguna penalización; si se encuentra fuera, se impone un valor positivo proporcional a su distancia dentro del objeto.
En 2020, el motor de juegos FOSS Godot 4.0 recibió iluminación global en tiempo real basada en SDF (SDFGI), que se convirtió en un compromiso entre la GI basada en vóxeles más realista y la GI horneada. Su principal ventaja es que se puede aplicar al espacio infinito, lo que permite a los desarrolladores usarlo para juegos de mundo abierto.
En 2023, se lanzó un marco de interfaz de usuario "GPUI" para dibujar todos los elementos de la interfaz de usuario utilizando la GPU, y muchas partes utilizando SDF. El autor afirma haber producido un editor de código Zed que se renderiza a 120 fps. El trabajo hace uso de la lista de primitivas geométricas de Inigo Quilez en SDF, el desenfoque gaussiano aproximado de Evan Wallace (cofundador de Figma) en SDF y un nuevo SDF de rectángulo redondeado.
Véase también
- Función de distancia
- Método de ajuste de nivel
- Ecuación Eikonal
- Curva paralela (también conocida como curva offset)
- Longitud del arco señalizado
- Zona firmada
- Medida firmada
- Volumen registrado
Notas
- ^ Chan, T.; Zhu, W. (2005). Nivel de la forma basada segmentación previa. IEEE Computer Society Conference on Computer Vision and Pattern Recognition. doi:10.1109/CVPR.2005.212.
- ^ Malladi, R.; Sethian, J.A.; Vemuri, B.C. (1995). "Forma de forma con propagación frontal: un enfoque de nivel establecido". Transacciones IEEE en Análisis de Patrones e Inteligencia de Máquinas. 17 (2): 158-175. CiteSeerX 10.1.1.33.2443. doi:10.1109/34.368173. S2CID 9505101.
- ^ Gilbarg " Trudinger 1983, Lemma 14.16.
- ^ Gilbarg " Trudinger 1983, Equation (14.98).
- ^ Zhao Hongkai. Un método de barrido rápido para ecuaciones eikonales. Matemáticas de computación, 2005, 74. Jg., Nr. 250, S. 603-627.
- ^ Nilsson, Tobias (2019). "Optimization Methods for Direct Volume Rendering on the Client Side Web" (PDF). Digitala Vetenskapliga Arkivet. Retrieved 2022-07-08.
- ^ Tomas Akenine-Möller; Eric Haines; Naty Hoffman (6 de agosto de 2018). Rendering en tiempo real, cuarta edición. CRC Prensa. ISBN 978-1-351-81615-1.
- ^ Perera, S.; Barnes, N.; He, X.; Izadi, S.; Kohli, P.; Glocker, B. (enero de 2015). "Motion Segmentation of Truncated Signed Distance Function Based Volumetric Surfaces". 2015 IEEE Winter Conference on Applications of Computer Vision. pp. 1046–1053. doi:10.1109/WACV.2015.144. ISBN 978-1-4799-6683-7. S2CID 16811314.
- ^ Izadi, Shahram; Kim, David; Hilliges, Otmar; Molyneaux, David; Newcombe, Richard; Kohli, Pushmeet; Shotton, Jamie; Hodges, Steve; Freeman, Dustin (2011). "KinectFusion". Proceedings of the 24th annual ACM symposium on User interface software and technology. UIST '11. New York, NY, USA: ACM. pp. 559–568. doi:10.1145/2047196.2047270. ISBN 9781450307161. S2CID 3345516.
- ^ Green, Chris (2007). "Magnificación mejorada alfa testada para texturas vectoriales y efectos especiales". Cursos de 2007 ACM SIGGRAPH. págs. 9 a 18. CiteSeerX 10.1.1.170.9418. doi:10.1145/1281500.1281665. ISBN 9781450318235. S2CID 7479538.
- ^ Behdad Esfahbod. GLyphy: renderización de glifos de alta calidad utilizando los tonos OpenGL ES2 [linux.conf.au 2014]. YouTube. Archivado desde el original el 2021-12-11. Código fuente
- ^ Jiang, Wen; Kolotouros, Nikos; Pavlakos, Georgios; Zhou, Xiaowei; Daniilidis, Kostas (2020-06-15). "Reconstrucción coherente de múltiples seres humanos desde una imagen única". arXiv:2006.08586 [cs.CV].
- ^ Motor, Godot. "Godot 4.0 obtiene iluminación global basada en SDF en tiempo real". Godot Engine.
- ^ Scandurra, Antonio (7 de marzo de 2023). "Leveraging Rust and the GPU to render user interfaces at 120 FPS - Zed Blog". Zed.
Referencias
- Stanley J. Osher y Ronald P. Fedkiw (2003). Métodos de ajuste de nivel y superficies dinámicas implícitas. Springer. ISBN 9780387227467.
- Gilbarg, D.; Trudinger, N. S. (1983). Ecuaciones diferenciales parciales elípticas de la segunda orden. Grundlehren der mathematischen Wissenschaften. Vol. 224 (2a edición). Springer-Verlag. (o el Apéndice de la primera edición de 1977)