Polyline

遠心加速度と片勾配

クルマが遠心力でカーブの外側に出ないように適切なバンク角をつける計算。計算カーブのバンク角の計算から\(θ=atan(\frac{a-gμ}{g+aμ})\)が傾斜の角度になる。μ:摩擦係数g:重力加速度(9.8m/s2)R:曲率半径(m)...
Polyline

ベジェ曲線の描画

連続したベジェ曲線ベジェ曲線は始点と終点を必ず通り、他の制御点は通らない特徴がある。ガイドカーブを分割して中間点を始点と終点にすれば、各々のカーブが同じベクトルでつながるので連続したカーブを描くことができる。2次(Quandric)のベジェ...
Polyline

ベジェ曲線のガイドカーブをつくる

ガイド用に作成したポリラインをベジェ曲線用に分割していく。ループにも対応しています。2次ベジェ曲線用(3点のカーブ)最初と最後以外の直線を分割して、3点ずつカーブをつくり、つないでいく。//// ポリラインをベジェ曲線(2次)のガイドライン...
VEX

イージングカーブ

Ease In Out Sin// Sinfloat easeInOutSin(const float x){ return -(cos(PI * x) - 1) / 2;}@P.y = easeInOutSin(@P.x);対象の形にする...
数学

角速度と振り子運動

角速度を使う振り子運動について。外から加わる力を回転角に変換する。角速度角速度v = rωとなる。ω(オメガ)は角度(ラジアン)。半径Rが1の時、角度=円弧の長さになる。重力から角速度を計算すると、v = g*sinΘになる。v = rωな...
Polyline

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

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

Polypath SOPのコード解説

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

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

ハーフベクトルを計算することで、進行方向に対してカーブが左右のどちら向きに膨らんでいるか(外向きか内向きか)を判定できる。前後のポイント座標で計算する//// ハーフベクトルを計算する(外側のベクトル)// Run Over: Primit...
数学

線分と点の距離

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

表面積の計算

外積を使うことで三角形の表面積を計算することができる。Divide SOPですべてのプリミティブを事前に三角形に分割しておく。// Run Over: Detailfloat sum = 0;for(int i = 0; i < nprim...
スポンサーリンク