building_prisms — DRIVE 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.