Tengo un campo escalar implícito definido en 2D, para cada punto en 2D puedo hacer que calcule un valor escalar exacto, pero es un cálculo algo complejo.
Me gustaría dibujar una línea iso de esa superficie, digamos la línea del valor '0'. La función en sí es continua, pero la iso-línea '0' puede tener múltiples instancias continuas y no se garantiza que todas estén conectadas.
Calcular el valor de cada píxel no es una opción porque tomaría demasiado tiempo, en el orden de unos pocos segundos, y debe ser lo más real posible.Dibujando una línea iso de un campo escalar implícito 2D
Lo que estoy usando actualmente es una división recursiva del espacio que se puede considerar como una especie de árbol cuádruple. Tomo una muestra inicial, muy burda del espacio y si encuentro un cuadrado que contiene una transición de valores positivos a negativos, lo divido recursivamente en 4 cuadrados más pequeños y los compruebo nuevamente, deteniéndome en el nivel de píxel. La transición positivo-negativo se detecta al muestrear un sqaure en sus 4 esquinas. Esto funciona bastante bien, excepto cuando no lo hace. Las líneas iso que se dibujan a veces se cortan porque la detección de transición falla para las transiciones que ocurren en un área pequeña de un borde y que no cruzan una esquina de un cuadrado.
¿Hay una mejor manera de hacer un dibujo iso-line en esta configuración?
El enlace a la tesis está muerto (404). – IAbstract
Enlace redirigido a archive.org –