Processing」カテゴリーアーカイブ

Metaball

Metaballを実装してみた。

とりあえず動いてはいるけどまだ速度に問題あり。
ということで、数増やせなかったり、ArrayListで取り扱えなかったりでダイナミックに生成、消滅させたりするのはムリそう。。

ただ、単純な実装でも割とキレイに映るのでスクリーンセーバーにしてみてもいいかも。

IR visualizer(IRremote用)

最近ちょいと思うところがあり、先日購入したArduino使って学習リモコンを鋭意制作中。
リモコン受信機やら赤外線LEDやらを揃えて作成しているのだけど、一つ問題が。

受信した信号をチェックするために、Arduinoがシリアルで吐き出した赤外線ON/OFF時間の数値列を眺めるというやり方をとっているんだけどこれが非常に分かりづらい。

ということでProcessing使って赤外線信号のビジュアライザ作ってみた。
これを使えばリモコン信号の比較が比較的容易に可能になるかなと。

実効画面はこんな感じ↓

シリアルで受信したデータを使ってONを赤、OFFを白で示してます。
縦に4つまで並べられて、5回目以降はまた一番上から上書きされます。

ただし、Arduino用の赤外線リモコンライブラリIRremoteが吐き出したデータ形式にしか対応していないので応用範囲はかなり狭い。。

OpenProcessingで遊ぶ

OpenProcessingというサイトのアカウントを取得して、ちょっと前からちょこちょこ遊んでます。

OpenProcessingはProcessingのスケッチをアップしたり共有したりするサイト。
前に紹介したHasCanvasよりも機能が豊富。
投稿されてるスケッチもなかなかハイレベルで、ぼーっと見てるだけでも時間を潰せてしまう。

OpenProcessing上でコーディングすることも出来るのでProcessingをちょこっと試してみたいという人にもオススメ。

※自分もいくつかアップしていたりするのでコチラもよろしくお願いします。

Force map

今日も今日とてHasCanvasで実験。


ネットで色々調べながらForce mapとかいうアルゴリズムを実装してみた。
Force mapはperlin noiseを使って画面上にベクトルを配置し、そのベクトルの値によってパーティクルの加速度を変化させるというもの。

これをベースにすれば色々オモロイことができそうな予感。

Processingのスケッチ共有サイトHasCanvas

世はゴールデンウィーク真っ最中。
そんな中自分はHasCanvasというweb上でProcessingのスケッチを作成、アップ、共有するサイトで日がな一日遊んでいる。

似たようなサイトのwonderflなんかと比べるとHasCanvasはもっとずっとシンプルで、サクっと作って手早くアップするということに特化している(まだサービスが始まったばかりで機能が充実していないだけなのかもしれないけど)。
自分で作ったスケッチはHasCanvas上だけでなく、自分のサイトに埋め込むこともできる。

個人的にProcessingは物理、数学、あるいはオブジェクト指向なんかの学習用に適していると思っているので、こういったサイトの登場で敷居が低くなるのは喜ばしいことだなぁ、と。

自分もいろいろ作ってみたんだけど、一つミスってwhileループから出られなくなるルーチンを組んでしまった(climbsketch07というヤツ。開くとブラウザがハングしてしまう)…。こういう所も含めてところどころ改善の余地はあると思うので今後の発展を暖かく見守りたいデス。

パーティクルいろいろ

パーティクル生成テスpart2
今回は生成物に動きを加えたり、形を選べるようにしてみた。
…が、未だ速度面に問題があったりして、反省点も多々。。

技術的には図形描画部分をモジュール化して取り扱い易くするという方向で作ってみた。
javascriptはグローバルスコープ上にお手軽にインスタンスを生成できてしまうため、モジュール間でのクラス管理がめんどくさそうだな、という印象です。

前回言ってたデザパタ云々は現在勉強中の身。
そちらの勉強が一息ついたらこのパーティクルエンジン(というほどのものでもないけど)使って、オブジェクトの一括管理クラスを作ってみようかなと画策中。

パーティクル

パーティクル生成てす

夜桜をイメージしてみた。
まだ満開じゃないと思うので量は控えめです。

オブジェクトを大量に表示するアニメーションを作ってると、コードの抽象化とか一括処理が大事っぽいなぁ、ということをひしひしと感じる。
デザパタ駆使してオブジェクト一括操作用のクラスでもこさえるべきか。

Processingで物理エンジンもどき

Processingとjavascriptで動かす物理エンジンもどきを作ってみた


前回アップしたシューティングゲームはProcessingのスケッチ(pdeファイル)をhtmlからロードしただけのものだったので、今回はjavascriptで全コーディングしてみた。

コーディングしていて思ったのは、javascriptはクラス宣言方法が変わってるなぁ、と。
とりあえずプロパティの宣言は、

prototype無し→クラスプロパティ
prototype付き→インスタンスプロパティ

とみなせばいいのかな。

しばらくはProcessing.js使いながら勉強していこう。
修行、修行。