Zum Hauptinhalt springen

Documentation Index

Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt

Use this file to discover all available pages before exploring further.

Ein Fuzzy-Rectangle ist eine Struktur, die eine Klasse von Rectangles beschreibt, deren Begrenzungen innerhalb bestimmter zulässiger Bereiche liegen. Ein Fuzzy-Rectangle besteht aus zwei Rectangles – einem äußeren und einem inneren. In der FlexiLayout-Sprache werden Fuzzy-Rectangle durch den Typ FuzzyRect dargestellt. Wie in der Abbildung unten zu sehen ist, gibt es im allgemeinen Fall, wenn für alle Begrenzungen Einschränkungen festgelegt sind, einen Teil des Suchbereichs, der in jede Hypothese für das Element fallen muss. Genau dieser Teil bildet das innere Rectangle. Das maximal große umschreibende Rectangle der möglichen Hypothese bildet das äußere Rectangle. Rectangle-Diagramm mit inneren und äußeren Rectangles Seien die Begrenzungen des Elements:
LeftBound: [L1, L2], where L1 <= L2
TopBound: [T1, T2], where T1 <= T2
RightBound: [R1, R2], where R1 <= R2
BottomBound: [B1, B2], where B1 <= B2
Dann wird das Fuzzy-Rectangle, das die Informationen über die angegebenen Grenzen enthält, wie folgt gebildet: InternalRect: [L2, T2, R1, B1], ExternalRect: [L1, T1, R2, B2]. Wenn der Benutzer keine Einschränkungen für die Grenzen des Suchbereichs festlegt, degeneriert das innere Rectangle und ist geometrisch bedeutungslos. In diesem Fall gilt: L1=R1, L2=R2, T1=B1, T2=B2. Angenommen, es wurden keine Einschränkungen für den Suchbereich festgelegt. Dann wird, wenn die maximal und minimal zulässige Anzahl von Seiten 1 ist, das Fuzzy-Rectangle des Suchbereichs wie folgt erstellt:
LeftBound: [PageRect.Left, PageRect.Right]
TopBound: [PageRect.Top, PageRect.Bottom]
RightBound: [PageRect.Left, PageRect.Right]
BottomBound: [PageRect.Top, PageRect.Bottom]
InternalRect: [PageRect.Right, PageRect.Bottom, PageRect.Left, PageRect.Top]
ExternalRect: [PageRect.Left, PageRect.Top, PageRect.Right, PageRect.Bottom]
und bei einem mehrseitigen Dokument:
LeftBound: [-INF, INF]
TopBound: [-INF, INF]
RightBound: [-INF, INF]
BottomBound: [-INF, INF]
InternalRect: [INF, INF, -INF, -INF]
ExternalRect: [-INF, -INF, INF, INF]
Wie aus den obigen Ausdrücken ersichtlich ist, deckt sich das äußere Rectangle mit dem Rectangle der gesamten Seite, während das innere Rectangle degeneriert und eine negative Höhe und Breite aufweist.

Operationen mit Fuzzy-Rectangles

Fuzzy-Rectangles können vereinigt und geschnitten werden. Wenn zwei Fuzzy-Rectangles geschnitten werden, schneiden sich die entsprechenden Begrenzungen: die rechte Begrenzung eines Rectangles mit der rechten des anderen, die linke mit der linken usw. Dadurch entstehen neue Bereiche für die Begrenzungen:
LeftBound: [L1', L2']
TopBound: [T1', T2']
RightBound: [R1', R2']
BottomBound: [B1', B2']
Das resultierende unscharfe Rectangle wird unter Verwendung der resultierenden Intervalle erstellt: InternalRect: [L2’, T2’, R1’, B1’], ExternalRect: [L1’, T1’, R2’, B2’]. Wenn infolge der Schnittmenge mindestens eine der Bedingungen für die Erstellung des unscharfen Rectangle (L1 <= L2, T1 <= T2, R1 <= R2, B1 <= B2) nicht erfüllt ist, wird das resultierende unscharfe Rectangle auf null gesetzt: InternalRect: [0, 0, 0, 0], ExternalRect: [0, 0, 0, 0]. In der Regel entsteht ein leeres unscharfes Rectangle durch widersprüchliche Bedingungen, z. B. wenn Sie versuchen, zwei unscharfe Rectangles zu schneiden, deren äußere Grenzen sich nicht überschneiden. Unscharfe Rectangles werden auf die gleiche Weise vereinigt: Zuerst werden die Bereiche jeder Grenze zusammengeführt. Durch das Zusammenführen der beiden Bereiche entsteht ein minimaler Bereich, der beide angegebenen Bereiche enthält. Nachdem die Grenzen zusammengeführt wurden, wird ein neues unscharfes Rectangle gebildet. In der Praxis stoßen Sie am häufigsten auf unscharfe Rectangles mit einem degenerierten inneren Rectangle. Nur in seltenen Fällen müssen Sie Beschränkungen für eine bestimmte Grenze festlegen. Der Suchbereich für ein Element wird jedoch stets durch ein unscharfes Rectangle und ein Array von ausgeschlossenen Rectangles dargestellt.