mesh_process opmesh → signalimport fullseye as fs; fs.ledger.face_areas(mesh) -> 'np.ndarray' (実装を直接呼ぶなら import mesh_props; mesh_props.face_areas(mesh) -> 'np.ndarray'、台帳から引くなら ops3d.get("face_areas"))三角形メッシュの面ごとの面積 → (M,)。
面積 = 0.5·|cross(v1−v0, v2−v0)| を面ごとに返す(mesh_area はこの総和)。
面積は重みとして使うためにある —— 「下を向いた面の面積」「公差外の面積」
「曲率の面積加重平均」はすべて面ごとの面積が要る量で、総和からは作れない。
Args:
mesh: (vertices (N,3), faces (M,3)) のタプル。
Returns:
(M,) の float64(非負)。順序は faces の順で、face_normals と同じ
並びなので areas[normals[:, 2] < 0].sum() のように直接組み合わせられる。
Raises:
ValueError: mesh が (vertices, faces) の 2 要素でない、形状不正、
非有限座標、非整数・範囲外の index、空のとき。
注意: mesh_area と同じく、退化三角形(面積 0)は拒否せず 0 を返す
(face_normals は法線が定義できないので拒否する —— 同じメッシュでも
こちらは通る)。重複面・表裏 2 枚張りはそれぞれ 1 面として数える。
単位は座標の単位の 2 乗。
py -3.11 examples_3d/mesh_props.pysignal を入力に取れる)mesh_process)laplacian_smooth · taubin_smooth · decimate_qem · face_normals · vertex_normals · mesh_area · vertex_curvature · mesh_volume
Provenance: mesh_props.py — 3D operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.