sdf_smooth_union — 3D sdf_csg op

• Datenarten: sdf × sdf → sdf

• Aufruf: import fullseye as fs; fs.ledger.sdf_smooth_union(a, b, k) (die Implementierung direkt: import sdf_ops; sdf_ops.sdf_smooth_union(a, b, k); aus dem Register: ops3d.get("sdf_smooth_union"))

Verwendung

Eine glatt verrundete Vereinigung (polynomiales Smooth-Min). k>0 rundet die Naht mit einem Radius von etwa k.

Inigo Quilez' quadratisches Polynom-smin:

h = clip(0.5 + 0.5*(b-a)/k, 0, 1), smin = mix(b,a,h) - k*h*(1-h).

Eigenschaften: (1) symmetrisch smin(a,b)=smin(b,a), (2) smin <= min(a,b) (Delle an der Naht),

(3) stimmt für k→0 mit min(a,b) überein (= hartes sdf_union), (4) homogen vom Grad 1

smin(s*a,s*b,s*k)=s*smin(a,b,k) (skalenkonsistent).

k ist der Rundungsradius in Distanzeinheiten. Für ein hartes min sdf_union verwenden. Bei Eingaben mit ±inf (Interoperabilität mit dem Vertrag "+inf, wenn alles frei ist" von esdf) entartet das Mischband |a-b|<k, daher wird exakt min(a,b) zurückgegeben. Raises ValueError for k<=0 (fail-closed, um Division durch 0 zu vermeiden).

Referenzen (Beispieldaten, Literatur)

• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).

• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• render_beauty — py -3.11 examples_3d/render_beauty.py

Typkompatible Folge-Operatoren (nehmen sdf als Eingabe)

sdf_to_occupancy · fuse_to_voxel · integrate · extract_surface_points · query_distance · sdf_union · sdf_intersect · sdf_subtract

Gleiche Kategorie (sdf_csg)

grid_coords · sphere_sdf · box_sdf · plane_sdf · cylinder_sdf · torus_sdf · capsule_sdf · sdf_union


*Provenance: sdf_ops.py — 3D Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.