differencedifferenceDifferenceDifferencedifference (Operator)
Name
differencedifferenceDifferenceDifferencedifference — Berechnen der Differenz von Mengen von Regionen.
Signatur
def difference(region: HObject, sub: HObject) -> HObject
Beschreibung
differencedifferenceDifferenceDifferenceDifferencedifference berechnet die flächenmäßige Differenz von
Regionen:
(Regionen aus Region) - (Regionen aus Sub)
Eine Ergebnisregion berechnet sich aus der Eingaberegion
(RegionRegionRegionRegionregionregion) minus aller Punkte der Regionen aus
SubSubSubSubsubsub. Intern werden alle Regionen aus SubSubSubSubsubsub
zunächst vereinigt, bevor die Differenz jeder einzelnen
Region aus RegionRegionRegionRegionregionregion mit der vereinigten Region
berechnet wird.
Achtung
Leere Eingaberegionen sind bei beiden Parametern zulässig. Es ist
zu beachten, dass leere Regionen entstehen können. Hierbei ist der
Wert von 'store_empty_region'"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
RegionRegionRegionRegionregionregion (input_object) region(-array) → objectHRegionHObjectHRegionHobject
Zu bearbeitende Region(en).
SubSubSubSubsubsub (input_object) region(-array) → objectHRegionHObjectHRegionHobject
Diese Region(en) (ihre Vereinigung) werden von
Region abgezogen.
RegionDifferenceRegionDifferenceRegionDifferenceRegionDifferenceregionDifferenceregion_difference (output_object) region(-array) → objectHRegionHObjectHRegionHobject *
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 SubSubSubSubsubsub, dann ist
die Laufzeitkomplexität:
O(F_1 * log(F_1) + N * (sqrt(F_1) + sqrt(F_2))).
Ergebnis
differencedifferenceDifferenceDifferenceDifferencedifference liefert normalerweise den Wert 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>)set_system("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>)set_system("empty_region_result",<Result>) festlegen.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
Vorgänger
thresholdthresholdThresholdThresholdThresholdthreshold,
connectionconnectionConnectionConnectionConnectionconnection,
regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowingregiongrowing,
pouringpouringPouringPouringPouringpouring,
class_ndim_normclass_ndim_normClassNdimNormClassNdimNormClassNdimNormclass_ndim_norm
Nachfolger
select_shapeselect_shapeSelectShapeSelectShapeSelectShapeselect_shape,
disp_regiondisp_regionDispRegionDispRegionDispRegiondisp_region
Siehe auch
intersectionintersectionIntersectionIntersectionIntersectionintersection,
union1union1Union1Union1Union1union1,
union2union2Union2Union2Union2union2,
complementcomplementComplementComplementComplementcomplement,
symm_differencesymm_differenceSymmDifferenceSymmDifferenceSymmDifferencesymm_difference
Modul
Foundation