トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     三角関数について
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
Atori
Åê¹ÆNo.32612
投稿日時: 2007-3-24 9:19
新米
居住地:
投稿: 4
使用環境:
三角関数について
初めまして。趣味でFlashを勉強している学生です。
まだまだ初心者の域を出ませんがよろしくお願いします。

早速ですが、Math.sin(○)やMath.cos(○)などの三角関数を用いた処理が良く分かりません。
一応、高校の教科書を読んだのでsinやcosの求め方は理解しているつもりですが、
括弧内の値に対してどのような処理を行っているのかが知りたいです。

具体的に教えていただけると嬉しいです。
一応製作環境は WinXP Flash8  です。
Fumio
Åê¹ÆNo.32614
投稿日時: 2007-3-24 9:44
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
Re: 三角関数について
「具体的に」何がおわかりにならないのでしょう?

「sinやcosの求め方は理解している」というのは、
y = sin(x) または y = cos(x)

としたとき、xからyの算出方法がわかるということです。それはすなわち、「括弧内の値に対してどのような処理を行っているのか」理解しているということにほかなりません。

取りあえず、sinとcosとの関係をご覧になり、Flash TechNote「角度と座標の計算 ? Flash の三角関数を使う」をお読みください。
引用:
Atoriさんは書きました:
早速ですが、Math.sin(○)やMath.cos(○)などの三角関数を用いた処理が良く分かりません。
一応、高校の教科書を読んだのでsinやcosの求め方は理解しているつもりですが、
括弧内の値に対してどのような処理を行っているのかが知りたいです。

→【わかりやすく説明してください
引用:
具体的に教えていただけると嬉しいです。

[追記] それとも、xからyを導出する具体的な計算式を知りたいということでしょうか? その場合には、数学の情報ソースなり書籍なりを調べた方がよいと思います。たとえば、「テイラー展開」といったものがあります。


----------------
 

Atori
Åê¹ÆNo.32636
投稿日時: 2007-3-25 20:29
新米
居住地:
投稿: 4
使用環境:
Re: 三角関数について
返信ありがとうございます。

私が言いたかったのは・・・・・説明が難しいのですが。
sinを求める式は高さ/斜辺だということは知っているけれど、
それをどう使っているのか、というか。
単なる変数に高さ/斜辺の計算を行うと考えると意味が分かりませんし。
どのような計算を行っているのかが知りたいです。

いずれにしろ、野中さんの仰る「理解」はできていません。

説明が中々上手く出来ずに申し訳ありませんが、
宜しくお願いします。
Fumio
Åê¹ÆNo.32637
投稿日時: 2007-3-25 21:14
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
Re: 三角関数について
まず、先の回答のリンク先は、ご覧になりましたか?

「それをどう使っているのか」という意味がわかりかねます。「どのような計算を行っているのか」ということであれば、sinなら「高さ/斜辺の計算」をしているだけです。
引用:
Atoriさんは書きました:
sinを求める式は高さ/斜辺だということは知っているけれど、
それをどう使っているのか、というか。
単なる変数に高さ/斜辺の計算を行うと考えると意味が分かりませんし。
どのような計算を行っているのかが知りたいです。

それは、円周率πが単に円周/直径の計算をしているだけなのと同じです。なぜ円周を直径で割るのか、四角でなく円でなければいけないのか、などと悩むことにはあまり意味がありません。その比率から何を求められるかが重要です。

円周率を使えば、当然直径(あるいは半径)から円周が計算できますし、もっと大切なのは円の面積が導けることです。さらには、円とはまったく関係のない数式にπが登場することも知られています。

sinやcosは、(先に引用したリンク先にも述べられているとおり)極座標を直交座標に変換する関数です。

たとえば、原点(0, 0)、半径1の円の方程式は、つぎのように表されます。
x^2 + y^2 = 1 (^はべき乗を表し、^2は2乗)

この式から円運動のアニメーションをつくるのは、面倒でしょう。ところが、角度の変数θを加えて、x = cos(θ)とすれば、これが単純なかたちで表されます(先に引用したリンクでアニメーションを表現しています)。
x = cos(θ)
y = sin(θ)

あるいは、バネ運動や波動なども、cosやsin関数を使って表現することが可能です。


----------------
 

Atori
Åê¹ÆNo.32649
投稿日時: 2007-3-26 15:53
新米
居住地:
投稿: 4
使用環境:
Re: 三角関数について
申し忘れてすみません。リンク先の2ページは読みました。
その内容も、大体理解できました。

半径1cmの円でというように、分かりやすく表現されていると分かるのですが・・・。

例えばです。

r = 1;
s = Math.sin(r);

とします。
この場合、半径1cmの円を想像して、ラジアンがr(1)の時の三角形を描いたときの高さの値が、
sに代入されるということなのでしょうか?

何度も申し訳ありません。


Fumio
Åê¹ÆNo.32652
投稿日時: 2007-3-26 16:37
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
Re: 三角関数について
まず、「三角形」は忘れた方がよいでしょう。
引用:
Atoriさんは書きました:
r = 1;
s = Math.sin(r);
c = Math.cos(r);  // 追加

とします。
この場合、半径1cmの円を想像して、ラジアンがr(1)の時の三角形を描いたときの高さの値が、
sに代入されるということなのでしょうか?

原点(0, 0)を中心にした半径1(単位は何でもよいのであえて書きません)の円と、原点から伸ばした角度rの直線の交わった座標が(c, s)になります。cと「sに代入される」のは、このxおよびy座標値です。



逆に、このようなcとsを導出する関数cosとsinを定義したら、そのときに必要になった比率が(たまたま)直角三角形の底辺と高さをそれぞれ斜辺で割った値だったということです。


----------------
 

Atori
Åê¹ÆNo.32664
投稿日時: 2007-3-27 16:48
新米
居住地:
投稿: 4
使用環境:
Re: 三角関数について
なるほど。
野中さんの解説のおかげで、まだ完全ではありませんが、かなり理解が進みました。
後はこれから実際に使っていく中で覚えていこうと思います。

何度も教えていただきありがとうございました。
今後とも宜しくお願い致します。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops