アプリ版:「スタンプのみでお礼する」機能のリリースについて

xy座標上にある図形を原点中心に回転させるためには

x'=xcosθ-ysinθ
y'=xsinθ+ycosθ

と書いてあります。

どうしてこうなるのかわかりやすく教えてください。
サイン、コサインについては何も知らないので、そこのところの説明からお願いします。猿です。

A 回答 (4件)

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/digi …
    • good
    • 4
この回答へのお礼

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

お礼日時:2003/10/21 09:34

> なぜ cos(θ+90度) = -sinθ になるのかがイマイチよくわかりませんでした。



図を描いてみせればすぐなんですけどねぇ。と、思ったら図解で説明しているサイトがありました。

http://www.sit.ac.jp/user/shunsatoh/kiso/
3. 三角関数の定義と性質(1) (要アクロバットリーダー)

P16の最後からP17の頭に説明があります。θ+π/2 となっていますが、π/2 は90度のことです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2003/10/21 21:56

サイン、コサインを全くご存知ないということなので、三角関数の公式を使わないようにしてまとめました。

って、書き終わって気が付けば、#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度)の変形がちょい分かり難いかもしれません。よ~~~く図を見て考えて下さい。
    • good
    • 1
この回答へのお礼

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

お礼日時:2003/10/21 10:04

>サイン、コサインについては何も知らないので、そこのところの説明からお願いします。



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 θ
となることがわかります。

------------------------------------------------------------
以上、説明終わり。
    • good
    • 0
この回答へのお礼

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

お礼日時:2003/10/21 09:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!