2

Sumanta Guha による Computer Graphics Through OpenGLを使用して、コンピューター グラフィックスを独学しています。エクササイズの一つになると、小さなブロッカーを打ったようです。

n コイルのトロイダル ヘリックスを「ふくらませる」よう読者に要求します。これにより、n 回ループするトロイダルらせんの形で 3D パイプをレンダリングすることを意味します。トロイダルらせん曲線のパラメトリック方程式を考案できましたが、3D パイプのパラメトリック方程式を解くための数学に問題があります。

トロイダルらせん曲線のパラメトリック方程式は次のとおりです。

巻き付けられているトーラスは、内側の半径 (「ドーナツ」の中心にある穴) R と外側の半径 r を持っています。

範囲 [-PI, PI] のパラメーター t を指定すると、

x = (R + r*cos(n*t)) * cos(t)
y = (R + r*cos(n*t)) * sin(t)
z = r*sin(n*t)

明らかに、実際のパイプには別のパラメーターと別の半径が必要です。

この問題を解決する方法についてのアイデアはありますか? 少し頭をぶつけてしまい、できませんでした。

ありがとう!

4

1 に答える 1

1

らせん上の各ポイントp(t)に対して、頂点の円を作成する必要があります。p(t+d)のいくつかの小さな値について、 を見つけることにより、曲線の接線を計算しますd。ベクトルを正規化しp(t)->p(t+d)ます。これは、パイプの頂点が配置される平面の法線です。

p(t)から原点へのベクトルをこの平面に投影します。円の最初の頂点はこの投影上にあり、残りは平面の法線を中心に回転します。これにより、各円に一貫した方向が提供されるため、頂点をつなぎ合わせて三角形にすることができます。

于 2012-12-14T09:05:48.017 に答える