fullseye

face_areas — 3D mesh_process op

使い方

三角形メッシュの面ごとの面積(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 乗。

背景知識ガイド(この op の手前にある物理・規約)

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

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

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

fuse_to_voxel

同カテゴリ(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.