FuzzyRect.
Rectángulos internos y externos
Como muestra la siguiente figura, en el caso general, cuando se establecen restricciones en todos los bordes, hay una parte del área de búsqueda que debe quedar dentro de cualquier hipótesis del elemento. Esta parte constituye el rectángulo interno. El rectángulo circunscrito de tamaño máximo de la hipótesis posible constituye el rectángulo externo.
InternalRect: [L2, T2, R1, B1], ExternalRect: [L1, T1, R2, B2].
Si no se establecen restricciones para los límites del área de búsqueda, el rectángulo interno degenera y deja de tener sentido geométrico. En este caso, L1=R1, L2=R2, T1=B1, T2=B2.
Área de búsqueda sin restricciones en los límites
Supongamos que no se han especificado restricciones para el área de búsqueda. Entonces, si el número máximo y mínimo permitido de páginas es 1, el rectángulo difuso del área de búsqueda se crea de la siguiente manera:Unión e intersección de rectángulos difusos
Los rectángulos difusos pueden unirse e intersectarse. Cuando se intersectan dos rectángulos difusos, también se intersectan sus bordes correspondientes: el borde derecho de un rectángulo con el borde derecho del otro, el izquierdo con el izquierdo, y así sucesivamente. Esto crea nuevos intervalos para los bordes:InternalRect: [L2’, T2’, R1’, B1’], ExternalRect: [L1’, T1’, R2’, B2’].
Si, como resultado de la intersección, no se cumple al menos una de las condiciones para crear el rectángulo difuso (L1 <= L2, T1 <= T2, R1 <= R2, B1 <= B2), el rectángulo difuso resultante se anula: InternalRect: [0, 0, 0, 0], ExternalRect: [0, 0, 0, 0].
Normalmente, un rectángulo difuso vacío se crea como resultado de condiciones contradictorias; por ejemplo, si se intenta intersectar dos rectángulos difusos cuyos bordes externos no se intersectan.
Los rectángulos difusos se unen de la misma manera: primero se unen los intervalos de cada borde. Como resultado de unir ambos intervalos, se crea el intervalo mínimo que contiene los dos intervalos especificados. Después de unir los bordes, se forma un nuevo rectángulo difuso.
En la práctica, lo más habitual es encontrar rectángulos difusos con un rectángulo interno degenerado. Solo en casos poco frecuentes es necesario establecer restricciones sobre un borde concreto. Sin embargo, el área de búsqueda de un elemento siempre se representa mediante un rectángulo difuso y un array de rectángulos excluidos.