Entries

スポンサーサイト

カテゴリ:スポンサー広告
更新日:--------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

#enchantMOON の一番の特徴はペンによる手書きで、ストロークデータが扱える。なら、ストロークデータの加工こそが、シールのやるべきことじゃないか?

カテゴリ:enchantMOON
更新日:2013-09-23
初シールということで電卓シールをつくって、さて、じゃあ次に何を作ろう?シールコンテストもあるらしいから、出品できるようなのがいいなぁ・・・

> #enchantMOON の初めてのシールということで、電卓シールを作ってみました。 - fintopo

今のenchantMOONでは、できることが限られる。手っ取り早く、面白そうなもの、というとゲームみたいなのか?

> enchantMOONで「簡易版とことんぷよぷよ」を遊べるようにしてみた | paraches lifestyle lab.
> enchantMOONとWebで動くゲームを作ってみた - INAの日記

とはいえ、enchantMOONでゲームやって面白いか?enchant.jsで作ったのが動くというのは、確かにすごい。けど、それってわざわざenchantMOONで動かす必要なんて無いじゃない?

enchantMOONの特徴といえば手書き、ペン。なら、ペンを使ったゲーム?これだって、突き詰めればiPadと変わりはない。なら、そっちでいくらでも面白いゲームができてるだろう。

実は、電卓シールをつくっているときから、なんか違和感があったんだよね。なんか、enchantMOONとシールという仕組みの中で作るべきものでは無いような感じがあった。じゃあ、いったい、何を作ればいい?

> enchantMOON Crew&Developers Conference#1 - enchantMOON News

enchantMOON Crew&Developers Conference#1で清水さんは、「アプリとデータの関係を変えたい」と言っていた。「UNIXのフィルターのようなもの」だとか。

「標準入出力ができるプログラムをパイプでつないで処理する」ってのは、UNIXを知った時に結構感動したんだよね。一つ一つのプログラムは単純なんだけど、それを組み合わせて、なにかアプリができるというのは、パズルのような面白さもあって、結構はまっていたころもある。

UNIXのフィルター処理は、標準入出力を使うということで、テキスト処理が基本だった。けど、enchantMOONの一番の特徴は、ペンによる手書きで、扱えるデータは、手書き(ストローク)データ。なら、ストロークデータの加工こそが、シールのやるべきことじゃないか?

そう考えて、ストロークを加工するシールを作ってみた。

> #enchantMOON ストローク加工シールを作ってみました。とりあえず、手ぶれ補正と四角化。 - fintopo

ストロークデータは、info.jsonをオブジェクト化して取得できるのだけれど、これがちょっと扱いづらい。特に、ストロークの点の集まりが、x座標、y座標、筆圧で並んだ配列ってのが、ちと苦手。

ページは、ストロークの集まり、ストロークは点の集まり。集合を処理するなら、関数型プログラミングが適していると思うんだ。というわけで、underscore.jsを使って、ライブラリ化してみた。

> fintopo/MOONStrokes - GitHub

Backbone.jsのCollectionのコードを真似て、underscore.jsのメソッドをミックスインしてあるので、集合に対する処理として記述できる。メソッドチェインで書くと、フィルター処理っぽくなるね。

まだ、手ぶれ補正と四角化のための機能しかないんだけど、徐々に機能アップする予定なので、よければ使ってみてください。意見、不具合報告、共同開発者は、大歓迎です。
スポンサーサイト

Appendix

プロフィール

いむら@fintopo いむら@fintopo

ガーデニングが趣味のフリーのシステムエンジニア兼プログラマ(フルスタックエンジニア)です。

仕事募集中です。個人なので、融通がききます。 大規模な開発はできないかもしれませんが、研究や製品開発レベルでの小規模開発、特に相談しながら新しいものを作っていくのが得意です。詳しくはWebサイトをご覧ください。
詳しくは「fintopoとは」をご覧ください。

> fintopoとは

このページのQRコード

季節暦

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