FuzzyRect.
Rectángulos internos y externos

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
Unión e intersección de rectángulos difusos
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.