En la visualización científica, el decisor asintótico es un algoritmo desarrollado por Nielson y Hamann en 1991 que crea isosuperficies a partir de un campo escalar determinado. Se propuso como una mejora del algoritmo de cubos en marcha , que puede producir una topología "mala", [1] pero también puede considerarse un algoritmo por derecho propio. [2]
El algoritmo divide primero el campo escalar en cubos uniformes. Dibuja contornos topológicamente correctos en los lados (interfaz) de los cubos. Estos contornos pueden luego conectarse a polígonos y triangularse . Los triángulos de todos los cubos forman las isosuperficies y, por lo tanto, son el resultado del algoritmo. [1] A veces hay más de una forma de conectar construcciones adyacentes. Este algoritmo describe un método para resolver estas configuraciones ambiguas de manera consistente. [3]
Los casos ambiguos ocurren a menudo si se encuentran puntos diagonalmente opuestos en el mismo lado de la isolínea, pero en un lado diferente a los otros puntos en el cuadrado (para sistemas 2D) o cubo (para sistemas 3D). [3] En un caso 2D esto significa que hay dos posibilidades. Si suponemos que marcamos las esquinas como positivas si su valor es mayor que el de la isolínea, o negativas si es menor, entonces o bien las esquinas positivas están separadas por dos isolíneas, o bien las esquinas positivas están en la sección principal del cuadrado y las esquinas negativas están separadas por dos isolíneas. La situación correcta depende del valor en la asíntota de las isolíneas. Las isolíneas son hipérbolas que pueden describirse utilizando la siguiente fórmula:
donde es la distancia normalizada en el cuadrado desde el lado izquierdo, y es la distancia normalizada en el cuadrado desde la parte inferior. Los valores y son por lo tanto las coordenadas de las asíntotas, y es el valor en la posición . Este punto debería pertenecer a la sección que contiene dos esquinas. Por lo tanto, si es mayor que el valor de la isolínea las esquinas positivas están en la sección principal del cuadrado y las esquinas negativas están separadas por dos isolíneas, y si es menor que el valor de la isolínea las esquinas negativas están en la sección principal del cuadrado y las esquinas positivas están separadas por dos isolíneas. [4] Una solución similar se utiliza en la versión 3D.