連続性のあるベジェ曲線の描画
ポリラインの辺の中点で分割したガイドカーブを使うと、つなぎ目の前後の制御点が一直線に並んで接線が揃うので、複数のベジェ曲線を滑らかにつなげられる。2次・3次を VEX で描くコード
とあるデザイナーのテクニカルノート
ポリラインの辺の中点で分割したガイドカーブを使うと、つなぎ目の前後の制御点が一直線に並んで接線が揃うので、複数のベジェ曲線を滑らかにつなげられる。2次・3次を VEX で描くコード
ガイド用に作成したポリラインをベジェ曲線用に分割していく。ループにも対応しています。 2次ベジェ曲線(3点の制御点) 最初と最後以外の直線を分割して、3点ずつカーブをつくり、つないでいく。 3次ベジェ曲線(4点の制御点)
カーブを単純化するアルゴリズムです。 処理の流れ 1:始点と終点をプロット対象とする。2:プロット対象をラインで結び、その間の各点との距離を調べる3:許容距離以上で一番遠いポイントを選び、新たにプロット対象とする4:2~
Polypath SOPとは ポリラインのトポロジーをクリーンアップし、重複したり分離しているカーブを一本に整理する便利なSOPです。 Polypath SOPの中身。trace_edgesが肝の部分で、ここで新しくポリ
ハーフベクトルを計算することで、進行方向に対してカーブが左右のどちら向きに膨らんでいるか(外向きか内向きか)を判定できる。 前後のポイント座標で計算する パラメトリックUVで計算する 前後のポイント座標ではなく、任意の距
点が多角形に含まれているか否かは Winding Number アルゴリズムで判定できる。調べる点から見た多角形の各辺の符号付き角度を合計すると、内側なら360度、外側なら0度になる。VEX での実装
プリミティブのアトリビュートを転写する プリミティブのグループを転写する
計算 直線の式はP1 = P0 + V*t それぞれの成分に分割するとX = P.x + V.x * tY = P.y + V.y * t 円の式はX^2 + Y^2 = R^2 それぞれの成分を円の式に代入してtで整理
2本の直線を最短で結ぶ直線の交点を求めて距離を計算する。 計算 直線ABとCDを最短で結ぶ直線(ベクトル)はどちらの直線とも90度で交差する関係で存在している。つまり、どちらの直線とも内積が0で交わる、と考えて方程式を立
XZ平面を基準としたポリラインに対して、進行ベクトルNとアップベクトルupを設定する。 ループしている場合の始点と終点 始点と終点が重なっている場合 16角形の円をつくる。インデックスは0~16で、0と16が同じ位置にあ