2009-06-30 20 views
1

私はhttp://nehe.gamedev.netから2つのチュートリアルを試しています。OpenGLプログラミングを学ぶために、ベジェ曲線に沿って球体を真珠の文字列として表示したいと思います。どのようにしてそのような球体を曲線に沿って配置できますか?私はde Casteljauのアルゴリズムを使って曲線を描画しているので、曲線上のXYZ点を得ることができます。ベジェ曲線に沿った位置球

答えて

1

球がベジエ曲線の全長に対して十分に小さい場合は、真球の弦に似た外観になるように球を均等に配置することができます。 (球が比較的大きい場合、球の重なりについてもっと心配する必要があります。簡単な問題ではなく、おそらくOpenGLの学習にはあまり有益ではありません。)ベジェ曲線のパラメータ値tは、ベジェ曲線のパラメータ値 01

for(int i = 0; i <= 9; ++i) 
{ 
    double t = i/9.0; 
    double x, y; 
    EvalBezier(t, x, y); 
    DrawSphere(x, y, radius); 
} 

EvalBezier(t, x, y)が与えられたtため(x,y)を埋め:10の場所(終了し、8つのインテリアのポイント)で、あなたのベジェ曲線を評価するために、あなたはこのような何かを行うことができます。喜ばしい結果を得るには、radiusを選んでください。 radiusを自動的に選択したい場合は、ポイントiからポイントi-1i+1までの最小距離の半分を概算として使用してください。これを行う場合は、次のポイントまたは前のポイント(いずれかのポイント)を使用して、特別にエンドポイントを処理することを忘れないでください。

関連する問題