4

キュービックベジェ曲線の2つの制御点が両方とも、曲線の2つの端点の間の線上にある場合、結果の曲線は線になります。私の場合の問題は、さまざまなtに対して取得する曲線上の点の実際の間隔が、その線上の制御点の位置によって異なることです。

次のように、p1とp2の間のlerpを使用して2つのコントロールポイントの位置を計算すると、次のようになります。

controlPoint1 = endPoint1.lerp(endPoint2,a);
controlPoint2 = endPoint1.lerp(endPoint2,b);

間隔が実際に等距離になるa、bの構成が1つ必要です。0.25 / 0.75、0.3333 / 0.6666、0.5 / 0.5を試しましたが、どれもうまくいかないようです。

4

1 に答える 1

5

[0、1 / 3、2 / 3、1] = [a、b、c、d]が正解だと思います。

少なくともこれらの値では、再帰的な二等分線

e = a*(1-t)+b*t, f=b*(1-t)+c*t, g=c*(1-t)+d*t,  
h = e*(1-t)+f*t, i=f*(1-t)+g*t,  
j = h*(1-t)+i*t,  

すべての値にj=tを与えます。

于 2012-11-13T18:47:00.007 に答える