• Polylineのリダクション(Douglas-Peuckerアルゴリズム)

    カーブを単純化するアルゴリズムです。 処理の流れ 1:始点と終点をプロット対象とする。2:プロット対象をラインで結び、その間の各点との距離を調べる3:許容距離以上で一番遠いポイントを選び、新たにプロット対象とする4:2~

  • Polypath SOPのコード解説

    Polypath SOPとは ポリラインのトポロジーをクリーンアップし、重複したり分離しているカーブを一本に整理する便利なSOPです。 Polypath SOPの中身。trace_edgesが肝の部分で、ここで新しくポリ

  • ハーフベクトルを計算する

    ハーフベクトルを計算することで、進行方向に対してカーブが左右のどちら向きに膨らんでいるか(外向きか内向きか)を判定できる。 前後のポイント座標で計算する パラメトリックUVで計算する 前後のポイント座標ではなく、任意の距

  • 線分と点の距離

    線分ABと点Pの最短距離と交点を求めるには内積を使う。 片方のベクトルが正規化されていた場合、内積の値が投影した長さになることを利用する。Aと点Pを結んだベクトルAPと、ベクトルABを正規化したベクトルabの内積はdにな

  • 表面積の計算

    外積を使うことで三角形の表面積を計算することができる。 Divide SOPですべてのプリミティブを事前に三角形に分割しておく。

  • テクスチャーの転写

    UVのジオメトリの違うメッシュにテクスチャーを転写する方法 Simple Baker SOPを使う。左にローモデル(転写先)、右にハイモデル(転写元)をつなぐ。転写元にはマテリアルを設定しておく。

  • VEXでの文字列操作

    文字が含まれているかチェック find() find関数で文字列に特定の文字が含まれているかチェックしている。なければマイナスの値が返る。 文字を入れ替える re_replace() re_replace関数を使い、ab

  • バウンディングボックス

    Expression D_XMIN: X軸の最小値D_YMIN: Y軸の最小値D_ZMIN: Z軸の最小値D_XMAX: Z軸の最大値D_YMAX: Y軸の最大値D_ZMAX: Z軸の最大値D_XSIZE: X軸のサイズ