• ベストアンサー

原点中心に図形を回転させる。(サインとコサイン)

xy座標上にある図形を原点中心に回転させるためには x'=xcosθ-ysinθ y'=xsinθ+ycosθ と書いてあります。 どうしてこうなるのかわかりやすく教えてください。 サイン、コサインについては何も知らないので、そこのところの説明からお願いします。猿です。

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

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

100Goldさん、こんにちは。 >xy座標上にある図形を原点中心に回転させるためには x'=xcosθ-ysinθ y'=xsinθ+ycosθ まず、この前にサイン、コサインが分からないとのことですので 参考URLを見て下さい。 直角三角形がありますね。右下に直角を位置したような直角三角形で、 ちょうどSの字を描くように(筆記体のS) (高さ)/(斜辺)=sin(サイン) (底辺)/(斜辺)=cos(コサイン)といいます。 このほか、タンジェントもあります。 また座標表現のところを見てみましょう。 半径rの円周上の点(x,y)の座標は、 この点と原点を結ぶ直線(半径)と、x軸とのなす角度αによって (x,y)=(rcosα,rsinα)・・・(☆) と表されるのです。 さて、このことを用いて、 (x,y)=(rcosα,rsinα)ですが、これをθだけ回転させた座標(x',y')とは x軸から考えると(α+θ)だけ動かしたことになります。 ですから、(☆)において動かす角度をx軸から考えて(α+θ)だと考えると (x',y')=(rcos(α+θ),rsin(α+θ))・・・(★) となります。 ここで、三角関数の加法定理というのがあるのですが、 100Goldさんはサイン、コサインがまだよく知らないとのことですので、 そういう定理があるんだな、とご理解ください。 それによると、 cos(α+θ)=cosαsinθ-sinαcosθ sin(α+θ)=sinαcosθ+cosαsinθ のようになります。 これを(★)に代入すると x'=rcos(α+θ)=r{cosαsinθ-sinαcosθ}=rcosαsinθ-rsinαcosθ ここでrcosα=x,rsinα=yですから x'=xsinθ-ycosθ 同様に y'=sin(α+θ)=r{sinαcosθ+cosαsinθ}=rsinαcosθ+rcosαcosθ =xcosθ+ysinθ となるので x'=xcosθ-ysinθ y'=xsinθ+ycosθ がいえますね。ご参考になればうれしいです。

参考URL:
http://www.urban.ne.jp/home/kz4ymnk/seminar/digipt/sincos.html
100Gold
質問者

お礼

参考URLも説明も大変わかりやすくて、まだ応用はできないでしょうが、一応分かったつもりになれました。 感じがつかめたといいましょうか。 ありがとうございます。 問題集でもやって修得してみようと思います。 参考になりました。

その他の回答 (3)

回答No.4

> なぜ cos(θ+90度) = -sinθ になるのかがイマイチよくわかりませんでした。 図を描いてみせればすぐなんですけどねぇ。と、思ったら図解で説明しているサイトがありました。 http://www.sit.ac.jp/user/shunsatoh/kiso/ 3. 三角関数の定義と性質(1) (要アクロバットリーダー) P16の最後からP17の頭に説明があります。θ+π/2 となっていますが、π/2 は90度のことです。

100Gold
質問者

お礼

たびたびのご回答ありがとうございます。 45度の図を描いていたのでよくわかりませんでした。 30度で書いてみたらはっきりわかりました。 勉強させていただきました。

回答No.3

