楕円運動アニメ
楕円運動アニメ Function ファイル作成詳細
楕円運動アニメ Function ファイル作成概要で楕円運動アニメのためのユ-ザ定義関数について説明しました。
ここでは、アニメのスタ-ト位置及び、時計まわりか、反時計まわりか、
回す方向について解説していきます。
楕円運動アニメのスタ-ト位置
(始点)
$v:スタート角度
$a:1回あたりの増加角度Δθ
$r:楕円の基本半径
$dr:縦横比
$cx,$cy:楕円の中心
とすると、
for 文のル-プカウンタ $i の時の角度θの値は、
θ = $v + $a*$i
となりますので、
X座標を $x、Y座標を $y で表すと、
$x = $cx + $r*cos(deg2rad($v + $a*$i))
$y = $cy +
$dr*$r*sin(deg2rad($v + $a*$i))
この時、$v:スタート角度と始点位置の関係は次のようになります。
始点位置 時計文字盤 |
スタート角度$v | |
$dr = + | $dr = - | |
0時 | 270 | 90 |
3時 | 0 | 0 |
6時 | 90 | 270 |
9時 | 180 | 180 |
楕円運動アニメのエンド位置
(終点)
$k:周る角度
何度回ったら終わるのかを設定します。
一周するときは当然、$k=360 となります。
$n を分割数とすれば、
$a = $k ÷ $n
の関係式が成り立ちます。
楕円運動アニメの回る方向
時計文字盤3時スタートを考えると
$v =0 ですから、Y座標は
$y = $cy +
$dr*$r*sin(deg2rad($v + $a*$i))
= $cy + $dr*$r*sin(deg2rad($a*$i))
ですので、$dr がマイナスの時、上へと遷移していきます。
すなわち反時計方向に動きます。
逆に、$dr をプラスにすると、時計方向に動いていくことになります。
WEBのY座標は下方向がプラスですよね!!
楕円の縦横比
$dr=±1 の時は円になります。
$dr は以下の範囲内に設定することを推奨します。
-2<$dr<-1 縦長反時計まわり
-1<$dr<-0.5 横長反時計まわり
0.5<$dr<1 横長時計まわり
1<$dr<2 縦長時計まわり
この範囲を越える値を設定すると楕円がつぶれてしまいます。
特にエラ-になることはありませんが、止めた方がよいです。
楕円の傾斜角度α
$vy で楕円の傾斜角度αを設定します。
$vy +で時計方向、右肩下がりになります。
なおこの時、$drの符号、$v:スタート角度と始点位置の関係には注意が必要です。
始点位置 時計文字盤 |
スタート角度$v | |
$dr = + | $dr = - | |
0時 | 270 | 90 |
3時 | 0 | 0 |
6時 | 90 | 270 |
9時 | 180 | 180 |
例えば、
$drがマイナスの時、$vy +で時計方向、右肩下がり、すなわち
α=45°右肩下がりの時、3時の位置からスタートさせようとし、
スタート角度:$v=0とすると
3時の位置から 45°時計方向に進んだ位置からスタートします。
楕円運動アニメ設定ファイル作成に進む
アニメ Function ファイル作成概要に戻る
楕円運動アニメ初期ファイル作成に戻る
楕円運動アニメファイル概要に戻る
楕円運動アニメ作成概要に戻るく