fullseye

cad_surface_to_pixel — CADMAP project op

使い方

3-D 点 (N,3) → 画素 + 可視性(遮蔽・背面・画枠外を区別して返す)。

camera.project_points で投影したうえで、同じ画素へ光線を撃ち直して 手前に別の面が無いかを確かめる。これをやらないと、隠れている点の画素座標を 「そこに見えている」かのように返してしまう。返りは dict:

depth_tol は「自分自身の面に遮られた」と誤判定しないための相対許容で、 遮蔽と判定するのは z_hit < depth * (1 - depth_tol) - depth_tol のとき。 閉じた mesh の裏側にある点は、手前の壁に遮られて occluded = True に なる — これは仕様であって取りこぼしではない。

遮蔽判定は巻き方向に依存する(手前の壁が裏面としてカリングされると、 裏側の点まで visible になる)。そのため cull_backfaces=True では 内向きに巻かれた閉メッシュを検出し、既定では巻きを直して winding_fixed=True を返す。strict=TrueValueErrorcull_backfaces=False では検査そのものをしない (詳細は :func:_orient_for_culling)。

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(table を入力に取れる)

同カテゴリ(project)


Provenance: cadmap.py — CADMAP operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

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