サイン、コサインを全くご存知ないということなので、三角関数の公式を使わないようにしてまとめました。って、書き終わって気が付けば、#1さんと同じでした(!)。ま、#1さんが省略したところもきっちり書いたつもりですので、回答します。この時間まで頑張ったので、捨てるには忍びないもので… まず、二つの約束事(定義)を覚えて下さい。 1)角度の測り方  原点からx軸の正の向きに伸びる直線から測ります。向きは反時計回りです。時計で言うと「3時」が角度0度、「12時」が90度、「9時」が180度、「6時」が270度です。 2)サイン、コサインについて  原点を中心に半径1の円を描きます。その円周上の角度θのところ(角度θの線と円の交点)の座標が (cosθ, sinθ) です。円の半径が任意のrのとき、比例関係が成り立ちますので、座標は (rcosθ, rsinθ) となります。 ご質問は、任意の点 r = (x, y) を、原点を中心に角度θだけ回転させた点 r' = (x', y') の座標が分かれば良いのですよね?考え方は、以下の通りです。 1) r = (x, 0) の場合を考える 2) r = (0, y) の場合を考える 3) r = (x, y) を (x, 0) + (0, y) と考えて、1)、2)の結果を合成する じゃ、始めますよ。ご自分で図を描きながら読んで下さいね。 1) rがx軸上の点(y=0)だった場合:  原点を中心に半径 r(=x) の円を描いて下さい。rはx軸上の点 (x, 0) です。これを角度θ回転させると、最初の角度が0度ですから、回転後の角度はθです。つまり、r'=(xcosθ, xsinθ)に移動します。見易いように、原点と円周上のr'を線で結んで下さい。r'からx軸に垂線をおろし、その垂線の足と原点とr'で直角三角形を描いて下さい。底辺の長さが xcosθ、斜辺の長さが r' (=r)、垂直の辺の長さが xsinθですよ。間違いないですね?   1)の結論:r (x, 0) → r' (xcosθ, ysinθ) 2) rがy軸上の点 (x=0) だった場合:  1)と同じ図を使います。原点を中心に半径 r(今度は =y) の円が描いてありますね。rはy軸上の点 (0, y) です。これを角度θ回転させると、最初の角度が90度ですから、回転後の角度はθ+90度です。つまり、r'=(ycos(θ+90度), ysin(θ+90度)) に移動します。そして、1)と同じように直角三角形を描いて下さい。1)で描いた直角三角形が立ったものが描けた筈です。二つの三角形は合同ですから、2)の底辺は1)の垂直の辺と、2)の垂直の辺は1)の底辺と長さが同じになっています。つまり、  cos(θ+90度) = -sinθ (図を見れば、負の符号がつくのは分かりますね)  sin(θ+90度) = cosθ であることが分かります。   2)の結論:r (0, y) → r' (-ysinθ, ycosθ) 3) rが任意の点 (x, y) だった場合:  (x, y) は (x, 0) + (0, y) ですから、それを角度θ回転させた結果は、1)と2)の合成になります。つまり、1)、2)の結果の、x、yの各成分の変化をそれぞれ足してやるだけでいいのです。  (x, 0) → (xcosθ, xsinθ)  (0, y) → (-ysinθ, ycosθ) でしたから、  3)の結論:(x, y) → (xcosθ - ysinθ, xsinθ + ycosθ) つまり、  x' = xcosθ - ysinθ  y' = xsinθ + ycosθ よっしゃぁ、できた! 補足: 2)の結論、cos(θ+90度)、sin(θ+90度)の変形がちょい分かり難いかもしれません。よ~~~く図を見て考えて下さい。

100Gold
質問者

お礼

ご回答ありがとうございます。 仰る通り、なぜ cos(θ+90度) = -sinθ になるのかがイマイチよくわかりませんでした。 しばらく考えてみます。

  • wolv
  • ベストアンサー率37% (376/1001)
回答No.1

>サイン、コサインについては何も知らないので、そこのところの説明からお願いします。 A(1,0)をある半時計周りに角度θだけ回転させた点A'はA'(cos θ, sin θ)になります。・・・(あ) というか、こうなるように決めた関数がsin, cosです。 角度の単位はラジアンで、360度=2π(ラジアン)になります。 三角関数についてはいろいろと面白い性質もあるのですが、それらは省略。 ------------------------------------------------------------ 話は変わりますが、下の図のような平行四辺形OCEDがあった場合、 e1 = c1+d1, e2 = c2+d2になります。・・・(い)       E(e1,e2)  D(d1,d2)      C(c1,c2) O(0,0) ------------------------------------------------------------ ここまでの二つは、何で、と言われてもちょっと困ります^^; ------------------------------------------------------------ さて、このcos, sinを使い、(あ)の性質から考えると、 B(0,1)は、B'(- sin θ, cos θ)になることがわかります。。 さらに考えると、 A(a,0)を同じ角度回転させるとA'(a cos θ, a sin θ)に、………(う) B(0,b)を同じ角度回転させるとB'(- b sin θ, b cos θ)に、………(え) なることがわかると思います。 ------------------------------------------------------------ ようやく本題です。下の図左のような位置関係の点O,A,B,Pを考えます。 O(0,0)、A(x,0),B(0,y),P(x,y)とします。 すると、回転後の点A'はA'(x cos θ, x sin θ)になります。((う)を利用) 同様に、回転後の点B'はB'(- y sin θ, y cos θ)になります。((え)を利用)                P’   B   P    B’                 A’   O   A     O’        回転前       回転後 ここまででわかったA'、B'の座標と、上記(い)の性質を使うと、 P'の座標(x',y')は、 x' = x cos θ - y sin θ y' = x sin θ + y cos θ となることがわかります。 ------------------------------------------------------------ 以上、説明終わり。

100Gold
質問者

お礼

ご回答ありがとうございます。 なんとなく頑張れば分かるような気がしました。 闇夜で彼方に灯が見えたというか。 そんな感じです。 参考になりました。

