• ベストアンサー

角度を求めたいのですが。

よろしくお願いします。 先日も角度についての質問をさせていただいたのですが、 実際にプログラムしてると問題が出てきましたので、もう一度お助け願います。 VB6にて、角度を求めたいのですが、具体的に言いますと、 CADの座標にて、中心点とその始点、終点が条件として与えられます。 そこから、始点終点の二点間の角度を求めたいのです。その後、 何度のとこが始点で、何度のとこが終点と求めたいのです。 良い方法ありましたら、ご教授願います。 よろしくお願い致します。

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

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

↓これでどうですか? 3点の座標から簡単に回転方向を判別する.(2次元,外積を用いる方法) http://www5d.biglobe.ne.jp/~noocyte/Programming/Geometry/RotationDirection.html → 2つの2次元ベクトルのなす角φを求めたい場合 なお,角度を求めるのに arctan (VB では Atn) 関数はあまり使いやすくありません. (90°付近や 270°付近の角度が求めにくいし,  360°(±180°) ではなく180°(±90°) の範囲しか求まりません.) C言語だと 360°求められる atan2(y, x) という関数が使えますが, VB に同様の関数はなさそうですね (VB は使ってないので知りませんが). ↓ VB で atan2 と同様のことをしているページを見つけました. オーバーフローを直すには? http://hpcgi1.nifty.com/MADIA/VBBBS2/wwwlng.cgi?print+200501/05010014.txt → このページ内を "Atn2" で検索 ・ただし,この関数が正しいかどうかはチェックしていません. ・C言語の atan2 の引数の順序が y,x なのに対し,Atn2 は x, y である点に注意. 始点と終点の角度差を求める方法は最初の URL に書いてあるとおり. 中心点C → 始点P 方向の角度は Atn2(Px - Cx, Py - Cy).終点も同様.

