• 締切済み

2次元座標上の対称性を排除した点の組合せ

2次元座標上の対称性を排除した点の組合せ 質問です. グリッドの引かれた2次元座標上において,格子上の任意のn点の座標の組合せを求め,プログラムに入力することを検討しています. 現在は全組合せをプログラムに入力しているのですが,空間上に, ・x軸,y軸に関する線対称性 ・原点に関する点対称性 があるので,計算量削減のために,2次元座標上において,これらの対称性を排除した任意のn点の組合せを求めるアルゴリズムを作成したいのですが,何か定石のような考え方はないでしょうか. とりあえず,現在検討しているのが, 1. 2次元座標空間を軸上,第1~4象限と5つのエリアに分ける 2. 軸上にn点を取る場合,軸上に(n-1)点をとり,第1象限から1点をとる場合...と,思いつく全てのパターンについて組合せを考える といったものなのですが,もっとスマートな方法があるはずでは,と思い,質問させて頂きました. 以上,宜しくお願い致します.

みんなの回答

回答No.2

n点の組合せ全部と、それと対称な3つの組合せを求めることができるのなら、以下のアルゴリズムはどうでしょうか。 1.リストを用意し、リストを空にする 2.n点の組合せ全部に対し、以下の処理を行なう 2-1.組み合わせがリストにあれば、無視する 2-2.組み合わせがリストになければ、以下の処理を行なう 2-2-1.当該組み合わせをプログラムに入力する 2-2-2.当該組み合わせと、それと対称な3つの組合せを、リストに入れる これだと、「思いつく全てのパターン」に漏れがないか気にする必要がなくなります。 また、チェックする点が、たとえば左上に固まってしまうのを避けたいなら、こんな方法もあります。 1.リストを用意し、リストを空にする 2.n点の組合せ全部を、リストにいれる 3.リストが空になりまで、以下の処理を繰り返す 3-1.リストに入っている組み合わせをランダムに一つ取り出し、プログラムに入力する 3-2.当該組み合わせと、それと対称な3つの組合せを、リストから除外する

  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.1

対称性を排除を考慮しない場合のプログラムはできているのでしょうか? それができているなら、対象性を排除する方法として、 n点の組合せと、それと対称な3つの組合せを数値化して、n点の組合せの数値が最小でなかったら排除するという方法でどうですか。

関連するQ&A

  • 4次元の座標系の書き方教えてください

    4次元の図形を理解するうえでまず四次元の座標系を図示できるようになりたいのですが、どのように書けばよいのでしょうか? 理論象限数が16あるはずですけど、x,y,zの座標軸が直交した図に対してどのようにもう一本座標軸として線を引いてみても、象限の内部の点についてたとえば(正,負,正正)なら、そのようになる象限がだぶってできてしまったして、整合性が取れた図になりません。

  • 3次元座標での点の回転について

    3次元座標上に複数の点があり、それらを同時にx,y,z軸周りにφ,θ,Ψ度回転させたとき、 各点の移動前と移動後の座標から、この回転角度φ,θ,Ψを求めたいのですが、 どのような計算で求めることができるでしょうか?

  • 距離により次元が変化する関数

    距離により次元が変化する関数はないでしょうか? 例えば、3次元空間上の2点の距離は、 その2点の1つの座標(例えばZ軸の座標)が 同じなら、2次元空間の2点間の距離として 計算できますよね。 つまり、座標の条件によって、3次元 から擬似的に2次元空間の計算に 落とし込むことができているわけですよね。 こういった感じで、座標ではなく、距離に 次元が依存するようなもの、その可能性が あるものはないでしょうか?

  • 3次元空間において、任意の座標(原点除く)から原点を見通した場合の、2

    3次元空間において、任意の座標(原点除く)から原点を見通した場合の、2軸の見かけの角度について質問があります。 例えば、XYZ空間があったとします。X、Y、Z軸はそれぞれ90°で交わっています。 このとき、XY軸の見かけの角度が90°の場合、”XZ平面、もしくはYZ平面上の任意の座標(原点除く)から原点を見ている”ということがいえると思います。 このように、2軸の見かけの角度がわかっている場合、どの平面上の座標から原点を見通しているかがわかると思うのですが、導出方法や具体的な計算方法がわかりません。 射影幾何学等などに詳しい方がいらっしゃいましたら、ご教示お願い致します。

  • 3次元で回転させた座標値の計算方法

    点(Ax、Ay、Az)を3次元空間にある、点(Bx、By、Bz)から、点(Cx、Cy、Cz)に向かう直線を軸に任意の角度で回転させたときの、点(A’x、A’y、A’z)の座標値の計算方法を教えてください。ただし自分の数学レベルは中学生並でベクトルが少しだけ理解できるていどです。よろしくお願いします。

  • エクセルを用いた3次元座標変換

    3次元座標空間において、座標軸を回転移動させて三つの基準座標点のz座標をすべて0にする方法を教えていただけないでしょうか。 例:(x1,y1,z1), (x2,y2,z2), (x3,y3,z3) →(回転移動)→ (x1',y1',0), (x2', y2', 0), (x3', y3', 0)  よろしくお願いします。

  • エクセルを用いた3次元座標変換

    3次元座標空間において、座標軸を回転・平行移動させて3つの座標点のz座標をすべて0にする方法を教えていただけないでしょうか。 例:(x1,y1,z1), (x2,y2,z2), (x3,y3,z3) →(回転・平行移動)→ (x1',y1',0), (x2', y2', 0), (x3', y3', 0)  また、この3つの座標点以外の座標点についても、 これと同じ回転・平行移動を一括して行う方法があれば教えてください。 よろしくお願いします。

  • 3次元座標を原点中心に回転したい

    任意のゼロでないベクトル(a,b,c)を原点中心に回転し、z軸に合致させるとする。同じ回転移動を3次元座標上の任意の点(x,y,z)に対して行った時の移動後座標が知りたいのです。 計算と結果を教えて下さい。

  • 座標を求める計算

    第一象限、第二象限、第三象限、第四象限にそれぞれ、(1)(x1,y1)、(2)(x2,y2)、(3)(x3,y3)、(4)(x4,y4)の4点の座標を結んで四角形を作ります。その四角形の4辺の長さと、(1)と(4)を結んでできる直線とx軸の交点と(2)と(3)を結んでできる直線とx軸の交点とを結んでできる線の長さと、(1)と(2)を結んでできる直線とy軸との交点と(3)と(4)を結んでできる直線とy軸との交点とを結んでできる線の長さがわかっているとき、(1)~(4)の座標を求めたいのですが可能でしょうか?できれば、具体的な計算過程を記していただけるとありがたいです。なお、座標の値は実数です。よろしくお願い致します。

  • n次元球面はn次元位相多様体であることを示せ。

    S^n={x∈R^(n+1)│∥x∥=1} はn次元位相多様体となることを示せ。 S^nはn次元球面 R^(n+1)は(n+1)次元数空間 多様体の勉強をしています。「位相空間Mがハウスドルフ空間であり、なおかつMの任意の点pについて、pを含むm次元座標近傍(U,φ)が存在するとき、Mはm次元位相多様体である」という定義はわかっているのですが、証明ができません。 R^(n+1)がハウスドルフ空間であること、ハウスドルフ空間の部分空間もまたハウスドルフ空間であるという知識は既知として使っていただいてかまいません。(はずかしながら、座標近傍の存在を示すプロセスが思いつかないのです。)