heap_synth_cone — DRIVE granular op

• Datenarten: scalar × scalar → table

• Aufruf: import fullseye as fs; fs.ledger.heap_synth_cone(phi_deg: 'float', radius_px: 'float', pitch: 'float' = 0.001, *, toe_round_px: 'float' = 0.0, apex_blunt_px: 'float' = 0.0, ground_tilt_deg: 'float' = 0.0, margin_px: 'int' = 12, supersample: 'int' = 8, noise: 'float' = 0.0, seed: 'int | None' = None) -> 'dict' (die Implementierung direkt: import granular; granular.heap_synth_cone(phi_deg: 'float', radius_px: 'float', pitch: 'float' = 0.001, *, toe_round_px: 'float' = 0.0, apex_blunt_px: 'float' = 0.0, ground_tilt_deg: 'float' = 0.0, margin_px: 'int' = 12, supersample: 'int' = 8, noise: 'float' = 0.0, seed: 'int | None' = None) -> 'dict'; aus dem Register: opsdrive.get("heap_synth_cone"))

Verwendung

Synthetisiert einen kegelförmigen Haufen mit bekanntem Schüttwinkel (Seitenbild = kantengeglätteter Bedeckungsgrad, Höhenkarte = Höhe in den Zellmittelpunkten).

• radius_px: Radius bis zum Fuß [px] (ohne Abrundung). Höhe H = R tan φ.

• ground_tilt_deg: Neigung der Bezugsebene (Schertyp: z' = z + x tan β). Die Falle, wenn die Bezugsebene (datum) der Höhenkarte geneigt ist (auf unebenem Boden addiert sich der Schüttwinkel —— dasselbe Gate wie im bestehenden PoC poc_stockpile_volume). Sie unterscheidet sich von einem Rollen der Kamera (Rotationstyp) in erster, nicht zweiter Ordnung (bei β = 5 Grad und φ = 30 Grad 1.4 Grad, atan(tan φ + tan β) gegenüber φ + β) und wird daher getrennt behandelt.

• noise: Amplitude gleichverteilten Rauschens auf dem Bedeckungsgrad (Ersatz für das Zittern der Ränder).

• Rückgabe: side (Bedeckungsgrad (rows, cols)), heightmap [m], ground (Bezugsebene [m], gleiche Form), truth (phi_deg, R_px, H_px, toe_px, V (numerisches Rotationsintegral [m³]), V_cone (geschlossene Form), ground_tilt_deg), pitch. Die Pulverhöhe in Spalte x des Seitenbilds (Spaltensumme des Bedeckungsgrads) ist genau c(x) [px] (subpixelgenau).

Raises ValueError: außerhalb des Bereichs, überlappende Bögen.

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.

• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.

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

• poc_granular_heap_repose — py -3.11 examples/poc_granular_heap_repose.py

Typkompatible Folge-Operatoren (nehmen table als Eingabe)

course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same

Gleiche Kategorie (granular)

heap_volume_cone · heap_mass · heap_volume_heightmap · beverloo_rate · beverloo_fit · discharge_synth · dispense_mass_from_video · hopper_discharge_rate


*Provenance: granular.py — DRIVE 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.