ピタゴラス!!
ということで、この前に自然対数の底、つまりeを使ったカーブを
作ってみたが
http://www.sakaiden.com/?p=4239
これは、綺麗なカーブを描く
この自然体数を使った関数 exp(x) は三角関数にも使われる
ハイパーボリックの事だ
三角関数やらピタゴラスの定理はご存じの通り
ここでも、一回出てきているね
http://www.sakaiden.com/?p=2452
wikiはこちら
http://ja.wikipedia.org/wiki/%E4%B8%89%E8%A7%92%E9%96%A2%E6%95%B0
三角関数には、色々と数式がでてくるが
数式はあまり気にしなくてイイとおもう
それよりも、三角関数の不思議さに興味をもった方が
算数は楽しいのだ
不思議を簡単にまとめると・・・・
どうやら三角形には”ある決まり”があって
それはどうも、どんな事があっても変わらない
っていう、この宇宙の定理って訳だ
非常に興味深い
ということで、
この三角関数もとい、三角形の”ある決まり”からカーブを作り出すとどうなるか
ためしてみるぞ
やってみるぞー ルキアー!
まずは、基本となるリニアカーブ
三角関数を計算するのに使う、元のカーブだ
このカーブを三角関数に通すと・・・
コレはサイン波
三角関数では最も有名だろうな
規則的な周期を繰り返して波を作り出す
基本式は
[as3]
/*xは角度*/
/*Aは倍率*/
sin(x) * A
[/as3]
計算式にある
posZは、さっきのリニアカーブの値、
そして*50はカーブを見やすくする倍率なのでいくつでも構わない
サイン波は、-1~1の数の間で揺れ動く
この比率は、直角三角形の角度と辺の長さの比率だ
さっきもいっていた、三角形にまつわる”ある決まり”ってやつ
ある決まりの一つに有名なものは
三角形の内角の和が180度になるという事だ
つまり、三角形の角度の総和に270度や360度は絶対に無い
でもって、元の話にもどり
これがコサイン
三角関数の3兄弟、サイン、コサイン、タンジェントの一人だ
[as3]
/*xは角度*/
/*Aは倍率*/
cos(x) * A
[/as3]
コサインも、サインと同じく-1~1の間で揺れ動く
なので、サインとそっくりなのだが、周期が違うのだ
このサインとコサインを使うと
実は綺麗な円運動が作れるんだぞ
コイツは、タンジェント
[as3]
/*xは角度*/
tas(x)
[/as3]
ごらんの通、不思議な周期のになった
ある一定の値になると、極端な数値が現れる
で、このタンジェントと対をなすアークタンジェントは・・・
アークタンジェント
タンジェントとはまた違った結果になった
アークタンジェントでは50付近で急激に変化が起きて
上下90近くで停止する
[as3]
/*xは角度*/
atas(x)
[/as3]
倍率を加えれば
急激に変化する部分をずらすことも出来る
この、ある値から変化しなくなるカーブはほかでも起きる
それが・・・
これだ、
ハイパーボリックサインとハイパーボリックコサインを利用したカーブ
見ての通り倍率で入れた50の値からは変化しない
周期もない
使い勝手は色々とある
計算式は
[as3]
/*xは角度*/
/*Aは倍率*/
{ sinh(x)/cosh(x) } * A
[/as3]
これはいきなり複雑になった
そもそも、ハイパーボリックの意味は
これではサッパリ分からない
ただ、このカーブの綺麗さは色々と使える
でもってハイパーボリックの計算はというと・・・
まずはハイパーボリックサイン
ある値を超えると上昇と下降がある
計算はコレ
[as3]
/*xは角度*/
/*Aは倍率*/
sinh(x) * A
[/as3]
では、さらにsinhの中身は何なのか?というと・・・
sinh(x) = {(e^x) – (e^-x)} /2
となるのだ
なんとも、またeが登場したぞ
wikiのハイパーボリック
http://ja.wikipedia.org/wiki/%E5%8F%8C%E6%9B%B2%E7%B7%9A%E9%96%A2%E6%95%B0
なぜか、Maxでやったら数値は一致しなかった
んー・・・
まぁ気にするな
あっはっはっはっは
ハイパーボリックサインがあるって事は
ハイパーボリックコサインもタンジェントもある
これがハイパーボリックコサイン
ある値を超えると対照的な上昇部がある
このカーブと、サインの時のカーブの関係が
上昇と下降移行何も変化しないカーブを作り出す
[as3]
/*xは角度*/
/*Aは倍率*/
cosh(x) * A
[/as3]
中身は・・・・
cosh(x) = {(e^x) + (e^-x)} /2
さらに、タンジェントは
これは、不思議
なんか、ちょっと前にみたような
上下の限界値から変化せず
周期もないカーブになった・・・・
[as3]
/*xは角度*/
/*Aは倍率*/
tanh(x) * A
[/as3]
それも、そのはず
式の中身は
tanh(x) = sinh(x)/cosh(x)
だからだ!
そりゃー同じになってもわらにゃ困る
よって、上下の限界幅が一定ならば、
ハイパーボリックタンジェントがおすすめだ
ふぅ・・・
まだまだあるぞ!!
この、ハイパーボリックの関係を入れ替えたら
どうなるんだろうな
みてみよう
ハイパーボリックタンジェントとタンジェント
この組み合わせだと、こんなカーブになった
ぴょこぴょこ跳ねてるのが面白い
[as3]
/*xは角度*/
/*Aは倍率*/
(tanh(x) / tan(x) ) * A
[/as3]
これはサインとハイパーボリックサイン
ある数値付近のみ反応している
反応している数値付近では一端波打ってから上昇する
これも面白い動きをしているな
[as3]
/*xは角度*/
/*Aは倍率*/
(sin(x) / sinh(x) ) * A
[/as3]
ってことは、コサインも同じような反応かな?
サインと同じような運動になった
が少しだけ違う
上昇するときの運動幅が狭くなっている
面白いな
[as3]
/*xは角度*/
/*Aは倍率*/
(cos(x) / cosh(x) ) * A
[/as3]
周期があるはずの物と
周期がない物同士が関わるとこうなるんだ
では、サインとコサインを組み合わせると
こうなる
ある数値辺りで上下に反応するが
それ以降は反応しない
ある範囲に入ったときのみ周期が1度だけ発生して
前後に揺れがある
なるほど
[as3]
/*xは角度*/
/*Aは倍率*/
(sin(x) / cosh(x) ) * A
[/as3]
こういいった具合だ
周期が無くなるタイプのカーブと
元のリニアカーブを比較してみると
値の変化がどう起きているか
分かりやすく見られるぞ
こんな具合だ
ある一定値になると反応は終わり、
数値がさがれば戻ってくる
すこし話がずれるが
ある乱れた波形を、一定に位置で切り取るには
こんなんでも良いかもしれない
まさにウェーブハンマーと言ったところか
これを動画にしてみたぞ
110129test
※flvなのでflvプレーヤーで見てくださいね
長かったな!!!
ひとまず、
今回は上下のみの運動に限って三角関数のカーブを使ってみた
これを、縦軸、横軸、幅軸と
三次元に展開したら、いったいどんな動きをするんだろう
立体的に、これらのカーブをくみ上げると
たぶんまた見たこともないような図が出てくるんだな
三角関数だけでも
これだけ色々と動きがあるんだから
ほかの関数もまた興味深いカーブを作り出すのだろう
それはまた今度のお楽しみ
Pingback: アニメーション サイン波ウェーブ « sakaiden