
Processingレクチャー 5回目

5回目の内容をまとめます。今回はProcessingで使える数学について学習しました。
ほとんどがペーパーに書いてあるままなので、ペーパーかReferenceの
Math→CalculationおよびTrigonometry の各項目を各自見て下さい。
ペーパー補足
radians(180) と PI が同じ数値であるように、
radians(360) を TWO_PI
radians(90) を HALF_PI
radians(45) を QUARTER_PI と表記することができます。
・花丸を描くプログラム
1つ目のforループ内のRXとRYを操作する部分を
RX *= pow( HX*0.8, 1.0/(360*N) );
RY *= pow( HY*0.8, 1.0/(360*N) );
とすると違う形状の渦巻ができます。値が加算ではなく乗算で大きくなるためです。
・正多角形を描くプログラム
Vの値を5以上の奇数にし、forループの条件を
for(int i = 0; i < V*2; i += 2)
とすると星型を描きます。しかしこの方法だと正多角形の頂点を1つ飛ばしに結んでいるだけなので
図形の内側に枠線も描かれてしまいます。また、Vの値が偶数だと星型は描けません。
プログラムは複雑になりますが正しく星形を描くならば、forループの部分を
for(int i = 0; i < V; i++){
vertex( R * cos(TWO_PI*i/V), R * sin(TWO_PI*i/V) );
vertex( R*( sq( cos(PI/V) )-sq( sin(PI/V) ) )/cos(PI/V) * cos( TWO_PI*i/V + PI/V ),
R*( sq( cos(PI/V) )-sq( sin(PI/V) ) )/cos(PI/V) * sin( TWO_PI*i/V + PI/V ) );
}
とします。コピーして確認しましょう。これだとVの値が偶数でも描けます。
R*( sq( cos(PI/V) )-sq( sin(PI/V) ) )/cos(PI/V)
の部分が星形の内側の頂点の原点からの距離になります(図の青線部)。

図の赤線部と青線部の比率が
となるためです。
2回目あたりで紹介してブログ未編集だったショートカットキーについてまとめます。
上部メニュー内の各項目の右に書いてある「Ctrl + …」というのがそれです。
メニュー内で選択してもよいですが、マウスを動かすよりもスムーズに操作できます。
なお、基本的にWindowsではCtrlキーを、MacではCommandoキーを使います。
このブログではよく使うキーをWindowsでの表記で紹介します。
Ctrl + N … 新しいウィンドウを開いて新規作成します
Ctrl + O … 新しいウィンドウでファイルを開きます
Ctrl + S … 現在のデータを保存します
Ctrl + Shift + S … 現在のデータを別名で保存します
Ctrl + W … アクティブのウィンドウを閉じます
Ctrl + Q … Processingを終了します
Ctrl + Z … ひとつ前の作業に戻ります
Ctrl + Y … 戻った作業を元に戻します
Ctrl + C … 選択範囲をコピーします
Ctrl + X … 選択範囲を切り取ります(削除&コピー)
Ctrl + V … コピーした部分を貼り付けます
Ctrl + A … 全選択します
Ctrl + R … プログラムを起動させます
Ctrl + Shift + R … プログラムを全画面で起動させます(プレゼンテーション用)
Esc … 起動したプログラムを停止します
Ctrl + F … 検索置換ウィンドウを開きます
Ctrl + K … 保存したフォルダーを表示します
Ctrl + T … 自動で各所にインデントを挿入します
事前に括弧類が正しく閉じられているか確認しましょう
tag: [Processing]
ほとんどがペーパーに書いてあるままなので、ペーパーかReferenceの
Math→CalculationおよびTrigonometry の各項目を各自見て下さい。
ペーパー補足
radians(180) と PI が同じ数値であるように、
radians(360) を TWO_PI
radians(90) を HALF_PI
radians(45) を QUARTER_PI と表記することができます。
・花丸を描くプログラム
1つ目のforループ内のRXとRYを操作する部分を
RX *= pow( HX*0.8, 1.0/(360*N) );
RY *= pow( HY*0.8, 1.0/(360*N) );
とすると違う形状の渦巻ができます。値が加算ではなく乗算で大きくなるためです。
・正多角形を描くプログラム
Vの値を5以上の奇数にし、forループの条件を
for(int i = 0; i < V*2; i += 2)
とすると星型を描きます。しかしこの方法だと正多角形の頂点を1つ飛ばしに結んでいるだけなので
図形の内側に枠線も描かれてしまいます。また、Vの値が偶数だと星型は描けません。
プログラムは複雑になりますが正しく星形を描くならば、forループの部分を
for(int i = 0; i < V; i++){
vertex( R * cos(TWO_PI*i/V), R * sin(TWO_PI*i/V) );
vertex( R*( sq( cos(PI/V) )-sq( sin(PI/V) ) )/cos(PI/V) * cos( TWO_PI*i/V + PI/V ),
R*( sq( cos(PI/V) )-sq( sin(PI/V) ) )/cos(PI/V) * sin( TWO_PI*i/V + PI/V ) );
}
とします。コピーして確認しましょう。これだとVの値が偶数でも描けます。
R*( sq( cos(PI/V) )-sq( sin(PI/V) ) )/cos(PI/V)
の部分が星形の内側の頂点の原点からの距離になります(図の青線部)。

図の赤線部と青線部の比率が

2回目あたりで紹介してブログ未編集だったショートカットキーについてまとめます。
上部メニュー内の各項目の右に書いてある「Ctrl + …」というのがそれです。
メニュー内で選択してもよいですが、マウスを動かすよりもスムーズに操作できます。
なお、基本的にWindowsではCtrlキーを、MacではCommandoキーを使います。
このブログではよく使うキーをWindowsでの表記で紹介します。
Ctrl + N … 新しいウィンドウを開いて新規作成します
Ctrl + O … 新しいウィンドウでファイルを開きます
Ctrl + S … 現在のデータを保存します
Ctrl + Shift + S … 現在のデータを別名で保存します
Ctrl + W … アクティブのウィンドウを閉じます
Ctrl + Q … Processingを終了します
Ctrl + Z … ひとつ前の作業に戻ります
Ctrl + Y … 戻った作業を元に戻します
Ctrl + C … 選択範囲をコピーします
Ctrl + X … 選択範囲を切り取ります(削除&コピー)
Ctrl + V … コピーした部分を貼り付けます
Ctrl + A … 全選択します
Ctrl + R … プログラムを起動させます
Ctrl + Shift + R … プログラムを全画面で起動させます(プレゼンテーション用)
Esc … 起動したプログラムを停止します
Ctrl + F … 検索置換ウィンドウを開きます
Ctrl + K … 保存したフォルダーを表示します
Ctrl + T … 自動で各所にインデントを挿入します
事前に括弧類が正しく閉じられているか確認しましょう
スポンサーサイト