• ベストアンサー

極座標における角度の表し方

極座標における角度の表し方 極座標で点の位置を表す際、よく『長さ∠角度』で表し 角度に関してはatan(アークタンジェント)を用いることが多いと思います。 その際、例えば第3象限にある『-1-j1』(=135°)の角度は atan(-1/-1) = atan(1/1) = 45° となってしまい、第3象限を表現したいのに第1象限の角度になってしまいます。 atanθの形式を用い、確実に第3象限を表す際はどのようにすればよいのでしょうか? ご存じの方がいらっしゃいましたら、是非ご教授お願い致します。

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

  • ベストアンサー
  • info22_
  • ベストアンサー率67% (2650/3922)
回答No.3

>第3象限にある『-1-j1』(=135°)の角度は 計算機などでは atan(y/x) atan2(x,y) など2通りの関数を用意している場合があります。 x=-1,y=-1のとき θ=atan(-1/-1)→π+atan(1)=π+(π/4)=5π/4 (ラジアン)=135° (x,yの符号またはsinθ,cosθの符号でπを加えるか加えないかを判断) θ=atan(x)は -π/2≦atan(x)≦π/2 の範囲しか角度θが表せないので第2象限、第3象限の角は πを加減して調整する必要がある て計算ではsinθ=-1,cos(θ)-1をただし書きしておくことが良くあります。 2変数の atan(x,y)でx,yを与えれば第2象限、第3象限でも問題が発生しない。 atan(-1,-1)=π+atan(1)=π+(π/4)=5π/4[rad]=135°

Macchomu
質問者

お礼

>atan(-1/-1) = atan(1/1) = 45° は-45°の記載ミスでした。 確認したところ、アークタンジェントは-π/2≦atan(x)≦π/2 の範囲しか表せないので >atan(-1,-1)=π+atan(1) のように参考書の答えでも記載されていました。 ありがとうございました。

その他の回答 (2)

noname#185706
noname#185706
回答No.2

atan() は -π/2 ~ π/2 の角度を返すでしょうから、 x < 0 に対しては r < 0 とされたらどうでしょう。 第3象限に加えて第2象限の点も扱えます。

Macchomu
質問者

お礼

>atan(-1/-1) = atan(1/1) = 45° は-45°の記載ミスでした。 アークタンジェントは-π/2 ~ π/2はとても参考になりました。

回答No.1

サイン、コサインが周期2πの関数であるのに対して、 タンジェントは周期πの関数なのでこういう事がおこります。 >その際、例えば第3象限にある『-1,-1』(=135°)の角度は (-1,-1)は135°ではなく、225°、もしくは、-135°です。 つまり、 atan(+1) = 45°または -135° atan(-1) = 135°または -45° で、どちらを取るかはサインとコサインの符号で決めるしかありません。 (cosθ, sinθ)であらわすとして、tanθ=-1の場合、 (+1,-1) ならθ=135°または-45°ですが、 サインが-、コサインが+となるのは第4象限なので、θ=-45°が答です。 (-1,+1) ならタンジェントは同じtanθ=-1ですが、 サインが+、コサインが-なので、θ=135°が答です。

Macchomu
質問者

お礼

>atan(-1/-1) = atan(1/1) = 45° は-45°の記載ミスでした。 atanの中身が分数ではなく整数の場合は判断が難しそうですね。 ご回答ありがとうございました。

