japan op• 데이터 종류: any → any
• 호출: import fullseye as fs; fs.ledger.building_prisms(buildings: 'Iterable[dict[str, Any]]', *, color_fn: 'Callable[[dict[str, Any]], Sequence[float]] | None' = None, base_z: 'float | None' = 0.0, roof_shade: 'float' = 0.92) -> 'tuple[np.ndarray, np.ndarray, np.ndarray, np.ndarray]'(구현을 직접 호출하려면 import driveplateau; driveplateau.building_prisms(buildings: 'Iterable[dict[str, Any]]', *, color_fn: 'Callable[[dict[str, Any]], Sequence[float]] | None' = None, base_z: 'float | None' = 0.0, roof_shade: 'float' = 0.92) -> 'tuple[np.ndarray, np.ndarray, np.ndarray, np.ndarray]', 원장에서 가져오려면 opsdrive.get("building_prisms"))
건물의 발자국(footprint)을 높이까지 압출해 하나의 삼각형 메시로 합친다.
Args:
buildings: plateau_parse 의 buildings(footprint, height, ground_z).
color_fn: building -> (r,g,b) 0..1. None 이면 _default_building_color.
base_z: 모든 건물의 바닥 z [m]. None 이면 각 건물의 ground_z 를 사용한다(기복이 있는 세계용).
자체의 평평한 도로 세계에는 0.0 이 맞다.
roof_shade: 지붕면 색의 배율(측면과 구별하기 위한 절제된 음영).
Returns:
(V (n,3) float64, F (m,3) int64, colors (m,3) float64 0..1, ids (m,) int64). ids[f] 는 면 f 가 속하는 건물의 번호(입력 열의 첨자). 건물이 0 건이면 각 배열은 빈다.
Raises:
ValueError: color_fn 의 반환값이 RGB 3 요소 0..1 이 아님, 건물의 footprint/height 가 부정.
빈 입력(buildings 이(가) 0 건)은 빈 결과를 반환한다(이유: 건물이 0 건인 타일은 실데이터에 흔히 있다. 빈 각기둥 집합이 올바른 답이다).
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.
• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.
• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.
• gallery_drive_city_terrain — py -3.11 examples/gallery_drive_city_terrain.py
any 를 입력으로 받는 것)course_crank · course_s_curve · course_turnaround · course_slope · course_intersection · course_parallel_parking · course_crossing · course_road
japan)osm_synthetic · osm_parse · osm_road_graph · osm_road_mask · osm_road_loops · osm_route · japan_world · japan_stats
*Provenance: driveplateau.py — DRIVE 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.