Polyline ハーフベクトルを計算する ハーフベクトルを計算することで、進行方向に対してカーブが左右のどちら向きに膨らんでいるか(外向きか内向きか)を判定できる。 前後のポイント座標で計算する // // ハーフベクトルを計算する(外側のベクトル) // Run Over: Pr... 2022.11.03 Polyline
数学 円弧の半径と角度を計算する 矢高(h)と弧長(c)から半径(r)と角度(Θ)を計算する。ピタゴラスの定理で求まる。 半径を求める (r – h)^2 + (c / 2)^2 = r^2 rにまとめると h^2 – 2rh + (c / 2)^2 = 0 2rh = h... 2022.11.02 数学
数学 線分と点の距離 線分ABと点Pの最短距離と交点を求める。 内積を使う。片方のベクトルが正規化されていた場合、内積の値が投影した長さになることを利用する。Aと点Pを結んだベクトルAPと、ベクトルABを正規化したベクトルabの内積はdになる。これによってA+a... 2022.11.02 数学
数学 表面積の計算 外積を使うことで三角形の表面積を計算することができる。 Divide SOPですべてのプリミティブを事前に三角形に分割しておく。 // Run Over: Detail float sum = 0; for(int i = 0; i < n... 2022.09.17 数学
テクスチャー テクスチャーの転写 UVのジオメトリの違うメッシュにテクスチャーを転写する方法 Simple Baker SOPを使う。左にローモデル(転写先)、右にハイモデル(転写元)をつなぐ。転写元にはマテリアルを設定しておく。 2022.07.22 テクスチャー
Polyline 点と多角形の内外判定(Winding-Numberアルゴリズム) Winding Numberアルゴリズムを使う。多角形の各頂点を周回して得られる角度の合計が、もし内側にある場合は360度になり、外側の場合は0度になる。これを利用して判定する。 // // Winding Number Algorithm... 2022.01.29 Polyline
VEX VEXでの文字列操作 文字が含まれているかチェック string name = "abcdefghijk"; int flag = find(name, "cdef"); printf(sprintf('%g', flag) + '\n'); // 2 find... 2021.12.31 VEX
Python フォルダ内のFBXファイルを一括で読み込む GeometryノードにUIをつくる。パスとコードとボタンを配置する。 Multi-Line Stringにチェック。 Callback Scriptにコードを書き込む exec(hou.node(".").parm("code").eva... 2021.08.27 Python
未分類 バウンディングボックス Expression D_XMIN: X軸の最小値D_YMIN: Y軸の最小値D_ZMIN: Z軸の最小値D_XMAX: Z軸の最大値D_YMAX: Y軸の最大値D_ZMAX: Z軸の最大値D_XSIZE: X軸のサイズD_YSIZE: Y... 2021.06.22 未分類
Python FBXの連番書き出し Null SOPなどを使い、ボタンを押すとPythonコードを実行できるようにする。Pythonコードを実行するノードの作成 node = hou.pwd() geo = node.geometry() import hou node = ... 2021.05.28 Python