スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

openFrameworks #7

SoundStream
いよいよ3章。
音波を生成してます。



マウスカーソルを右に移動すると音量が大きくなり、左に移動すると小さくなります。
上に移動すると音が高く、下に移動すると低く鳴ります。
また、正弦波や矩形波、三角波、ホワイトノイズなど、様々に作成可能。

過去に行った「WAVプログラミング」と異なり、リアルタイムに計算して音波を出してます。
結構楽しい。


※詳しいプログラムの解説は、「Beyond Interaction」を買って読みましょう
スポンサーサイト

openFrameworks #6

残像
「Beyond Interaction」2章ラスト。
ボールの軌跡をフォードアウトで表示しています。



マウスプレスしたときに、集まってきたときの残像が良い。
プログラムの記述追加は非常に簡単です。


※詳しいプログラムの解説は、「Beyond Interaction」を買って読みましょう

openFrameworks #5

重力と抵抗
「Beyond Interaction」 2章終盤。
これまでの壁に当たって跳ね返るボールに、現実世界の自然法則を取り入れます。
重力と空気抵抗です。



といっても難しい訳ではなく、足し算と掛け算を、繰り返しの中に追加しただけ。

ちなみに、本に書いてあるプログラムに加え、地面(画面下を想定)に当たったときの跳ね返り係数もテキトーに入れて、跳ね返り時の減衰量を増やしています。



※詳しいプログラムの解説は、「Beyond Interaction」を買って読みましょう

openFrameworks #4

インタラクション
Beyond Interaction 2章後半。
マウスをプレスしている間はボールが集まってきます。
リリースすると、ボールがまた自由に動き回ります。



マウスの位置やクリックイベントを使っています。



詳しいプログラムの解説は、「Beyond Interaction」を買って読みましょう

openFrameworks #3

アニメーション
Beyond Interaction2章 中盤。
描画に変化を付けて、アニメーションです。
無数のボールが壁に当たって跳ね返っています。



ここでは、if文が登場しています。
動画でキャプチャーしているため、やや荒い映像になっていますが、実際の映像は鮮明です。

縁日のスーパーボールすくいを思い出します。



※詳しいプログラムの解説は、「Beyond Interaction」を買って読みましょう

openFrameworks #2

さっそく描画
今日は「Beyond Interaction」の2章前半をやりました。

2章は構造化プログラミングの基礎。
お馴染みのfor文、配列、乱数などですが、さすがメディアアート、最初のプログラムはHello,worldの文字表示ではなく、早速図形描画でした。

特にアルファブレンド(画像の透過)を使うと、奥行き感が出て、かなりクールな感じです。

(10_06_27) ofランダム円
乱数を使って、大きさや中心座標の異なる円を表示
不思議な感じ


(10_06_27) of円の重ね合わせ
これも、アルファブレンドを使って、複数の円を組み合わせているだけです。
3Dもどき?


(10_06_27) ofランダム線
乱数を使って、開始・終了座標の異なる線分を表示
神経細胞みたい


(10_06_27) ofストライプ
乱数で色を決めて、線分を表示
そのまま何かのデザインに使えそう


ポイント
サンプルプログラムのプロジェクトファイルにはopenFrameworksのライブラリを含めると多数のソースファイルがあるのですが、この章で編集したファイルは「testAPP.cpp」というファイルのみ。
しかも、このファイルの中は関数の雛型が用意されているスケルトンプログラムで、この章前半では「setup()」と「draw()」の2つの関数の中でのみの記述です。
「setup()」は実行時一番最初だけ実行される関数で、「draw()」は常に繰り返し実行される関数です。
なので、図形描画はWindowを移動させてたり、他のWindowに隠れて再び表に出てきたときでも、表示されたままです。


どんどん進めてゆきたいと思います。


※詳しいプログラムの解説は、「Beyond Interaction」を買って読みましょう

openFrameworks #1

また本を買ってしまいました。
BNN社から出版されている「Beyond Interaction」
メディアアートのためのオープンプログラミング「openFrameworks」の入門書です。

(10_06_26) openFrameworks


openFramewrksって何?
簡単に言えば、C++でアート作品やクールな表現ができるプログラミングのためのライブラリで、お手軽に利用できるものです。
それ以外の特長は、
・マウスやキーボードなどはもちろん、マイク入力による音声信号処理入力やカメラ入力による画像認識などもリアルタイムにしかも複数処理できる。
・Javaなどに比べ、C言語なので物理計算など高速な計算も得意。
というものです。
MacOSであれば、iPhoneアプリを作ることも可能なようです。


ライセンス
Wikiを見る限り、MITライセンスというもので、GPLなどのコピーレフト(利用して作ったものは同じように開示しなければいけない)よりも緩く、著作権表示・許諾表示を付ければ良いというものっぽいです。


具体例
いくつかアート作品の具体例があるのですが、その中でも印象的なものを紹介します。

・Double-Taker(Snout)


巨大な謎のモンスターが人々を見つめています。
実際は、人の動きに合わせて動くプログラミングされたロボットです。


・Hand from Above


監視カメラに映し出された人々を画像認識し、スクリーンの中で巨大な手が人々をくすぐったり、つまみ上げたりするAR(拡張現実)作品。


なかなか期待できそうです。がんばります。
03 | 2017/04 | 05
Su Mo Tu We Th Fr Sa
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -
プロフィール

エレクトリックバカ

Author:エレクトリックバカ

ポケコンでプログラミングに目覚め、PICマイコンで電子工作に希望を抱き、来たるべきUGDの時代を夢見て眠る。
そんな うだつが上がらないサラリーメン。
先生、電子工作はおやつに入りますか?




Electric Baka

最新記事
カテゴリ
月別アーカイブ
最新コメント
最新トラックバック
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。