gen_region_runs
— Erzeugen einer Region aus einer Lauflängenkodierung.
gen_region_runs( : Region : Row, ColumnBegin, ColumnEnd : )
gen_region_runs
erzeugt eine Region, die über die eingegebene
Sehnenstruktur beschrieben ist. Die Sehnendarstellung entsteht, indem man
eine Region zeilenweise mit aufsteigender Zeilenzahl (= von „oben“ nach
„unten“) untersucht. Jede Zeile wird von links nach rechts durchlaufen
(aufsteigende Spaltenzahl). Dabei werden alle Anfangs- und Endpunkte von
Regionenabschnitten (=Sehnen) gespeichert. Eine Region lässt sich somit
durch eine Folge von Sehnen beschreiben, wobei eine Sehne durch
Zeilennummer, sowie Anfangs- und Endpunkte (Spaltennummer)
definiert ist.
Die Abspeicherung erfolgt am schnellsten, wenn die Sehnen sortiert sind. Die Ordnung lautet:
.
Aus Laufzeitgründen wird nicht überprüft, ob die Restriktion
ColumnEnd
>= ColumnBegin
eingehalten wird. Wird
diese Einschränkung verletzt, so kann dies bei nachfolgenden
Operatoraufrufen zu Fehlern und unerwartetem Verhalten führen.
Region
(output_object) region →
object
Erzeugte Region.
Row
(input_control) chord.y(-array) →
(integer)
Zeilen der Sehnen.
Defaultwert: 100
Wertevorschläge: 0, 50, 100, 200, 300, 500
Typischer Wertebereich:
Row
(lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 10
ColumnBegin
(input_control) chord.x1(-array) →
(integer)
Spalten der Anfangspunkte der Sehnen.
Parameteranzahl: ColumnBegin == Row
Defaultwert: 50
Wertevorschläge: 0, 50, 100, 200, 300, 500
Typischer Wertebereich:
ColumnBegin
(lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 10
ColumnEnd
(input_control) chord.x2(-array) →
(integer)
Spalten der Endpunkte der Sehnen.
Parameteranzahl: ColumnEnd == Row
Defaultwert: 200
Wertevorschläge: 50, 100, 200, 300, 500
Typischer Wertebereich:
ColumnEnd
(lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 10
Restriktion: ColumnEnd >= ColumnBegin
Sei F die Anzahl der Punkte. Falls die Punkte aufsteigend sortiert sind, dann ist die Laufzeitkomplexität: O(F), sonst O(log(F)*F).
gen_region_runs
liefert den Wert 2 (H_MSG_TRUE), falls die Daten korrekt sind,
ansonsten wird eine Fehlerbehandlung durchgeführt.
Das Clipping am aktuellen Bildformat wird durch
set_system('clip_region',<'true'/'false'>)
festgelegt.
Wird eine leere Region erzeugt (durch das Clipping oder eine leere
Eingabe), dann legt
set_system('store_empty_region',<'true'/'false'>)
fest,
ob die Region ausgegeben wird.
gen_region_points
,
gen_region_polygon
,
gen_region_line
,
gen_region_polygon_filled
Foundation