d2_distribution — 3D shape_descriptor op

• Datenarten: points → descriptor

• Aufruf: import fullseye as fs; fs.ledger.d2_distribution(points, bins: 'int' = 64, samples: 'int' = 100000, seed: 'int' = 0) -> 'np.ndarray' (die Implementierung direkt: import descriptors3d; descriptors3d.d2_distribution(points, bins: 'int' = 64, samples: 'int' = 100000, seed: 'int' = 0) -> 'np.ndarray'; aus dem Register: ops3d.get("d2_distribution"))

Verwendung

Die Verteilung der euklidischen Abstände zufälliger Punktpaare (D2 nach Osada 2002).

Zieht aus den N Punkten zufällig samples Paare verschiedener Punkte (i, j) und aggregiert deren Abstände. Die Abstände werden durch den mittleren Abstand geteilt und so normiert, daher ist das Ergebnis invariant gegenüber Rotation, Translation und Skalierung. Gibt ein normiertes Histogramm (bins,) über den festen Bereich [0, _D2_MAX] zurück (Summe 1).

Parameters

points : array_like, shape (N, 3)

Punktwolke. N >= 2 ist erforderlich.

bins : int

Anzahl der Histogramm-Bins.

samples : int

Anzahl der gezogenen Punktpaare. Mehr senkt die Varianz (Stichprobenfehler ~ 1/sqrt(samples)).

seed : int

Zufalls-Seed. Gleicher seed und gleiche Punktwolke liefern deterministisch dasselbe.

Returns

np.ndarray, shape (bins,)

Normiertes Abstandshistogramm.

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)

• shape_desc_pose — py -3.11 examples_3d/shape_desc_pose.py

Typkompatible Folge-Operatoren (nehmen descriptor als Eingabe)

fuse_to_voxel · shape_distance

Gleiche Kategorie (shape_descriptor)

a3_distribution · extent_signature · describe · shape_distance


*Provenance: descriptors3d.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.