• ベストアンサー

atan2関数 ベクトル計算・・・

atan2関数を使用した、ベクトルとベクトルのなす角度を 返す関数 というのを作りたいのですが、いいプログラム例があればご紹介ください。 また、 ベクトルの視点を中心として、 angle(rad) 回転させる 関数について。  回転公式 (x, y) を angle(rad) 回転 → (x', y')  x' = cos(angle)*x + sin(angle)*y  y' = -sin(angle)*x + cos(angle)*y どちらかひとつでも、お分かりになる方がいらしたらよろしく御願いします。

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

  • ベストアンサー
noname#30727
noname#30727
回答No.2

2つのベクトルの角度(atan2で計算)の差の絶対値を求める。鋭角が必要なら、πより大きければ2πから引く。 視点ベクトルから回転させるベクトルまでの相対ベクトルを求め、その式で回転させ、視点ベクトルを足す。

その他の回答 (1)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

> ベクトルとベクトルのなす角度を返す関数 というのを作りたいのですが、 > いいプログラム例があれば 良いプログラムというより、ベクトルの内積と余弦定理を応用すれば良いのでは。

関連するQ&A

  • 大学入試(群馬大)ベクトル・三角関数について

    大学入試(群馬大)ベクトル・三角関数について  下記問題について  座標平面上の2点を   A(sinθ,cosθ)   B((√3)×sinθ-cosθ,sinθ+(√3)×cosθ)  とする。  Oを原点とするとき、  (1) ベクトルOBの大きさ  (2) θ=45°のとき、∠AOBの大きさ  のうち、(1)の以下の内容について、アドバイスいただける  と助かります。  (私の思考)   ○ ベクトルOBの大きさを求めるためにまずは、三角関数の種類を    1つにしたい  ↓  ○ 合成公式により、sin型を検討するが位相が異なってしまう  ↓  ○ 次にcos型でするがまた位相が異なってしまう  ↓  ○(ん~ん、困った・・・)     解答としては、  x=-1×cosθ+(√3)×sinθ  =2cos(120°-θ)  y=-(-1)sinθ+(√3)×cosθ=2sin(120°-θ)  としてから、ベクトルの大きさを求めているのですが、位相  を(120°-θ)とすることに何をもってそうしようとした  のかよくわかっておりません。  ヒントとして「行列を利用するとわかる」とは書いてあるのですが、  なかなかその利用法がわかりません。  いろいろと考えたのですが、どうもたどり着いておりません。  以上の内容について、お分かりになる方がいらっしゃいましたら  お手数をおかけしますが、教えていただけないでしょうか。    よろしくお願いします。  

  • 空間におけるベクトル解析でわからない問題があります

    xyz空間の原点Oを中心とし、1辺の長さが2である下図のような立方体ABCD-EFGHにおいて、向きのついた辺ベクトルABを向きのついた辺ベクトルHDに移す回転を表す行列を求めてください。 解答は 0...1...0 0...0...-1 -1...0...0 という問題で (1)なぜ以下の考えでは間違っているのか (2)では解答を導くにはどのように解けばいいのか を途中計算を交えてご説明していただけると助かります。 私が独力で解こうとした際、以下のように考えました。 向きのついた辺ベクトルABである最初の行列は 1...0...0 0...1...0 0...0...1 手順1 xz平面に関する鏡映Mxzによって、ベクトルABをベクトルDCに移す。 手順2 ベクトルDCをy軸を中心として、90°回転させる。するとベクトルHDになる。 Mxzの行列は 1...0...0 0...-1...0 0...0...1 (y座標がマイナスになる。) y軸を中心とする角度θ回転は Ry(θ)(x,y,z)= cosθ...0...sinθ 0...1...0 -sinθ...0...cosθ × x y z なのだから Mxz・My(π/2)= 1...0...0 0...-1...0 0...0...1 × 0...0...1 0...1...0 -1...0...0 = 0...0...1 0...-1...0 -1...0...0.

  • 逆関数の公式を使って導関数を求める

    逆関数の公式を使って下記の6問を解きたいのですけど分かりますでしょうか。途中式よりお願いします。 3つの公式→ (1)(Sin^(-1) x)'=1/√1-x^2 (2)(Cos^(-1)x)'=-1/√1-x^2 (3)(Tan^(-1)x)'=1/1+x^2 (1) y=Tan^1 √x (2) y=Cos^1 x/3 (3) y=Sin^1 (x-1)/√3 (4) y=√x ・Sin^1 x (5) y=(Tan^1 x )^2 (6) y=1/(Sin^1 x)

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

    エクセルで回転する座標の出し方 (例) 座標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

  • 三角関数の微分の方法

    今数学3に入って、三角関数の微分で困っています。 教科書の三角関数の微分の公式では、 (1)  (sin(x))’=cos(x) (2)  (cos(x))’=-sin(x) (3)  (tan(x))’=1/{cos(x)}^2 と書いてあります。 ですが、(1)を用いた(2)の証明のところで (cos(x))’={sin(x+π/2)}’=cos(x+π/2)・(x+π/2)’=-sin(x) となっています。 また、例題では、 (1)y=sin(2x-1) を微分せよ  y’=cos(2x-1)・(2x-1)’=cos(2x-1)・2=2cos(2x-1) となっています。 なぜ、公式の証明のところでは、cos(x+π/2)に(x+π/2)’をかけるのでしょうか? なぜ、例題でも cos(2x-1)に(2x-1)’をかけるのでしょうか? はじめの公式から読み取れず困っています。 どうか返答お願いします。

  • ベクトル積、複素三角関数についてです。

    ベクトル積と複素三角関数についてです。 1.ベクトル積の公式中の、ベクトル絶対値は残して、夾角θのサイン、sinθ だけ消去する方法はありますか。 2.複素数の角度と、その三角関数の持つ、幾何学的な意味をお教え下さい。

  • 極座標変換したベクトルにさらに直行なベクトル

    x,y,z軸に対して極座標変換したベクトルrがあります。 r = (sinθcosφ,sinθsinφ,cosθ)です。 このr軸上にそれぞれ直行なベクトルα,βがあります。その関係は r = β × α です。 このα,βのベクトル成分をベクトルrや単位ベクトルx,y,zなどから求めたいのですが、どのように求めてよいかわかりません。 x = (1,0,0), y= (0,1,0), z = (0,0,1)です。 ご存知の方詳しい方がいらっしゃったら教えて下さい。 よろしくお願いします。

  • 俯角のあるベクトル強度の求め方

    ご質問いたします。 X-Y平面上のベクトル(原点を始点とします)の角度θを計測するセンサーがあります。 それは、X軸とY軸に投影された値DX、DYから、θ=arctan(DY/DX)で求まります。 今ここで、Z軸を導入して、センサーのXY平面が傾いた場合にどれほどの誤差が出るかを求めたいのです。 ここで、XY平面がX軸を中心に角度φで回転した場合、DYの強度にcosφをかけて、 θ=arctan(DY*cosφ/DX)となると思いますが、 たとえば(-1,1)と(1,-1)を通る直線を軸としてφ回転した場合のθはそのように考えればいいのでしょうか? また、たとえばθの最大誤差に対する俯角φの寄与を考えた場合、 上記二つの場合を考えて、そのうちの最大をとればよいのでしょうか? それとも、X軸を中心に回転させた場合だけ考えればたりるのでしょうか? よろしくご教授願います。

  • 2002年センター試験追試 数学IIの三角関数

     いつも大変お世話になっております。  2002年センター試験追試 数学IIの三角関数に関する問題で、 私の持っている問題集で、別解として記載してある内容なのですが、 どうしても理解できないところがあります。  問題    aは-2≦a≦2を満たす定数。  2つの角x,yは、  cos(x)-cos(y)=a  を満たしながら、  0≦x≦π,0≦y≦πの範囲を動く。  このとき、s=sin(x)+sin(y)の最大値を求めよ。  解答  y=-Yとおくと、  cos(y)=cos(-y)=cosY  sin(y)=sin(-Y)=-sin(Y)  となるので、改めて条件を示すと  0≦x≦π,-π≦Y≦0  cos(x)-cos(Y)=a  sin(x)-sin(Y)=s  ベクトルOP=(cos(x),sin(x))  ベクトルOQ=(cos(Y),sin(Y))  とおく。  cos(x)-cos(y)=aという条件のもとにsを最大にするには  ベクトルOQ=-ベクトルOP  となるようにすればよい。  ・・・  とあるのですが、「cos(x)-cos(y)=aという条件のもとにsを最大にするには             ベクトルOQ=-ベクトルOPとなるようにすればよい。」  の箇所がどうしても理解できておりません。  お忙しいとは思いますが、アドバイスいただけると助かります。

  • 行列の固有ベクトルの問題を教えて下さい。

    この問題が分かりません。お願いいたします。 行列A= (cos2θ sin2θ) (sin2θ -cos2θ) がある。(0≦θ<π) 固有値と固有ベクトルを求め、固有ベクトルを図示しなさい。 という問題です。 解いてみると、固有値は1と-1だと分かりました。 しかし、固有ベクトルでつまっています。 例えば固有値1として求めると、 (cos2θ-1)x+sin2θy=0 x=1のとき、y=(1-cos2θ)/sin2θ としてsin2θ≠0のときと=0の時、みたいに場合分けしたのですが、図示出来ませんでした・・・。 固有ベクトルの良い取り方があるのでしょうか? 解答、お願いいたします

専門家に質問してみよう