
No.3
- 回答日時:
逆三角関数を使うまでもありません.
Y
↑
│ A
│ /
│ /θ
│ B───C
│
└──────→X
A=(Ax, Ay), B=(Bx, By), C=(Cx, Cy),
BA = (BAx, BAy) = ベクトル B→A = A - B,
(つまり (BAx, BAy) = (Ax - Bx, Ay - By)),
BC = (BCx, BCy) = ベクトル B→C = C - B = (Cx - Bx, Cy - By)
とします.
2次元ベクトル BC と BA の外積 (クロス積ともいう) は
次のように定義されます.
BC × BA = BCx * BAy - BAx * BCy
この値は,|BC| * |BA| * sinθ に一致します.
(ただしθは B→C から B→A の方向に回転するとき+とします.)
したがって,BC × BA の符号を見れば,右回りか左回りかがわかります.
(ついでに言うと,|BC × BA| は BC,BA を2つの辺とする平行四辺形の面積です.)
このように外積を使えば,2回の乗算だけですむので,
逆三角関数を使う場合に比べて高速かつ計算誤差が少なくなります.
tan-1 を使う場合のように,分母が0になる場合の処理が不要で,
プログラムも簡単になります.
なお,ベクトルの外積は3次元で使われることが多く,
「外積」で検索してもほとんどが3次元の話だと思います.
3次元ベクトル同士の外積は3次元ベクトルになりますが,
2次元ベクトル同士の外積はスカラーになります.
(3次元外積において,元の2つのベクトルがXY平面内にある場合を考えれば,
外積のX,Y成分は0になるので,Z成分だけを考えればよい.
それが2次元の外積となる.)
No.2
- 回答日時:
>(θ1=(atan(ts1)/2π)*360)
間違えました。
x1-x2が正の時
θ1=(atan(ts1)/π)*180
x1-x2が負の時
θ1=(π-(atan(ts1)/π)*180
です。
No.1
- 回答日時:
右回り、左回りというのは線分ABと線分BCの成す角が180°より小さくなるのは右回り、左回りどちらかということですよね?
VB分からないので方法だけ書きます。(Cしかしらない)
A(x1,y1),B(x2,y2),C(x3,y3)
とするとまず線分AB,BCとx軸との成す角(θ)を求める。(tan(θ)を求める)
ts1=tan(θ1)=(x1-x2)/(y1-y2)
ts2=tan(θ2)=(x1-x2)/(y1-y2)
※ここで分子が0になった場合のエラー処理をすること
(x1-x2が0の場合でy1-y2が正の場合θ1=90°,負の場合はθ1=270°)
※TANを求める関数があるはず
ABとx軸の成す角(θ1):atan(ts1)
BCとx軸の成す角(θ2):atan(ts2)
※この値はラジアンで表されているので角度に直す
(θ1=(atan(ts1)/2π)*360)
※ATAN(アークタンジェント)を求める関数があるはず
線分AB、BCの成す角(θ3)は
θ3=θ2-θ1
後はこの値が正の時左回りで負の時が右回りとなる。
(もちろん±180°の時はどちらでもない)
というか自分で書いていてもっと簡単な方法がある気がする。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 物理学 角速度ベクトルにつきまして 3 2022/08/09 15:44
- 数学 線形代数の2次元直交座標系、極座標系についての問題がわからないです。 2 2022/07/16 20:42
- Excel(エクセル) Excel VBAについてです。 少しだけ知識はあるのですが、 うまくいかなかったので 質問させてい 3 2022/09/13 18:40
- 物理学 ね振り子の角度方向の運動と、コリオリ力。 1 2022/12/03 14:36
- 数学 線形代数の問題について教えて欲しいです。 3 2023/05/06 23:13
- 中学校 中1数学 比例のグラフの座標の読み取り 4 2023/03/28 12:26
- 物理学 コリオリの力 1 2022/08/04 08:53
- Java java 引数 戻り値のあるメソッド 3 2023/02/12 06:23
- 数学 この問題が分かりません! 右図の直線①②の式は、y=-x+4①、 y=3/4x+1② である。2つの 3 2022/05/04 22:29
- 数学 第4問 座標平面上に3点 A(1, 1),B(1, 5), C(7, 3) を頂点とするABCがある 2 2022/10/01 14:53
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
交差する2線分の交点座標の求め方
-
マインクラフト(pc版)で座標...
-
バイキュービック補間のプログラム
-
ワード上Shapeの位置情報を統一...
-
以下のプログラムは重心を求め...
-
シーケンサー(PLC?)で制...
-
凸型の多角形の座標
-
住所から経緯経度を出したい
-
ダイアログ内コントロールの位...
-
球面状に円を描くプログラム
-
回転する矩形同士の当たり判定...
-
ExcelVBA上で特定の座標への画...
-
c言語でキーボードから2点の座...
-
座標の回転方向について
-
スクリーン座標からワールド座...
-
対数表示のグラフを書くには
-
PPTのVBA スライド右下端の座...
-
エクセルで回転する座標の出し方
-
エクセルで作った新しいウイン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
マインクラフト(pc版)で座標...
-
3次元空間上の2つの座標から...
-
ワード上Shapeの位置情報を統一...
-
エクセルで回転する座標の出し方
-
ダイアログ内コントロールの位...
-
シーケンサー(PLC?)で制...
-
閉図形の座標の配列が右回りか...
-
始点、終点の二つの座標と半径...
-
多角形の内部かどうか判定する方法
-
エクセルである点からの距離で...
-
Excel VBA で自在に図形を変化...
-
交差する2線分の交点座標の求め方
-
黒体放射軌跡のxy色度座標への...
-
以下のプログラムは重心を求め...
-
VBで、開いているExcelシートの...
-
ピクチャボックスの座標取得
-
SetWindowOrgとSetViewportOrg...
-
スクリーン座標からワールド座...
-
座標を持った平面範囲に座標を...
おすすめ情報