関連するQ&A

  • 弧の角度から座標を求めるには

    何度も質問させていただいて申し訳ないです。 教えてください。 VB6にて、中心点と始点の座標、弧の長さが与えられています。 中心点(488,-680)、始点(510,-682)、弧の長さが478というような 感じです。 弧の回転方向はこの場合は反時計周りです。 このような条件で終点となるX,Y座標を求める場合はどのような計算式 となるのでしょうか? ご教授下さい。

  • 弧の長さから角度を取得するには。

    度々お聞きします<(_ _)> すいません、タイトル間違ってました。 座標を取得ではなく、角度です。 VB6にてCADデータを作成しております。 弧の長さから角度を取得したいのですが、躓いてます。 弧 = (2 * 3.14 * R) * ((終点角度 - 始点角度) / 360) 弧 = 弧 - 指定距離 既存の弧の長さを取得し、そこから指定された長さを引いて、 目的とする長さ(再描画)を得られました。 しかし、ここから、さらに、終点角度を再計算する必要があります。 始点はそのままで終点の角度が変わるはずです。 この場合、終点を求めるにはどのようにすればよいでしょうか? アドバイスよろしくお願いします。

  • 円弧の始点、終点、回り角度から中心点を求める

    円弧の始点座標、終点座標及び回り角度から円弧の中心点座標を求めることは可能でしょうか? よろしくお願いいたします。

  • 円弧の描画について

    円弧の描画について お世話になります。 Visio2007を使用しています。 Visioで円を描画し、その円の情報を基に計算を行い、円弧の作成をしたいと考え ていますが、計算方法が分からずご質問させて頂きました。 以下の【元となる情報】から【求める情報】を計算にて求めます。 【元となる情報】 左上X座標:円の左上X座標 左上Y座標:円の左上Y座標 幅:円の幅 高さ:円の高さ 始点角度:円弧の始点の角度(円の中心から右方向を0度とし       時計回りの角度) 終点角度:円弧の終点の角度(始点角度を0度とし時計回りの角度) (始点角度と終点角度は1度単位で設定をします) 【求める情報】 http://msdn.microsoft.com/ja-jp/library/cc344284.aspx 例えば、 ・始点角度が0度、終点角度が90度の時は円の右下1/4の円弧が作成される ・始点角度が90度、終点角度が180度の時は円の左半分の円弧が作成される 以上の様な円弧を求めるような計算方法をご存知でしたらご教授 お願い致します。

  • 2点の座標と任意の角度から2等辺三角形の頂点を求める方法

    2点 A・Bの3次元座標 (Ax, Ay, Az) (Bx, By, Bz) があり、AB を2等分した点 D と (0,0,0) を通る直線を引きます。AC = BC となり ∠C が任意の角度となるような直線上の点 C の2つの座標を求める方法を知りたいのですが(A と B をそれぞれ始点と終点とする任意の角度の円弧の中心座標 )、なにかヒントをいただけるでしょうか?

  • 連立二次方程式についてですが。

    教えて下さい。 円弧の始点、終点、半径が与えられています。 これを、公式にあてはめて中心点X、Yを求めたいのですが、 プログラムで二次方程式を扱ったことがなく、わかりません(>_<) 中心点を(a,b)とし、始点を(X1,Y1)、終点を(X2,Y2)、半径をRとします。 公式 (Y2-Y1)(b-(Y1+Y2)/2)=(X2-X1)(a-(X1+X2)/2)と、 (X1-a)^2+(Y1-b)^2 =R^2 この二つの公式で中心点が出ると言われたのですが、 プログラム方法が全くわかりません。。。 例として、始点(362.561,346.93)、終点(331.835,385.569)、半径(121.001)です。 この情報から、中心点(X,Y)を求めるにはどのようなプログラムとなるのでしょうか? 数学、プログラムとも初心者なので、具体的なプログラムを教えていただけると幸いです。 よろしくお願いします。VB6を使用しています。

  • 座標を求めたいのですが。

    ご教授下さい<(_ _)> VB6にて。始点、終点と二点の座標が与えられています。 例として、 始点(10,5)終点(5,10)この距離は、 Shahen = Val(SX - EX) ^ 2 + Val(EY - SY) ^ 2 Shahen = Shahen ^ (1 / 2) という感じで求められます。問題は、この斜辺から指定された 長さを引かなければいけません。 Shahen = Shahen ^ (1 / 2) - val(Siteikyori) これから、さらに指定された距離を引いた際の終点となる座標を 求めなければいけません。 どのように求めるべきなのでしょうか? VBも数学も得意ではないので、苦労しております('_') できればサンプルコードなどつけていただけるとありがたいです。 よろしくお願い致します。

  • 距離から緯度経度を求める方法

    このジャンルでお願いします。 始点(lat1, lng1)と始点から 北向きが0度として角度は分かっています。 そこから例えば角度60度、1.5mの距離の緯度経度(終点)が知りたいのですが、 どのようなプログラムになるのでしょうか?

    • ベストアンサー
    • PHP
  • 三角関数についてですが

    わかる方いたらお教え願います。 VB6でプログラムしてるのですが、テキストファイルから中心点と座標を取得し、 その角度を求めたいのですが、全くもってわかりません。 サイン、コサイン、タンジェント??を使うのでしょうか?VB6で使えるのでしょうか? 例えば、中心点がX20.0Y50.0で、ある座標がX200.0Y300.0の場合、 X180.0Y250.0の直角三角形となって、中心点への角度を求めたいのです。 説明が下手ですが、お分かりになられた方、教えて下さい。 よろしくお願いします。

  • 2点間の距離の求め方

    学校では │終点の座標-始点の座標│ 塾では   大-小 と習ったのですが、混乱してしまいました。たぶん同じ事だとは思うのですが、どちらがいいのでしょうか。亦この二つの考えたかは、それぞれ2点間の距離の求めるすべての問題に通用するのでしょうか。 僕は、日常学習にも使っている参考書に│終点の座標-始点の座標│と書いてあったので、これを使いたいですが、問題によってはどこが終点でどこが始点か混乱してしまいます。

専門家に質問してみよう