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 的回傳值不是 0..1 的 RGB 3 元素、建物的 footprint/height 不正確。

空輸入(buildings 為 0 筆)回傳空結果(原因: 實際資料中常有建物為 0 筆的圖塊。空的角柱集合才是正確答案)。

參考(範例資料、文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 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 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

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