2016-11-07 6 views
0

私は球の近似値を持っていますが、球の頂点を(四角形の)四面体を形成するようにどのようにマッピングすればよいですか?球体を四面体にマッピングする方法は?

私の現在のアプローチでは、球体のすべての頂点を4面体の4つの頂点のうちの1つにマップします。しかし、可能であれば、それらを均等に配置したいと思っています。

私はどんなアプローチや解決策にも感謝します。

+1

興味深い質問しながら、あなたは[computergraphics.se]に、あるいは[math.se]、あまり実用的指向プログラミングされており、より広範なアルゴリズムの指導でより多くのお手伝いをすることができたこの質問でより多くの運を持っているかもしれません。 –

+0

ありがとう、私はそこに私の質問を投稿します。 – noobprogrammer

+0

しかし、質問を複数のサイトにクロスポストしないようにしてください。これは避けてください。単一のサイトを選択してそこに投稿します。または、移行のためにこのフラグを立てます。 –

答えて

1

四面体の内側の球を想像し、四面体を切断するまで球の中心から光線を投影することを想像するのが一つの方法です。

四面体の点の方程式を得るのはちょっと難しいです。頂点が(1,1,1)、(-1、-1,1)、(1、-1、-1)、(-1,1、-1,1)である、 -1)。顔の方程式はx + y + z = 1, x - y - z = 1, - x + y - z = 1, - x - y + z = 1です。

したがって、単位球上の特定の点については、x = sin(theta) cos(phi), y = sin(theta) sin(phi), z = cos(theta)です。 4つの方程式のうちの1つを満たす点(r x、r y、r z)を見つけるだけでよい。たとえば、r x + r y + r z = 1があるとします。 x、y、zを知っていれば、r:r = 1/(x+y+z)を解くのに十分簡単です。

これは簡単な方法ですが、これは簡単にr1 = 1 /(x + y + z)、r2 = 1 /(xyz)、r3 = 1 /( - x + yz)、r4 = 1 /( - x-y + z)である。負の値を破棄し、残りの最小値を取る。

これは、この手法を使用して球を投影したものです。

enter image description here

+0

r1、r2、r3、またはr4が等しいことは可能ですか?どうすればそれに対処できますか? – noobprogrammer

+0

ここに問題はありません。私たちがやりたいことは、光線上の最も近い点を原点に見つけることだけです。光線がエッジを通過する場合、それは同じ距離で2つの平面を横断するので、r1 = r2は言う。頂点を通過する場合、3つの半径が等しくなり、すべてが同じ点になります。 –

関連する問題