ツール

UIのパラメータが変更された時のコールバック

Viewer StateのHDAでUIのパラメータの値が変更された時に呼び出される関数をつくる。 # ユーザーがStateに入ると呼び出される(エンターキーを押すと入る) def onEnter(self, kwargs): # パラメータ...
数学

ベジェ曲線の仕組み

ベジェ曲線の特徴・ベジェ曲線は制御点によって定義される・曲線は必ず制御点の内側に描画される制御点の線形補完を繰り返すことで滑らかな曲線を生成します。1次のベジェ曲線P = (1-t)P0 + tP11次のベジェ曲線は一本の直線です。tはパラ...
数学

角度を0~360°に正規化する

オイラー角で忘れがちな計算。随時追加していきます。0~180°の角度を0~360°に正規化するXZ平面にてベクトル同士の成す角度を内積とアークコサインで計算すると、0~180°に収まるが、これを0~360°にしたい場合、外積の符号を使う。ポ...
Python

カメラの注視点をあわせる

環境:Houdini 20.0.751ツール作業では必須のカメラ注視点を特定の座標に移動させる動作をPythonで再現してみます。以下のコードはカメラの注視点を(1.0, 0.5, -1.5)に移動させる例です。カメラと注視点の座標関係はそ...
Mesh

メッシュの四角形化

平面的なメッシュの三角プリミティブを四角形にする。三角形プリミティブの一番長い辺が隣り合っているペアを探し、プリミティブをひとつに作り直している。//// 三角形ポリゴンの長いエッジから隣り合うプリミティブを探す// Run OVer: P...
Mesh

ポリライン間をメッシュで埋める

頂点数のそろっていない2本のポリラインの間を縫合するようにメッシュを生成していく手法です。実例をあげるとこのように縁のトポロジーでポイント数が合わない場所に有効です。処理の流れ2本のポリラインを用意して、上下のポイントを左から順につないでい...
Mesh

三角形プリミティブの対角線の向きを変える

三角形ポリゴンのペアを探し、対角線の向きを変える。極端に伸びている三角形を減らし、均一化することができる。For-Loop SOPで何回も繰り返すと、さらに整う。処理の流れWrangleをつなぎ、一番長い辺が隣り合う三角形のペアをつくり、イ...
VEX

文字列を数値変換する

特定の文字列を数値変換する方法について。特定のIDが割り振られたポリラインを色別で視覚化する必要があったので調べました。アスキーコードを使って変換する文字のASCIIコードの値を合計する。string input = "ace57b5e";...
Mesh

三角形プリミティブを対角線で分割する

三角形ポリゴンのペアを探し、対角線を入れるように分割します。立体ではなく、平面での分割です。最初のWrangle SOPで三角形の一番長い辺に隣り合うプリティブのインデックス番号を探して記録しておきます。//// 三角形ポリゴンの長いエッジ...
Polyline

重みづけをしたPolylineのリダクション

Douglas-Peuckerアルゴリズムに重みをつけてポリラインをリダクションします。事前にf@weightアトリビュートを作っておき、0~1の値を設定しておきます。0に近いほど削除されやすく、1ほど残りやすくなります。node = ho...
スポンサーリンク