• ベストアンサー

閉図形の座標の配列が右回りか左回りか調べる方法

以下のような同じ形状の座標があります。 座標Aは、右回り 座標Bは、左回りになっています。 このような座標配列で、右回りか、左回りかを 判断するよい方法はないでしょうか? よろしくお願いします。 座標A 1: 0,0 2: 7,0 3: 7,3 4: 4,3 5: 4,6 6: 0,6 7: 0,0 座標B 1: 0,0 2: 0,6 3: 4,6 4: 4,3 5: 7,3 6: 7,0 7: 0,0

質問者が選んだベストアンサー

  • ベストアンサー
  • noocyte
  • ベストアンサー率58% (171/291)
回答No.2

#1 です.ちょっと訂正. > ちなみに,|S| は多角形の面積です. 面積は |S| / 2 です.

men_tan
質問者

お礼

noocyteさん いつもアドバイスいただき、ありがとうございます。 教えていただいた公式をプログラムに組み込んで 座標の向きを求めることが出来ました。 ありがとうございました。

その他の回答 (1)

  • noocyte
  • ベストアンサー率58% (171/291)
回答No.1

平面の多角形の頂点を Pi=(Xi, Yi) (i=1,2,…,n) とすると, S = Σ(i=1,n) (Xi * Y(i+1) - X(i+1) * Y(i)) の符号により,右回り,左回りが判定できます. ただし P(n+1)≡P1 と定義します. ちなみに,|S| は多角形の面積です. 多角形の向き,面積,重心(図心),断面N次モーメントの公式 http://www5d.biglobe.ne.jp/~noocyte/Programming/Geometry/Polygon.html#AreaAndDirection

関連するQ&A

  • 座標の回転方向について

    ∠ABCの場合、3つの座標がどちら報告に回転しているのか判断する方法は無いでしょうか? 座標A、座標B、座標Cで右回りか左回りかを判断したいと思っております。 ご教授をお願いいたします。

  • 右回りと左回りとどちらでしょう?

    http://www.comroad.co.jp/os/70552/4953103246782/%E3%82%A8%E3%83%AC%E3%82%B3%E3%83%A0-2.0mHDMI-DVI%E5%A4%89%E6%8F%9B%E3%82%B1%E3%83%BC%E3%83%96%E3%83%AB-CAC-HTD20BK/ のケーブルを買ったのですがDVI側の横二つのクルクル回すねじは、 右回りと左回りとどちらでしょう? パソコンに取り付けてねじを締めたいです。 右見回しても左に回しても空回りです。

  • スキーでの左回りが上手く出来ません。

    スキーの右回り(左足過重でのターン)は上手くできますが、左回り(右足過重でのターン)が上手くできません。(右足への過重が遅れるのか?)克服方法を教えて下さい。

  • C言語 配列で座標

    C言語で二次元の配列a[11][11]を考えたとき、a[1][0]はxy座標の(1,0)を、a[0][5]はxy座標の(0, 5)を表しているという風な考えはあっているのでしょうか? また、C言語で、xy座標で(0.5, 3.1)などの小数を表そうとしたらどうしたら良いのでしょうか?

  • 円の中心座標ってもとめられますか?

    すみません私の頭では無理でしたので、どなたか分かる方いらっしゃいましたら教えてください。 座標上のどこかに円があります。その円周上に等間隔に三点の座標a(x1,y1),b(x2,y2),c(x3,y3)があり、その3つの座標だけが分かるとき、その円の中心座標って求めることはできますか? 座標は円周上に左回りでa⇒b⇒cとあるとします。 出来るだけやさしく解説していただければと思います。 よろしくおねがいします。 ※この書き方で質問したいことってわかるでしょうか?

  • 座標平面上での角度(交角)の捉え方

    (1)座標平面上ではx軸の正方向を基準としてそこから左まわりを正、右まわりを負とすると考えてよろしいでしょうか? (2)座標平面上での角度(交角)を捉えるときに注意するべきことがわかりません。(独学中なので、教えてください) (3)具体的な問題では図の直線APとx軸の正方向のなす角の大きさを求めよ。 ただし、ベクトルAP,AQのなす角を5/6πとする。 (ベクトルのなす角は数B の内積の部分で扱いましたがこれも(1)のように、左まわりを正とするのかと思いましたが0≦θ≦πの範囲で考えるとあるだけでした。どう考えるのでしょうか?) 問題集の答えでは3/2πー5/6π=2/3πとあります。 僕は5/6πーπ/2=π/3として、πーπ/3=2π/3としましたがうえの(1)(2)のことがはっきり分かっていないので、確信が持てませんでした

  • 図形の座標が求められません

    3次元空間で、座標の分かっている4つの点(A,B,C,D)と形の分かっている四角形EFGHがあります。 (EF,FG,GH,HE,EG,FHの長さが分かっている) AE,AH,DE,DH,BF,BG,CF,CGの長さが分かっている時、点E,F,G,Hの座標(それぞれのx,y,z座標)を求めたいんでけど、この場合、解はいくつあるんでしょうか。 また、少なくとも一つの解を求めたいんでけど、その方法はあるでしょうか。 2点間の距離を元に連立方程式を作って解こうと思いましたが、その連立方程式が解けませんでした。 ヒントだけでも、どなたか、よろしくお願いいたします。

  • 座標軸の変換の計算方法

    失礼いたします。 ある点の座標の算出方法がわからず困っています。 ・ある2つのA座標軸とB座標軸(ともに2D)が存在し、お互いの相対距離や軸の相対角度についてはわからない。 ・ある2つの点b,cはA,B座標軸系に対応する座標がそれぞれ解っている。 ・点aはA座標軸系に対応する座標は解っている。 という条件の元、点aのB座標軸系に対応する座標(BXa,BYa)の算出はできるのでしょうか?またその算出方法がわかればご教示ください。 以下に条件についてまとめてみます。     A座標軸系   B座標軸系 点a  (AXa,AYa)    (BXa,BYa) 点b  (AXb,AYb)    (BXb,BYb) 点c  (AXc,AYc)    (BXa,BYc) として(BXa,BYa)以外は既知という条件です。

  • 座標から距離を求める方法

    タイトルのままなのですが、例えば座標点Aから座標点B間の距離を求める方法(公式)みたいなものってありますか?

  • VBAで配列のある部分だけをを配列に入れたい

    VBAを勉強をしております。 例えばA1からG20までをある配列に入れているとします。 その配列のある部分(例えばB1からC20)を、別の配列にいれるにはどうすれば良いのでしょうか。 以下の方法で試してみましたが、上手くいきません。 Dim A() As Variant Dim B() As Variant A = Range("A1:G20") B = Range(Cells(A(1,2),Cells(A(20,3)))

専門家に質問してみよう