ツール UIのパラメータが変更された時のコールバック Viewer StateのHDAでUIのパラメータの値が変更された時に呼び出される関数をつくる。 # ユーザーがStateに入ると呼び出される(エンターキーを押すと入る) def onEnter(self, kwargs): # パラメータ... 2024.12.18 ツール
数学 ベジェ曲線の仕組み ベジェ曲線の特徴・ベジェ曲線は制御点によって定義される・曲線は必ず制御点の内側に描画される制御点の線形補完を繰り返すことで滑らかな曲線を生成します。1次のベジェ曲線P = (1-t)P0 + tP11次のベジェ曲線は一本の直線です。tはパラ... 2024.12.13 数学
数学 角度を0~360°に正規化する オイラー角で忘れがちな計算。随時追加していきます。0~180°の角度を0~360°に正規化するXZ平面にてベクトル同士の成す角度を内積とアークコサインで計算すると、0~180°に収まるが、これを0~360°にしたい場合、外積の符号を使う。ポ... 2024.12.09 数学
Python カメラの注視点をあわせる 環境:Houdini 20.0.751ツール作業では必須のカメラ注視点を特定の座標に移動させる動作をPythonで再現してみます。以下のコードはカメラの注視点を(1.0, 0.5, -1.5)に移動させる例です。カメラと注視点の座標関係はそ... 2024.12.08 Python
Mesh メッシュの四角形化 平面的なメッシュの三角プリミティブを四角形にする。三角形プリミティブの一番長い辺が隣り合っているペアを探し、プリミティブをひとつに作り直している。//// 三角形ポリゴンの長いエッジから隣り合うプリミティブを探す// Run OVer: P... 2024.12.03 Mesh
Mesh ポリライン間をメッシュで埋める 頂点数のそろっていない2本のポリラインの間を縫合するようにメッシュを生成していく手法です。実例をあげるとこのように縁のトポロジーでポイント数が合わない場所に有効です。処理の流れ2本のポリラインを用意して、上下のポイントを左から順につないでい... 2024.11.27 Mesh
Mesh 三角形プリミティブの対角線の向きを変える 三角形ポリゴンのペアを探し、対角線の向きを変える。極端に伸びている三角形を減らし、均一化することができる。For-Loop SOPで何回も繰り返すと、さらに整う。処理の流れWrangleをつなぎ、一番長い辺が隣り合う三角形のペアをつくり、イ... 2024.11.26 Mesh
VEX 文字列を数値変換する 特定の文字列を数値変換する方法について。特定のIDが割り振られたポリラインを色別で視覚化する必要があったので調べました。アスキーコードを使って変換する文字のASCIIコードの値を合計する。string input = "ace57b5e";... 2024.11.17 VEX
Mesh 三角形プリミティブを対角線で分割する 三角形ポリゴンのペアを探し、対角線を入れるように分割します。立体ではなく、平面での分割です。最初のWrangle SOPで三角形の一番長い辺に隣り合うプリティブのインデックス番号を探して記録しておきます。//// 三角形ポリゴンの長いエッジ... 2024.11.08 Mesh
Polyline 重みづけをしたPolylineのリダクション Douglas-Peuckerアルゴリズムに重みをつけてポリラインをリダクションします。事前にf@weightアトリビュートを作っておき、0~1の値を設定しておきます。0に近いほど削除されやすく、1ほど残りやすくなります。node = ho... 2024.10.31 Polyline