Skip to main content

Module geom

Module geom 

Source
Expand description

モデル幾何の共通判定。

複数のクレート(荷重集計・通り芯生成・GUI の集計表示)が同じ判定規則を 必要とするものだけを置く。3 次元ベクトルの基本演算(内積・外積・単位化)は vec3 に分ける。

Modules§

polygon
多角形の幾何演算(面積・重心・点と辺の距離・内包判定)。
vec3
3 次元ベクトルの基本演算。

Enums§

MemberAxisClass
部材軸の鉛直成分 |ez| による 3 区分(柱/梁/斜材)。

Constants§

AXIS_COS_TOL
部材軸が座標軸方向へ卓越するとみなす方向余弦の下限(45° 基準)。 鉛直(Z 軸)に適用したものが VERTICAL_COS_TOL である。
LEVEL_TOL_MM
同じレベル(同じ床の高さ)とみなす Z の差の上限 [mm]。
MEMBER_AXIS_TOL_MM
点が部材の材軸上に載っているとみなす、材軸からのずれの上限 [mm]。
MEMBER_BEAM_EZ_MAX
設計検定・パネルゾーンで部材を梁とみなす部材軸の鉛直成分 |ez| の上限。 判定の詳細は MEMBER_COLUMN_EZ_MIN を参照。
MEMBER_COLUMN_EZ_MIN
設計検定・パネルゾーンで部材を柱とみなす部材軸の鉛直成分 |ez| の下限。
ORTHOGONAL_DOT_MAX
2 本の部材が概ね直交すると扱う軸内積(方向余弦の内積)の上限。
VERTICAL_COS_TOL
部材軸を鉛直(柱系)とみなす方向余弦 |ez| の下限(45° 基準)。
VERTICAL_TOL_MM
鉛直材(柱)とみなす両端の水平距離の上限 [mm]。

Functions§

abs_lerp_centroid
abs_lerp_integral と同じ |h(t)| の、区間 [0, 1] での面積重心(始端 = 0)。 面積が 0 なら中点 0.5。
abs_lerp_integral
無次元パラメータ t ∈ [0, 1] で線形に変わる高さ h(t) = lerp(h0, h1, t) の 絶対値を、区間 [t0, t1] で積分する。
axis_dominates
単位方向ベクトル dir が座標軸 axis(0=X, 1=Y, 2=Z)の方向へ卓越するか。 |方向余弦| > AXIS_COS_TOL(その軸から 45° 未満)で判定する。
best_fit_plane_normal
点群に最も当てはまる平面の単位法線を、主成分分析(全最小二乗)で求める。
classify_member_ez
部材軸の鉛直成分 |ez|(絶対値)から MemberAxisClass を返す。
default_local_ref_vector
線材の局所座標系 LocalFrame 用の既定 ref_vector。
default_local_ref_vector_for_pair
節点ペア is_vertical_pair に応じた既定 ref_vector。
element_axis
部材の単位軸ベクトル(始端節点 → 終端節点)。
is_vertical_axis
部材軸(両端座標)が鉛直(柱系)か。部材軸単位ベクトルの z 成分 |ez| > VERTICAL_COS_TOL(水平から 45° 超)で判定する。長さ 0 は偽。
is_vertical_pair
節点ペアが鉛直材(柱)かどうか。両端の水平距離(XY 平面)が VERTICAL_TOL_MM 未満なら鉛直とみなす。