| 授業資料 | 情報グラフィックス論U |
| 戻る | 次へ |
ここでは動きに曲線や円などを取り入れるための方法を紹介する。
|
x = (振幅)* sin (y * 周期) + (オフセット)sin()関数に指定する角度は実数(float)にする。
上のプログラムではxとyを入れ替えているので、
図とは異なり左右に振幅するカーブとなる。
また、周期を大きくするためには1より小さい数値を掛ける。
sinカーブの動きは両端で速度が落ちるような動きにも応用できる。
processing付属のSketchBookのサンプルSine Cosine、Sineなどを参照のこと。
float x = 0;
float y = 0;xとyを実数で使用すると宣言している。
宣言と同時にそれぞれの変数に0.0を代入している。
このように変数の宣言と同時に数値の代入を行うことを初期化という。
int(x)float(変数名)のようにする。
|
円は、コンパスで描くときのように、中心と半径を決めた位置(点)を360度回転させて描く。
円の位置に使う変数にはx、yを使用する。
上のソースコードで円を描くための各点のx座標の表示位置が式1、y座標の表示位置が式2である。
それぞれ、次のような意味がある。
x = (xの中心座標) + (x方向の半径)* cos (角度)
y = (yの中心座標) + (y方向の半径)* sin (角度)
x方向の半径とy方向の半径を同じにすると円が描ける。
x方向の半径とy方向の半径を変えると楕円を描くこともできる。
sin関数とcos関数は、図形の変換(回転)に必ず使う関数である。
それぞれの基本式は次のようになる。
cosθ = x / r
sinθ = y / r
この基本式によれば、角度(θ)と半径(r)を与えるとx座標値、y座標値を求めることができる。つまり、
x = r * cosθ
y = r * sinθ
となる。円はX軸上のrの位置にある点を回転して描かれている。
θには一般にラジアン角を使う。ラジアン角はPI(3.1415)を基準とする角度で、180度=PI(3.1415)である。
processingでは通常の角度(degree)をラジアン角に変換するには、radians()関数を使用する。
|
|
| 授業資料 | 情報グラフィックス論U | 次へ |
Copyright 2002-2008 Yuki Toriumi