関連するQ&A

  • 座標の回転

    x,y座標で表されるある点を反時計回りにα°回転したX、Y座標に変換しました。 かつてこのサイトで教えていただいたとおり (x、y)=(rcosθ,rsinθ)とおき,αだけ回転した座標なので (X,Y)=(rcos(θ+α),rsin(θ+α)) 加法定理を使って X=xcosα-ysinα Y=xsinα+ycosα と計算しました。 ところが,ある本に同様の計算がついていたのですが, X=xcosα+ysinα Y=-xsinα+ycosα となっており正負が異なります。(私と同じように反時計回りの回転)  私の計算が違っているのでしょうか。それとも何かの仮定が異なっているのでしょうか。 (ちなみにある本は作図により上記の結果を求めています。)  分かりにくいかもしれませんが,適切な指摘をお願いいたします。

  • 3次元のベクトルの回転

    任意の3次元ベクトルrをある角度θ、φだけ回転させた時のベクトルをr’とした場合、どのように求めることができるのでしょうか? 2次元の場合は、 x' = xcosθ + ysinθ y' = -xsinθ + ycosθ として求めることができたのですが、3次元は全くわかりません。 宜しくお願い致します。

  • 楕円を角度θで回転した時のX,Yの最大値・最小値

    楕円を中心点を軸に角度θで回転した時のX,Yの最大値・最小値を教えてください。 以下の式を偏微分を使って挑戦してみましたが、正しい値を求められません。 ((xcosθ-ysinθ)^2) / a^2 + ((xsinθ+ycosθ)^2) / b^2 = 1 アドバイス願います。

  • 2つの座標系

    時刻t=0で一致する2つの座標系xy-系(S系)とx'y'-系(S'系)がある。 S'系はS系に対して、原点を中心に一定の角速度ωで回転している。 時刻tにおけるS系から見た質点Pの位置座標を(x(t),y(t))とし、S'系から見たそれを(x'(t),y'(t))とする。 x'軸上に固定された点(x',y')=(a,0)とy'軸上に固定された点(x',y')=(0,b)とを、時刻tにおいてS系から見たとき、それらの座標値を求めよ。 x'=xcosωt+ysinωt y'=-xsinωt+ycosωt ここからどうすればよいのですか? 詳しい解説お願いします。

  • ニュートンの法則についての質問です

    一つの座標系(X,Y,Z)とそれをθだけ回転したもう一つの座標系(X´,Y´,Z´)がある。座標の変換式と力の変換式はそれぞれ X´=Xcosθ+Ysinθ Y´=Ycosθ-Xsinθ Z´=Z F´x=Fxcosθ+Fysinθ F´y=Fycosθ-Fxsinθ F´z=Fz であたえられる この時二つの座標系でニュートンの方程式の形が変わらないことを示せ この問題がわかりません…

  • 左手系のオイラー角で説明しているのでしょうか

    オイラー角の説明で、 z軸まわりにφだけ回転させると、添付図のように (x,y,z)軸は(x',y',z')軸の位置まで運動する。 そしてこの回転による座標系の変換式は x'=xcosφ+ysinφ y’=-sinφ+ycosφ とあるのですが、これは左手系で 説明していると考えて宜しいですか。

  • 行列の問題

    行列の問題なのですがどなたか分かる方はいますか? どなたか知恵を貸してください。見づらいのですがよろしくお願いします。 (x'',y'',z'',1)=(x,y,z,1) × 1 0 0 0 0 1 0 0 × 0 0 1 0 a b c 1 cosθ -sinθ 0 0 -sinθ cosθ 0 0 0 0 1 0 0 0 0 1 = (x,y,z,1) × cosθ sinθ 0 0 -sinθ cosθ 0 0 0 0 1 0 acosθ-bsinθ asinθ+bcosθ c 1 = xcosθ-ysinθ+acosθ-bsinθ xsinθ+ycosθ+asinθ+bcosθ z+c 1 ここで行った操作(平行移動→回転)を逆にしたときの座標を4次元マトリックスを用いて表すにはどうすればいいのですか? また、両者は一致するのですか?

  • 任意の点を原点を中心に回転させたときの座標を求め…

    任意の点を原点を中心に回転させたときの座標を求める式は? 質問がちょっと場違いかもしれませんが・・・。 ガスダンパーの選定の助けとなる簡単なソフトを作ろうと思っているのですが、その過程で下記の事がわかりません。解る方がいらっしゃったら教えてください。 座標(A、B)の点を、原点を中心にθ(rad)回転させた時の座標(X、Y)を求める式を教えてください。

  • 3次元座標を原点中心に回転したい

    任意のゼロでないベクトル(a,b,c)を原点中心に回転し、z軸に合致させるとする。同じ回転移動を3次元座標上の任意の点(x,y,z)に対して行った時の移動後座標が知りたいのです。 計算と結果を教えて下さい。

  • 図形の回転

    0≦y≦x≦1の図形を回転行列を使って1/2π回転せると、移動後の座標(x',y')=(-y,x)となって0≦x≦-y≦1という右に1/2π回転させた図形になってしまったのですが、なぜでしょうか?