differencedifferenceDifferenceDifference (Operator)
Name
differencedifferenceDifferenceDifference
— Berechnen der Differenz von Mengen von Regionen.
Signatur
Beschreibung
differencedifferenceDifferenceDifferenceDifference
berechnet die flächenmäßige Differenz von
Regionen:
(Regionen aus Region) - (Regionen aus Sub)
Eine Ergebnisregion berechnet sich aus der Eingaberegion
(RegionRegionRegionRegionregion
) minus aller Punkte der Regionen aus
SubSubSubSubsub
. Intern werden alle Regionen aus SubSubSubSubsub
zunächst vereinigt, bevor die Differenz jeder einzelnen
Region aus RegionRegionRegionRegionregion
mit der vereinigten Region
berechnet wird.
Achtung
Leere Eingaberegionen sind bei beiden Parametern zulässig. Es ist
zu beachten, dass leere Regionen enstehen können. Hierbei ist der
Wert von 'store_empty_region'"store_empty_region""store_empty_region""store_empty_region""store_empty_region" zu beachten.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Parameter
RegionRegionRegionRegionregion
(input_object) region(-array) →
objectHRegionHRegionHobject
Zu bearbeitende Region(en).
SubSubSubSubsub
(input_object) region(-array) →
objectHRegionHRegionHobject
Diese Region(en) (ihre Vereinigung) werden von
Region abgezogen.
RegionDifferenceRegionDifferenceRegionDifferenceRegionDifferenceregionDifference
(output_object) region(-array) →
objectHRegionHRegionHobject *
Ergebnis der Differenz.
Beispiel (HDevelop)
* provides the region X without the points in Y
difference(X,Y,RegionDifference)
Beispiel (C)
/* provides the region X without the points in Y */
difference(X,Y,&RegionDifference);
Beispiel (HDevelop)
* provides the region X without the points in Y
difference(X,Y,RegionDifference)
Beispiel (HDevelop)
* provides the region X without the points in Y
difference(X,Y,RegionDifference)
Beispiel (HDevelop)
* provides the region X without the points in Y
difference(X,Y,RegionDifference)
Komplexität
Sei N die Anzahl der Region und F_1 deren mittlere Fläche und
F_2 die Gesamtfläche aller Regionen aus SubSubSubSubsub
, dann ist
die Laufzeitkomplexität:
O(F_1 * log(F_1) + N * (sqrt(F_1) + sqrt(F_2))).
Ergebnis
differencedifferenceDifferenceDifferenceDifference
liefert normalerweise den Wert 2 (H_MSG_TRUE). Das
Verhalten bei leerer Eingabe (keine Eingaberegionen vorhanden)
lässt sich mittels
set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)
,
das bei leerer Region mit
set_system('empty_region_result',<Result>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)
festlegen.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
Vorgänger
thresholdthresholdThresholdThresholdThreshold
,
connectionconnectionConnectionConnectionConnection
,
regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowing
,
pouringpouringPouringPouringPouring
,
class_ndim_normclass_ndim_normClassNdimNormClassNdimNormClassNdimNorm
Nachfolger
select_shapeselect_shapeSelectShapeSelectShapeSelectShape
,
disp_regiondisp_regionDispRegionDispRegionDispRegion
Siehe auch
intersectionintersectionIntersectionIntersectionIntersection
,
union1union1Union1Union1Union1
,
union2union2Union2Union2Union2
,
complementcomplementComplementComplementComplement
,
symm_differencesymm_differenceSymmDifferenceSymmDifferenceSymmDifference
Modul
Foundation