次のような結果を示す記事に基づいて、四角球を作成しようとしています:
キューブを正しく生成できます。
しかし、(上記のリンク先のページから)この式に従ってすべてのポイントを変換すると:
x = x * sqrtf(1.0 - (y*y/2.0) - (z*z/2.0) + (y*y*z*z/3.0));
y = y * sqrtf(1.0 - (z*z/2.0) - (x*x/2.0) + (z*z*x*x/3.0));
z = z * sqrtf(1.0 - (x*x/2.0) - (y*y/2.0) + (x*x*y*y/3.0));
私の球体は次のようになります。
ご覧のとおり、立方体の端はまだ突き出しすぎています。キューブは、の範囲-1
に+1
記事が言うように、すべての軸に。
何が間違っているのでしょうか?
1
実装にも「x = x ...」の問題が含まれていますか、それともここだけですか?
—
snake5
幻想的な視覚補助。それらを含めてくれてありがとう。
—
doppelgreener
タイトルの質問に答えるために、立方体の頂点を正規化して球体にすることができます。ただし、頂点の分布はリンクされた方法とはおそらく異なるでしょう。
—
msell