関連するQ&A

  • エクセルで回転する座標の出し方

    エクセルで回転する座標の出し方 (例) 座標X100、Y100の点から好きな角度を回したときのX、Yの座標の求め方 回転中心はX0、Y0 回転方向は反時計回り 例で言えば X141.421、Y0  が0度       X0、Y141.421  が90度       X-141.421、Y0 が180度       X0、Y-141.421 が270度 エクセルでの問題点は 1.角度計算がラジアンになる デグリも関数はあるけど書式がわからない  無理やり(PI()/180)などを使ってるがアークタンジェントでは書式がわからない 2.正と負の計算式・答えが負になるときの処理ができない  回転角度が270度とか 今電卓で打っているのは 100/100=ATAN ----------------------最初の角度 100*100+100*100の答えのルート--------回転中心からの直線距離 最初の角度+動かしたい角度------------求めたい座標の角度 SIN求めたい座標の角度*直線距離-------Y座標 答え COS求めたい座標の角度*直線距離-------X座標 答え 最初のX、Y座標と 動かしたい角度を入れると答えが出るような 物が作りたいです よろしくお願いします エクセル2000 WINXP

  • 3D空間内の2つの図形の間の角度を求めるには?

    3D空間で、顔テクスチャーを貼り付けた、立方体Aと立方体Bを適当に配置したときに、立方体Aの方向を向くように立方体Bを回転させる方法について調べています。 2次元の場合は 回転角=Math.atan2(図形BのY座標-図形AのY座標,図形BのX座標-図形AのX座標)*180/Math.PI; のように、アークタンジェントを使えばよいのですが、3次元の場合はどのように考えればよいのでしょうか?

  • 座標を求める計算

    第一象限、第二象限、第三象限、第四象限にそれぞれ、(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)の座標を求めたいのですが可能でしょうか?できれば、具体的な計算過程を記していただけるとありがたいです。なお、座標の値は実数です。よろしくお願い致します。

  • 二点の座標から距離や角度を求めたいのですが、Matlab

    こんにちは、Matlabの初心者ですがよろしくお願いします。 ある座標、たとえば、A(x1, y1) B(x2, y2)があったとして、 この二点間の距離は、 sqrt((x2-x1)^2 + (y2-y1)^2) だと思いますが、もっと簡潔に求めることができる関数とかが導入されていたりしないかと思いました。AやBを定義しておいて、AとBだけを使うことができないかと思いました。 また、この二点を通る直線とX軸とがなす角度は、 atan(sqrt((y2-y1)^2)/sqrt((y2-y1)^2)) で求められるかと思いますが、これも同様にもっと簡潔な方法がないかと思いました。 いかがでしょうか。よろしくお願いします。

  • 三角形の面の傾斜をしらべるには

    3次元座標の中の、三角形の面の傾きを調べるには どのように計算したらいいのでしょうか。 三角形の頂点座標はわかっていて Yが高さで、X、Zが方向になっています。 アークタンジェントを使って面の法線の角度を 調べたり、してみたのですが、うまくいきません。 平面であれば、アークタンジェントの結果を360度のはんい に修正すればできるのですが、 3次元ベクトルの場合、角度はどうなっているのでしょうか。 よく、3次ベクトルは2次にZ座標が増えるだけと聞きますが 三角関数は平面しか計算できませんし、 XY平面、ZY平面でそれぞれ計算した角度を、 足せばいいとも思えません。 見た目で考えれば、空間に三角の斜面があればその傾斜角が ひとつだけあるはずなのですが、実際にはどのように 計算したらよいのでしょうか。 どなたかご存知の方がおりましたらよろしく お願いいたします。

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

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

  • 内積の定義を用いた三角形の角度の求め方について

    http://www.sousakuba.com/Programming/gs_two_vector_angle.html 上記のページを参考に三角形の角度を求めるプログラムを作りたいのですが、 理解出来ないので質問させて頂きました。 Vector2には、xとyの座標位置がそれぞれ格納されているかと思いますが、 計算で使われている座標はベクトルAとベクトルBの2点の座標のみのように思うのですが、 なぜ、ベクトルAとベクトルBの交点の座標は使わずに三角形の角度が計算できるのでしょうか? ベクトルAとベクトルBの座標位置は(0,0)という単純な話なのでしょうか?

  • 位置座標からx軸となす角度(ラジアンでも可)を求める方法

    簡単な2次元座標系で現在の位置が(x,y)だとします。 この点を三角関数を用いて表したときに x=m+r*cos a y=n+r*sin a となると思うんですが((m,n)は円の中心点,rは半径,aはx軸と半径のなす角とします)任意にa以外の変数に値を与えた場合,aを求めるプログラムの書き方が良く分かりません。 いいかえますと2点を結んだ直線とx軸とのなす角度を求めたいというものです。 もちろん角度ではなくラジアンでもかまいません。 どなたかご教授よろしくお願いします。

  • 直交座標系での問題が分かりません。

    直行座標(x1,x2)において点P=(p1,p2)が与えられており、 点Q=(q1,q2)はこの座標系でPから角度α、距離dの位置にある。 また直交座標系(x1,x2)にたいして反時計回りにβ回転させた 直交座標系(y1,y2)を考える。 問1 点Pの座標系(y1,y2)における座標(p'1,p'2)をp1,p2,βで表しなさい 問2 点Qの座標系(y1,y2)における座標値(q'1,q'2)をp1,p2,βで表しなさい。 問3 問1でもとめた(p'1,p'2)にたいして座標系(y1,y2)において角度α-β 距離dの位置にある点を考える。 この座標は問2で求めた点Qの座標系(y1,y2)における(q'1,q'2)と 一致することを示しなさい。 --------------------------------------------------------------------- という問題があり 問1は p'1=p1cosβ-p2sinβ p'2=p1sinβ+p2cosβ と計算できましたが 問2以降がわかりません。 レベルの低い問題ですがよろしければ解答をお願いします。

  • ある平面上の円周の座標の求め方

    原点(0,0,0),法線(a,b,c)で表される平面上にある、 半径rの円の円周のx,y,z座標をrと角度θを用いて表したいのですが、 どのように表現できますでしょうか? どなたかご教授願います。