spoon_bowl_volume — DRIVE scoop op

• 데이터 종류: scalar × scalar → table

• 호출: import fullseye as fs; fs.ledger.spoon_bowl_volume(a: 'float', h: 'float', *, fill_depth: 'float | None' = None, phi_deg: 'float | None' = None) -> 'dict'(구현을 직접 호출하려면 import scoop; scoop.spoon_bowl_volume(a: 'float', h: 'float', *, fill_depth: 'float | None' = None, phi_deg: 'float | None' = None) -> 'dict', 원장에서 가져오려면 opsdrive.get("spoon_bowl_volume"))

사용법

구관 그릇(테두리 반경 a, 깊이 h)의 닫힌 식 —— 깎아 담기·일부 담기·수북이 담기.

구의 반지름 R = (a² + h²) / (2h), 깎아 평평하게 한 부피 V_struck = π h (3a² + h²) / 6. fill_depth = y 를 주면 바닥에서 y 까지 평평하게 채운 부피 V_fill = π y² (3R − y) / 3(y = h 에서 V_struck 와 일치하는 항등식). phi_deg 를 주면 가장자리를 밑면으로 하는 안식각 φ 의 원뿔(수북이 담은 양의 상한)V_heap = (π/3) a³ tan φ, 높이 a tan φ, V_heaped = V_struck + V_heap, 수북 / 평평의 비.

반환: R, V_struck, V_fill(주었을 때), V_heap / H_heap / V_heaped / heaped_ratio(φ 를 주었을 때). Raises ValueError: a, h 가 ≤ 0, h > a(반구보다 깊은 그릇은 가장자리가 가장 넓은 곳이 아니어서, 측면에서 위쪽만을

보는 scoop_volume_read 의 전제가 무너진다), fill_depth 가 (0, h] 의 밖, φ 가 (0, 90) 의 밖.

참고(샘플 데이터·문헌)

• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.

• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.

• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.

실행 가능한 예제(이 연산자를 실제로 호출하는 검증된 샘플)

• poc_powder_scoop_pour — py -3.11 examples/poc_powder_scoop_pour.py

타입이 이어지는 다음 연산자(table 를 입력으로 받는 것)

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

같은 카테고리(scoop)

scoop_synth_side · revolution_volume_side · two_view_volume · scoop_volume_read · scoop_count · scoop_image_limit · tilt_wedge_retained · tilt_pour_rate


*Provenance: scoop.py — DRIVE 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*

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