2017-11-02 3 views
2

私は、最小と最大の2つの点で境界が定められたN次元プリズムを持っているとします。 3次元では、これはプリズムの左下と右上の点です。N次元プリズムのサーフェスを最小点と最大点から簡単に生成する方法はありますか?

プリズムの境界は技術的にはすべてプリズムを定義する必要がありますが、特定の情報を外挿するのは難しいです。

デカルト積を使ってすべての点のリストを得ることができます。

しかし、この開始点からサーフェスのリストを計算するためのエレガントな方法はありますか?例えば

、によって囲まれた三次元立方体(0、0、0)、(1、1、1)これらの表面を有するであろう:

[(0, 0, 0), (0, 1, 0), (0, 1, 1), (0, 0, 1)] 
[(0, 0, 0), (1, 0, 0), (1, 0, 1), (0, 0, 1)] 
[(0, 0, 0), (1, 0, 0), (1, 1, 0), (0, 1, 0)] 
[(1, 1, 1), (1, 0, 1), (1, 0, 0), (1, 1, 0)] 
[(1, 1, 1), (0, 1, 1), (0, 1, 0), (1, 1, 0)] 
[(1, 1, 1), (0, 1, 1), (0, 0, 1), (1, 0, 1)] 

それは私が最終的にこれらを表示しようとすることを言及するクマグラフィカルに表面を描く。したがって、私が扱っている問題の一部は、各サーフェスのポイントが、実際に閉じたサーフェスを定義する順序でなければならないということです。だから、表面:

[(0, 0, 0), (0, 1, 0), (0, 1, 1), (0, 0, 1)] 

は有効ですが、エッジが互いの上に交差(と私は置くことに非常に良い方法を考えることができないので、

[(0, 0, 0), (0, 1, 0), (0, 0, 1), (0, 1, 1)] 

は、正しい順序ではありません適切な順序でポイント)。

私はひどく乱雑ではないプリズムのサーフェスのリストを計算する方法を考えてみませんでした。これに取り組むための正しい方法についてのアドバイスは非常に高く評価されます。

私はこれが奇妙な特定の問題であることを認識しています。しかし、私はそこにいると信じていますこれを解決する良いアプローチであり、私はそれを見つけることができないようです。このような問題を解決するにはどうしたらいいですか?

+0

3Dよりも高い次元を視覚化する予定ですか? 4Dハイパーキューブの側面は、実際には通常の3次元キューブ(8個)です。 1つの8つの頂点の線ストライプで3Dキューブを実際に視覚化することはできません。 –

答えて

0

N次元ハイパーキューブ(これはあなたが生成しているものの実際の名前だと思います)では、有効なエッジは座標の1つだけが変化しているところです。そのため、(0,1,0) - (0,0,1)は機能しませんが、(0,1,0) - (0,1,1)は機能しません。

その部分は確信しています。 超立方体の超曲面を定義することはちょうど腸の感覚です:私はそれが1つの座標を固定し、他のN-1が "周り"になることを伴うと思います。 もっと複雑です(ウィキペディアを参照):https://en.m.wikipedia.org/wiki/Hypercube#Elements

関連する問題