<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4293901047397216563</id><updated>2012-02-02T03:23:09.775+09:00</updated><category term='ruby'/><category term='lily'/><category term='thesis'/><category term='circuit'/><category term='javascript'/><category term='3d'/><category term='web'/><category term='javascript photoshop'/><category term='scriptographer'/><category term='illustrator'/><category term='art'/><category term='youtube'/><category term='creative commons'/><category term='openframeworks'/><category term='gainer'/><category term='sndobj'/><category term='supercollider3'/><category term='diary'/><category term='snap'/><category term='applescript'/><category term='iphone'/><category term='jmyron'/><category term='typography'/><category term='pcomp'/><category term='sound'/><category term='opengl'/><category term='e15'/><category term='python'/><category term='tips'/><category term='nodejs'/><category term='link'/><category term='eclipse'/><category term='code'/><category term='processing(p5)'/><category term='image'/><category term='actionscript'/><category term='scons'/><category term='dtp'/><category term='review'/><category term='c++'/><category term='work'/><category term='pd'/><category term='nodebox'/><category term='idea'/><category term='math'/><category term='max/msp'/><category term='java'/><category term='cygwin'/><category term='natureofcode'/><category term='note'/><category term='photoshop'/><category term='minim'/><category term='pil'/><category term='sketch'/><category term='code composition'/><category term='jitter'/><category term='book'/><category term='teeparty'/><category term='prosvg'/><category term='trash'/><category term='pysndobj'/><category term='people'/><category term='flickr'/><category term='unix'/><category term='controlP5'/><category term='sinatra'/><category term='design'/><category term='ess'/><category term='openal'/><category term='architecture'/><category term='jython'/><title type='text'>hysysk:blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default?start-index=101&amp;max-results=100'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>233</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-4514691987660466703</id><published>2012-02-02T03:22:00.000+09:00</published><updated>2012-02-02T03:23:09.789+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='nodejs'/><title type='text'>GIF STREAM</title><content type='html'>&lt;p&gt;&lt;a href="http://kksg.net/"&gt;kkosugeさんのサイト&lt;/a&gt;がすごく面白かったので、node.jsがちょっと追っていない間にバージョンが上がりまくってたのと、WebSocketに対する興味からこんなの作ってみた。&lt;/p&gt;&lt;p&gt;&lt;a href="http://gifstream.herokuapp.com/"&gt;GIF STREAM&lt;/a&gt;&lt;/p&gt;&lt;p&gt;サーバから4秒おきにGIFアニメのURLがimg要素のsrcにセットされるというだけ。なんだけど同期が取られているので複数タブや複数ウィンドウでも同じ画像が表示されるはず。&lt;p&gt;&lt;p&gt;やってみて思ったのは、多分GIFアニメじゃなくても同期のタイミングさえ合っていればそれなりに楽しめそうということと、特定のコネクションから操作を受け付けるようにすればVJ的に画面の制御もできそうということ。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-4514691987660466703?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/4514691987660466703/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=4514691987660466703' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/4514691987660466703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/4514691987660466703'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2012/02/gif-stream.html' title='GIF STREAM'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-7909523199960548445</id><published>2011-12-13T01:37:00.003+09:00</published><updated>2011-12-14T01:51:24.655+09:00</updated><title type='text'>stonewall.js開発日記1</title><content type='html'>唐突ですが何かしら継続して勉強していけるものを作ろうと思ったので、高さの違う要素を敷き詰めて並べてくれるJavaScriptのライブラリを作ろうと思います。そういうことができるものは既に世の中にあるのだけど、開発手法や設計の勉強が主目的。名前はstonewall.jsとしました。テスト駆動で作ろうと思うので、まず&lt;a href="https://github.com/jquery/qunit"&gt;QUnit&lt;/a&gt;をダウンロード。使い方は使いながら覚える。ディレクトリ構成はこんな感じ。example以下に実際に表示されるサンプル用のhtmlを置く。test以下のindex.htmlは、ブラウザで開くとQUnitのテスト結果を表示する。テストコードはtests以下に追加していく。&lt;pre&gt;&lt;br /&gt;stonewall/&lt;br /&gt;├── example&lt;br /&gt;│   └── index.html&lt;br /&gt;├── src&lt;br /&gt;│   └── stonewall.js&lt;br /&gt;└── test&lt;br /&gt;    ├── index.html&lt;br /&gt;    ├── lib&lt;br /&gt;    │   └── qunit&lt;br /&gt;    │       ├── qunit.css&lt;br /&gt;    │       └── qunit.js&lt;br /&gt;    └── tests&lt;br /&gt;&lt;/pre&gt;プロジェクトをgitのバージョン管理下に置く。QUnitは管理から外したいので.gitignoreを書いておく。.gitignore&lt;pre&gt;&lt;br /&gt;test/lib/&lt;br /&gt;&lt;/pre&gt;初期化。&lt;pre&gt;&lt;br /&gt;git init&lt;br /&gt;&lt;/pre&gt;カレントディレクトリ以下をadd。&lt;pre&gt;&lt;br /&gt;git add .&lt;br /&gt;&lt;/pre&gt;コミット。&lt;pre&gt;&lt;br /&gt;git commit -m "Initial commit"&lt;br /&gt;&lt;/pre&gt;基本的にmasterはmergeするだけにしてbranchを切りまくるのがおすすめと聞いたので、そうします。&lt;pre&gt;&lt;br /&gt;git branch temp&lt;br /&gt;git checkout temp&lt;br /&gt;&lt;/pre&gt;これでtempブランチで作業を進めていける。今日はここまで。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-7909523199960548445?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/7909523199960548445/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=7909523199960548445' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7909523199960548445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7909523199960548445'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2011/12/stonewalljs1.html' title='stonewall.js開発日記1'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-5350508336000593135</id><published>2011-09-24T04:26:00.000+09:00</published><updated>2011-09-24T04:54:37.754+09:00</updated><title type='text'>Paper.jsをソースからビルド</title><content type='html'>&lt;p&gt;&lt;a href="http://scriptographer.org/"&gt;Scriptographer&lt;/a&gt;をCanvasで動かすフレームワークである&lt;a href="http://paperjs.org/"&gt;Paper.js&lt;/a&gt;。&lt;br /&gt;通常であればDownloadからzipファイルをダウンロードして読み込めばそのまま使えるんだけど、githubにソースからビルドする方法が載っていたのでやってみた。&lt;/p&gt;&lt;h4&gt;githubからPaper.jsをclone&lt;/h4&gt;&lt;pre&gt;git clone --recursive git://github.com/paperjs/paper.js.git&lt;br /&gt;&lt;/pre&gt;buildフォルダに移動して、&lt;br /&gt;&lt;pre&gt;./build.sh&lt;br /&gt;&lt;/pre&gt;でdistフォルダにpaper.jsができるんだけど、これだとzipファイルのものと同じなので、compressedしたい。&lt;h4&gt;NodeJSのUgrifyJSを使う&lt;/h4&gt;npmで&lt;a href="https://github.com/mishoo/UglifyJS"&gt;UglifyJS&lt;/a&gt;をインストール。カレントディレクトリはbuildのまま、作業を続ける。&lt;br /&gt;&lt;pre&gt;npm install -g uglify-js&lt;br /&gt;&lt;/pre&gt;nvmを使っているので、-gを付けてグローバルインストールすると、currentで使用しているバージョンのlibフォルダの中のnode_modulesというフォルダにインストールされる。&lt;br /&gt;paper.jsプロジェクトのフォルダと同じ階層にuflifyjsという名前でシンボリックリンクを作成。&lt;br /&gt;(githubに載っているサンプルはシンボリックリンクの引数が逆で、一つ目にソースを指定)&lt;br /&gt;&lt;pre&gt;ln -s ~/.node/v0.4.9/lib/node_modules/uglify-js ../../uglifyjs&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;作成されているか確認&lt;/p&gt;&lt;pre&gt;ls -l ../../&lt;br /&gt;lrwxrwxr-x   1 hayashiyosuke  staff   60 Sep 24 03:15 uglifyjs -&amp;gt; /Users/hayashiyosuke/.node/v0.4.9/lib/node_modules/uglify-js&lt;br /&gt;&lt;/pre&gt;できてる。&lt;br /&gt;&lt;h4&gt;comressedオプションでビルド&lt;/h4&gt;&lt;pre&gt;./build_sh compressed&lt;br /&gt;&lt;/pre&gt;確認&lt;br /&gt;&lt;pre&gt;ls -l ../dist &lt;br /&gt;-rw-rw-r--  1 hayashiyosuke  staff  144000 Sep 24 03:22 paper.js&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;70KBほど軽くなってる。&lt;br /&gt;開いてみると、余分なスペースが取り除かれ、変数名や関数名が短くなってる。&lt;/p&gt;&lt;p&gt;今後JavaScriptはかつてのCになると言われているけど、こんな感じでビルドして使うものになってるんだな。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-5350508336000593135?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/5350508336000593135/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=5350508336000593135' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/5350508336000593135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/5350508336000593135'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2011/09/paperjs.html' title='Paper.jsをソースからビルド'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-7682411209062450626</id><published>2011-09-21T02:14:00.001+09:00</published><updated>2011-10-02T01:44:16.637+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='sound'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>JavaScriptでSine Waveを鳴らす</title><content type='html'>&lt;p&gt;連休中に色々と調べものしてて、&lt;a href="https://github.com/corbanbrook/dsp.js/"&gt;dsp.js&lt;/a&gt;というライブラリを見つけたので使ってみた。Chrome14でしか動作確認してない。Git覚えたくてgithubに上げたけど、これくらいならgistでよかったと思った。&lt;br&gt;&lt;a href="https://github.com/hysysk/SoundCheck"&gt;SoundCheck&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://github.com/oampo/Audiolet"&gt;Audiolet&lt;/a&gt;も面白そう。&lt;br&gt;最近&lt;a href="http://nodejs.org/"&gt;node.js&lt;/a&gt;も触ってみてるので、&lt;a href="https://github.com/jussi-kalliokoski/audiolib.js/"&gt;audiolib.js&lt;/a&gt;も入れてみた。&lt;/p&gt;&lt;p&gt;node.jsは&lt;a href="http://mxcl.github.com/homebrew/"&gt;Homebrew&lt;/a&gt;からとかソースをビルドとか試してみたけど、&lt;a href="https://github.com/creationix/nvm"&gt;nvm&lt;/a&gt;使って複数のバージョンを入れて動かすのが良さそう。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-7682411209062450626?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/7682411209062450626/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=7682411209062450626' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7682411209062450626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7682411209062450626'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2011/09/javascriptsine-wave.html' title='JavaScriptでSine Waveを鳴らす'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-4886725639320991090</id><published>2011-04-21T02:04:00.008+09:00</published><updated>2011-09-24T04:03:26.932+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unix'/><category scheme='http://www.blogger.com/atom/ns#' term='cygwin'/><title type='text'>Cygwinの使い方</title><content type='html'>Windows 7&lt;br /&gt;Cygwin 1.7.9-1&lt;br /&gt;&lt;a href="http://cygwin.com/"&gt;http://cygwin.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;setup.exeを実行してInstall from Internetをチェックし本体とパッケージをインストール。入れそびれたパッケージがあった場合もsetup.exeを実行してDownload Without InstallをチェックしてLocal Package Directoryにダウンロードした後、再度setup.exeを実行しInstall from Local Directoryでインストールすることができる。&lt;br /&gt;(4/25追記)&lt;br /&gt;上みたいなことしなくても、Install from Internetでよかった。インストール済みのファイルはKeepになっている。&lt;br /&gt;&lt;br /&gt;&lt;s&gt;.bashrcが作られていない場合、ホームに自分で作っても起動時に読み込まれなかった。パッケージのインストール具合で変わるみたい。何か色々入れたら自動的に.bashrcと.bash_profileが出来てて、&lt;/s&gt;&lt;br /&gt;↑これなんだったんだろう…再現しない。&lt;br /&gt;&lt;br /&gt;Cygwin.bat起動時に.bashrc, .bash_profileなどが作られた旨が表示されるので、.bashrcを開いて&lt;br /&gt;&lt;pre class="code"&gt;# User dependent .bashrc&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;とか書かれてたのでその下にPATHを設定した。&lt;br /&gt;Cygwinを起動し直して、&lt;br /&gt;&lt;pre class="code"&gt;echo $PATH&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;で追加したPATHがちゃんと読み込まれているか確認できる。&lt;br /&gt;&lt;br /&gt;/etc/bash.bashrcは読み込まれてたので(中にecho書いて試した)、最悪ここに書いとけばいいのかもと思ったけど、&lt;br /&gt;&lt;pre class="code"&gt;# Modifying /etc/bash.bashrc directly will prevent&lt;br /&gt;# setup from updating it&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;というコメントが気になったのでアンインストールしてsetup.exeをやり直したりした。&lt;br /&gt;アンインストールは基本的にRoot Directoryを消すだけでいいみたい。ゴミは残ってしまうけど。&lt;br /&gt;&lt;br /&gt;早く慣れたい。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-4886725639320991090?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/4886725639320991090/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=4886725639320991090' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/4886725639320991090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/4886725639320991090'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2011/04/cygwin.html' title='Cygwinの使い方'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-5997937432366147134</id><published>2011-02-28T23:45:00.008+09:00</published><updated>2011-03-03T05:15:31.092+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='work'/><category scheme='http://www.blogger.com/atom/ns#' term='review'/><category scheme='http://www.blogger.com/atom/ns#' term='diary'/><title type='text'>□□□『CD』</title><content type='html'>□□□の新しいアルバム『CD』のグラフィックを作ったり、&lt;br /&gt;MV作ったり、&lt;br /&gt;&lt;iframe title="YouTube video player" width="500" height="311" src="http://www.youtube.com/embed/ZwGpF9hOdSQ" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;Web作ったり、&lt;br /&gt;&lt;a href="http://kuchiroro.com/special/cd/"&gt;CDの読み方&lt;/a&gt;&lt;br /&gt;ライブの演出を手伝ったりしました。&lt;br /&gt;どれも全体のアートディレクションは伊藤ガビンさん、グラフィックデザインはいすたえこさんです。&lt;br /&gt;&lt;a href="http://www.boctok.co.jp/"&gt;ボストーク&lt;/a&gt;という会社で制作してました。&lt;br /&gt;&lt;br /&gt;本当はそれぞれのタイミングで書くのが良かったのだけど、途切れることなく山場が続いたので全く告知できず。&lt;br /&gt;色々まとめようかと思ってたけど&lt;a href="http://www.cinra.net/interview/2011/02/23/000000.php"&gt;インタビュー&lt;/a&gt;が掲載されたのでそっち読んでもらった方がいいかも知れない。Webもいくつかの雑誌に載るらしいです。&lt;br /&gt;初回版もうすぐなくなりそうとのことで、売り上げに貢献できたっぽくて嬉しいです。&lt;br /&gt;&lt;br /&gt;テクニカルな部分に関してはProcessingをめちゃくちゃ使っていて、PDFの書き出しがとても役立った。ジャケットやTシャツ、ポスターなどサイズが変わったりしても扱いやすい。&lt;a href="http://blog.gupon.jp/"&gt;gupon&lt;/a&gt;君にデータを渡すために連番のPDFを書き出したり、PDFだと何故かAfterEffectsが落ちるから&lt;a href="http://www.foolabs.com/xpdf/"&gt;Xpdf&lt;/a&gt;てのでEPSに変換したり、細かい部分で色々勉強になりました。&lt;br /&gt;歌詞の文字の重複をなくしたり、濃度順に並び替える部分はpython使ったり。&lt;br /&gt;&lt;br /&gt;MVの最後の方の文字が右上に上がって行くところは元々&lt;a href="http://evan-roth.com/"&gt;Evan Roth&lt;/a&gt;が作った&lt;a href="http://evan-roth.com/jay-z.php"&gt;jay-zのプログラム&lt;/a&gt;っぽいことをやろうとしてProcessingに移植して作った。文字と文字がぶつからないようにとか色々改良してある。ソース読む限り元ネタはおそらくGoran Levinの&lt;a href="http://golancourses.net/compform/2008/10/generating-code-from-recorded-mouse-data/"&gt;これ&lt;/a&gt;。&lt;br /&gt;&lt;br /&gt;で、僭越ながらアルバムの内容紹介です。&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;1. はじまり&lt;/span&gt;&lt;br /&gt;デモの段階からすごく変わった曲。音の響きが気持ちいい。後半の盛り上がりは感動的。大好き。作業中はずっと「ひび きあい(日々気合・響き合い)」を繰り返してた。歌詞カードがもうすぐWebで見られますが、このビジュアルから始めて曲作ったそうです。右チャンネルと左チャンネルからそれぞれ音が鳴って、右は「右」の母音(いい)、左は「左」の母音(いあい)になってる。というのを感じさせないで普通に聴けてしまうのは良いのか悪いのか。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;2. 1234 feat.内田慈&lt;/span&gt;&lt;br /&gt;4人の登場人物がそれぞれ別々の拍子で歌う。映画のカット割を意識してるらしいけど本当にそんな感じで映像が浮かぶ。内田慈さんの声がいい。「フォルダから携帯のデータ ワン」のとことかね。これは&lt;a href="http://kuchiroro.com/special/cd/img/1234.jpg"&gt;Webで歌詞カード見れます&lt;/a&gt;。&lt;br /&gt;内田さんにはライブ2日目での怪演に衝撃を受けた。『スカイツリー』の写メとか、『Tokyo』でのキュートさとか。ロリコンが直るレベル。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;3. ヒップホップの経年変化&lt;/span&gt;&lt;br /&gt;せいこうさんの『ヒップホップの初期衝動』の続き。音はよりハードで、リリックにも励まされる。&lt;a href="http://www.youtube.com/watch?v=JmPlKSN_ALs"&gt;これのMV&lt;/a&gt;もガビンさん監督で、gupon君と&lt;a href="http://www.chokusen.com/teppei.html"&gt;牧鉄平&lt;/a&gt;さんがアニメーションと編集をしました。&lt;a href="http://ucnv.org/"&gt;ucnv&lt;/a&gt;さんに作ってもらったグリッチ版、&lt;a href="http://kuchiroro.com/special/cd/3/index.html"&gt;『「ヒップホップの経年変化」の経年変化 by ucnv』&lt;/a&gt;もかっこいい。熟女好きになるレベル。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;4. 恋はリズムに乗って feat.大木美佐子&lt;/span&gt;&lt;br /&gt;元メンバーの大木さんがボーカル。爽やかでキャッチー。最初に皆これ好きになるでしょ。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;5. スカイツリー&lt;/span&gt;&lt;br /&gt;吾妻橋ダンスクロッシングで発表した作品。僕、観てたのですが寝てました。。年末にしのださん一人でのパフォーマンスも観ていて、その時はまだ何かの可能性は感じたけど完成ではないなぁという印象だった。別々に進行してる人や物事がある瞬間に交差して、よく分からないけど生まれるいい時間。『Tokyo』に続く東京シリーズで、ただ東京で生活してる感じがしてすごくいい。交通手段も通信手段も発達した今、これくらいの温度感だと思う。岡崎京子さんの漫画みたいな？僕も東京に対して思い入れはあるけど、いわゆる故郷を離れてどうとか、冷たい街とかのステレオタイプなイメージとは全然違う。ライブ2日目では&lt;a href="http://www.hsgn.tk/"&gt;細金&lt;/a&gt;監督の超絶映像と内田さんの怪演で確実にこの日のハイライトだった。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;6. あたらしいたましい feat.金田朋美&lt;/span&gt;&lt;br /&gt;4つ打ちのエレクトロっぽい音色で、最初聴いた時はすごく戸惑ったけど今ではとても好きな曲。男女2つのフレーズが組み替えられて曲ができあがっていく。MVではしつこいくらいにそこを強調した。マスタリング終わったら時間長くなってて焦った。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;7. ちょwwwおまwwww&lt;/span&gt;&lt;br /&gt;僕は割と綺麗にまとまる方向が好きなんですけど、こういう曲を入れてくるところに余裕を感じる。慣れるとちょっとはまる。ライブ1日目で披露したファンキーなバージョンがとてもかっこいい。全然違う曲。そして1日目終わった後にあっさり2日目用に長いのを作ってきてくれた。リハーサルで初めて聴いて、終わってからプログラム書き直し。本当に「ちょwwwおまwwww」て言いながらやってた感じ。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;8. ヵゝヵゞゐ。feat.RUMI&lt;/span&gt;&lt;br /&gt;かっこいい。知らずに聴いたら□□□だと気付かないのではないだろうか。「ｷﾀｰ」のところからのグルーヴ感が好き。ライブ1日目のせいこうさん版もよかった。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;9. iuai feat.まつゆう*&lt;/span&gt;&lt;br /&gt;村田シゲさんが作った曲。夜に聴きたくなる。サビの部分が全て同じ母音で、歌詞も英語みたいな日本語で音として面白い。正確な日本語としては意味が分からないけど、感覚として分かる。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;10. lʌ'v mi&lt;/span&gt;&lt;br /&gt;僕は□□□のインストが好きで、『Kuchiroro Posse』とか最高だと思ってる。何て言うかかわいい。この曲はさらにキラキラした歌心がある。&lt;br /&gt;&lt;br /&gt;デモは上がってくる度に良くなるし、ライブではさらにアレンジを変えてくるし、毎回驚かされて、刺激の多い案件でした。それに加えていすさんやいしい君のグラフィックだったりgupon君の映像だったり、細金君の映像が加わって来て、&lt;a href="http://imoredy.com/"&gt;水尻&lt;/a&gt;さんとかucnvさんとか&lt;a href="http://okikata.org/"&gt;谷口&lt;/a&gt;君も巻き込んで、自分も奮起させられたし、結果面白いものになったのではないかと思います。締め切り直前の追い上げ感は卒展とかの盛り上がりに近い。プロがそれじゃ駄目なのかも知れないけど。音楽だけでなく映像やグラフィックも含めてこういう過剰さを持ったアーティストって僕が10代だった頃はフリッパーズギターとかフィッシュマンズとか電気グルーヴだったりしたと思うんだけど(oasisとか聴いてたのでリアルタイムでは通過してない)、今の□□□はそういう存在だと思う。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-5997937432366147134?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/5997937432366147134/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=5997937432366147134' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/5997937432366147134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/5997937432366147134'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2011/02/cd.html' title='□□□『CD』'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/ZwGpF9hOdSQ/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-6673482542888177677</id><published>2010-11-02T04:28:00.003+09:00</published><updated>2011-09-24T04:04:13.050+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='sinatra'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>HerokuでSinatraを動かす</title><content type='html'>思うところあって&lt;a href="http://www.sinatrarb.com/"&gt;Sinatra&lt;/a&gt;を触ってみた。ついでにGitも動かしながら覚えている。&lt;br /&gt;&lt;br /&gt;が、&lt;a href="http://blog.heroku.com/archives/2009/3/5/32_deploy_merb_sinatra_or_any_rack_app_to_heroku/"&gt;ここ&lt;/a&gt;に書いてある通りにしても動かない。&lt;br /&gt;ターミナルでheroku logsと打ち込んでエラーを読む。&lt;br /&gt;&lt;pre&gt;==&gt; dyno-2855633.log (crash) &lt;==&lt;br /&gt;/usr/ruby1.8.7/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- sinatra (LoadError)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Sinatraがない、とのこと。&lt;br /&gt;&lt;a href="http://d.hatena.ne.jp/ku-kai27/20101101"&gt;同じ日にはまっている人がいらっしゃった&lt;/a&gt;。&lt;br /&gt;僕も何もしなくても最初から使えるようになっていると思ってました。&lt;br /&gt;&lt;br /&gt;で、解決法はもうひとつあって、マニフェストファイルを作る。.gemsというファイルを同じ階層に作って&lt;br /&gt;&lt;pre&gt;sinatra --version 1.1&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;と書いてpushするだけ。細かいことは&lt;a href="http://docs.heroku.com/gems"&gt;公式ドキュメントに書いてある&lt;/a&gt;。&lt;br /&gt;&lt;br /&gt;最初のとこに書いておいて欲しい(check out the docsのリンク先がかつてそうだったのかも知れない。にしても直して下さい)。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-6673482542888177677?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/6673482542888177677/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=6673482542888177677' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/6673482542888177677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/6673482542888177677'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2010/11/herokusinatra.html' title='HerokuでSinatraを動かす'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-3719975463705938131</id><published>2010-10-02T00:36:00.005+09:00</published><updated>2011-09-24T04:04:51.944+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='processing(p5)'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>ArrayListについて認識を改めたところ</title><content type='html'>以前の投稿(&lt;a href="http://hysysk.blogspot.com/2008/11/build-ribbons.html"&gt;build ribbons&lt;/a&gt;)で、&lt;br /&gt;for文のところを単にかっこいい書き方としか認識してなかったんですけど、&lt;br /&gt;配列の長さがループの途中で変わるので、ああいう風にしておかないとremoveで取り除かれた分の添字が詰まった結果、参照されないオブジェクトがでてきてしまってちらつきが起こってしまいます。&lt;br /&gt;&lt;br /&gt;こういう場合。&lt;br /&gt;試しにdraw()内のfor文の初期化式をint i=0、継続条件式をi&amp;lt;ripples.size()、再初期化式をi++にしてみると分かります。&lt;br /&gt;&lt;a href="http://processing.org/reference/ArrayList.html"&gt;リファレンス&lt;/a&gt;にも似たような例が書いてあって、Examples&gt;Topics&gt;Advanced Data&gt;ArrayListClassでも確認できます。&lt;br /&gt;[Ripple.pde]&lt;br /&gt;&lt;pre&gt;class Ripple {&lt;br /&gt;  float x, y, w, speed;&lt;br /&gt;  float age;&lt;br /&gt;  int intensity;&lt;br /&gt;  color c;&lt;br /&gt;  float a;&lt;br /&gt;  boolean finished;&lt;br /&gt;  &lt;br /&gt;  Ripple(float x, float y, int intensity, color c, float speed) {&lt;br /&gt;    this.x = x; &lt;br /&gt;    this.y = y; &lt;br /&gt;    this.intensity = intensity; &lt;br /&gt;    this.c = c; &lt;br /&gt;    this.speed = speed;&lt;br /&gt;    this.age = 0;&lt;br /&gt;    this.a = 255-255*(age-speed)/intensity;&lt;br /&gt;    this.finished = false;&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  void display() {&lt;br /&gt;    age += speed;&lt;br /&gt;    a = 255-255*(age-speed)/intensity;&lt;br /&gt;    if(a&lt;=5) {&lt;br /&gt;      finished = true;&lt;br /&gt;    }&lt;br /&gt;    stroke(c, a);&lt;br /&gt;    ellipse(x, y, age, age);&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  boolean finished() {&lt;br /&gt;    return finished;&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;[drawRipple.pde]&lt;br /&gt;&lt;pre&gt;Ripple r;&lt;br /&gt;ArrayList ripples;&lt;br /&gt;void setup() {&lt;br /&gt;  size(400, 400);&lt;br /&gt;  background(255);&lt;br /&gt;  noFill();&lt;br /&gt;  smooth();&lt;br /&gt;  ripples = new ArrayList();&lt;br /&gt;  for(int i=0; i &lt; 100; i++) {&lt;br /&gt;    ripples.add(new Ripple(random(width), random(height), (int)random(20, 80), color(0), random(0.1, 0.4)));&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void draw() {&lt;br /&gt;  background(255);&lt;br /&gt;  for (int i = ripples.size()-1; i &gt;= 0; i--) {&lt;br /&gt;    Ripple ripple = (Ripple)ripples.get(i);&lt;br /&gt;    ripple.display();&lt;br /&gt;    if(ripple.finished()) {&lt;br /&gt;      ripples.remove(ripple);&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-3719975463705938131?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/3719975463705938131/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=3719975463705938131' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/3719975463705938131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/3719975463705938131'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2010/10/arraylist.html' title='ArrayListについて認識を改めたところ'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-2133357342866020233</id><published>2010-09-07T17:41:00.009+09:00</published><updated>2011-09-24T04:29:38.659+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript photoshop'/><title type='text'>Photoshopで画像を統合して別名保存するJavaScript</title><content type='html'>FlattenAndSave.jsx&lt;br /&gt;&lt;pre&gt;var d = activeDocument;&lt;br /&gt;var fp = d.fullName.toString();&lt;br /&gt;var f = new File(fp.split(".psd")[0]+"_fix.psd");&lt;br /&gt;var out = d.duplicate();&lt;br /&gt;out.flatten();&lt;br /&gt;out.saveAs(f);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;コーダーの人にPSDを渡す際にレイヤーを1つに統合しておくと効率が良いそうなので、書きました。&lt;br /&gt;開いているPSDと同じ階層に"_fix"とついたPSDができます。&lt;br /&gt;統合したあとうっかり保存して閉じてしまう心配もありません。&lt;br /&gt;(編集中のデータには変更を加えず新しいドキュメントを複製し、そちらを統合するようにしました)&lt;br /&gt;Windows, MacのCS3で動作確認済。&lt;br /&gt;Adobe Photoshop CS3/プリセット/スクリプトフォルダ以下に入れておくとメニューから選べて便利。&lt;br /&gt;&lt;br /&gt;ロールオーバー用のレイヤーを残したい場合はそれらを非表示にし、flatten()ではなくmergeVisibleLayers()を使うなど、用途に合わせて使い分けるといいと思います。レイヤーカンプで切り替えを作っておくと親切。もてます。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-2133357342866020233?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/2133357342866020233/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=2133357342866020233' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/2133357342866020233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/2133357342866020233'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2010/09/photoshopjavascript.html' title='Photoshopで画像を統合して別名保存するJavaScript'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-1993886367821015974</id><published>2010-09-04T20:50:00.004+09:00</published><updated>2010-09-04T23:10:37.244+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='diary'/><title type='text'>2010年9月に思っていること</title><content type='html'>3年くらい前にbrazilさん、youpyさん、koyachiさん、ucnvさんとかが見せてくれた可能性に近づきたくてJavaScript勉強してる。&lt;a href="http://kusaker.net/audible/"&gt;ksskさんが最近Audible作ってた&lt;/a&gt;のとか、その辺の影響を同時期に受けてての2010年夏って感じで、何かシンクしたと思った。BEAMで今後やろうとしてることも例えば&lt;a href="http://d.hatena.ne.jp/brazil/20070905/1188995583"&gt;YHC&lt;/a&gt;とか&lt;a href="http://d.hatena.ne.jp/brazil/20070911/1189512473"&gt;Strobo&lt;/a&gt;みたいなこと。大量のイメージを一気に見たり、暇な時に流しておいたり。各WebサービスのAPIが充実して、便利なライブラリも沢山出て、ブラウザの機能も良くなって、おそらくユーザの環境やリテラシーも変わってきている今、できること。&lt;br /&gt;&lt;br /&gt;&lt;a href="https://chrome.google.com/extensions/detail/jgcmfdhedmnfefadcehmlhpjclhdamig"&gt;8tacksのChrome拡張&lt;/a&gt;がすごくいいなと思った。CTOが「デザインもっと良くするの手伝うから連絡して」って言ってすぐ反映されてるスピード感とかも面白い。&lt;br /&gt;Last.fmからアーティストの画像を取って来てて、スライドショーになる。&lt;br /&gt;&lt;br /&gt;最近一部のクラブに行くと、DJがかけてる曲に合わせてVJがYouTubeから動画を探して流す、みたいなスタイルになっている。自分達の周りでVJが流行ってた頃とはえらい変わりようだ。確かに解像度も十分だし、ブラウザでフルスクリーンも楽勝なので、理にかなっている。もちろん選ぶ時にセンスは問われるんだけど、これある程度自動化したりもっと面白くできるんじゃないかなーと思ってる。&lt;br /&gt;&lt;br /&gt;一方でWebの時代は終わったよ、という話もあるので、注意もしてる。&lt;br /&gt;&lt;a href="http://ido.nu/kuma/2010/05/04/stop-laughing-at-flash/"&gt;Flashのことを笑っている場合じゃない « ku&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;優れているとか正しいではなく、全体の雰囲気として、「そうだよな、これはもう終わりだよな」となってしまったら終わるものだと思う。とは言えこの辺は先端的な人達の話なので、どうなっても僕はあんまり得も損もしない気がする。基礎的な部分を鍛えつつ、面白いと思う方で何かやればいい。&lt;br /&gt;&lt;br /&gt;他iPadを想定したWebサイトと、iPhoneアプリを頑張っています。今年は働き者です。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-1993886367821015974?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/1993886367821015974/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=1993886367821015974' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/1993886367821015974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/1993886367821015974'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2010/09/20109.html' title='2010年9月に思っていること'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-2378163285298740746</id><published>2010-09-03T13:15:00.003+09:00</published><updated>2010-09-03T13:59:17.334+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>BEAM</title><content type='html'>&lt;a href="http://hysysk.org/work/beam/"&gt;BEAM&lt;/a&gt;&lt;br /&gt;CGIとかJavaScriptの勉強しつつ触っている間に何かアイディアが出ないかなと思って自分用の画像スクラップを作った。FFFFound!やTumblrみたいにBookmarkletから画像のURLをPOSTで書き込み用のCGIに送って、テキストファイルに保存。表示用のCGIからURLを読み出してHTMLとJavaScriptを出力。&lt;br /&gt;加えて不定期にローカルのPythonスクリプトからそのテキストファイルを読みに行って画像をダウンロードし、iPhoneの写真と同期させてる。&lt;br /&gt;&lt;br /&gt;visual dropboxとあるように一時的に貼っておいて、適当に消す、気分で替える壁紙みたいなもの。BookmarkletなのでiPhoneからでも会社のコンピュータからでも自分のMacBookからでも投稿できる。涸れた感じの技術だけど個人的に楽しむ分には割と便利。広く使ってもらうためにはブラウザのプラグインとかにすればいいのかな。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-2378163285298740746?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/2378163285298740746/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=2378163285298740746' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/2378163285298740746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/2378163285298740746'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2010/09/beam.html' title='BEAM'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-7442948089320317966</id><published>2010-08-14T21:46:00.004+09:00</published><updated>2010-09-03T14:00:06.188+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='sound'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='youtube'/><title type='text'>YouTuBJ</title><content type='html'>結構前にYouTubeでミックスできるの作りました。&lt;br /&gt;&lt;a href="http://hysysk.org/work/youtubj/"&gt;YouTuBJ&lt;/a&gt;&lt;br /&gt;わかりにくいけど黄色いエリアの上に入力フォームがあるのでそこから検索するかIDを入れると読み込みます。&lt;br /&gt;&lt;br /&gt;最大左と右で4つずつビデオが出てきて、それぞれ鳴らせるのが特長というか、既存のインターフェースにとらわれていないいいところです。使わないと思うけど。&lt;br /&gt;地味にフルスクリーンにもできるようにしました。小さい状態での画質の切り替えにはこつが必要で、動画エリアと画質を選ぶボタンエリアのちょうど境界線あたりを狙います。使わないですよね。&lt;br /&gt;&lt;br /&gt;あくまで自分用という感じで作っているので、サービス精神がありませんが、ざっくり何かを探して、すぐ再生できて簡単につなげればいいなという感じです。思いっきり探したい場合はタブでも切り替えてYouTube行って探してくればいいという考えです。&lt;br /&gt;&lt;br /&gt;他にもいくつか作っている人がいて、考え方の違いみたいなのがわかると面白いと思いました。いいアイディアがあれば取り入れたいし。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.turntubelist.com/"&gt;Turntubelist&lt;/a&gt;&lt;br /&gt;至れり尽くせりの完成度。このページで完結。プレイリスト書き出しができるのがいい。操作を覚える必要が少しある。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://v3ga.net/YouTubeMixer/"&gt;YouTubeMixer&lt;/a&gt;&lt;br /&gt;Processing界でも有名なv3ga先生いつのまに。SearchでYouTubeページをiframeで読み込む形になってるけど、ここからID取ってくるのは困難。埋め込みプレーヤーのバージョンも古いしYouTubeリニューアル前に作ってたのかな。シンプルで綺麗。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://shunyahagiwara.com/e/dj1/"&gt;youtube console&lt;/a&gt;&lt;br /&gt;DJ Delicious a.k.a. 萩原くんのやつ。さすがわかってる感じ。Changeで検索結果を掘っていける。操作画面みてても楽しいんじゃないかな。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.twoyoutubevideosandamotherfuckingcrossfader.com/"&gt;TWOYOUTUBEVIDEOSANDAMOTHERFUCKINGCROSSFADER.COM&lt;/a&gt;&lt;br /&gt;元々これに触発されて作った。partyで背景画像が切り替わる。RECはスクリーンキャプチャの方法が書いてるWikipediaへのリンク。世界はもっとこういう風になるべきだと思う。&lt;br /&gt;&lt;br /&gt;長らくインターフェースとかオーディオビジュアルに興味を持っているのですが、音を解析して映像にするとかだけじゃなくて、操作(演奏)しているところ自体が、視覚的に楽しめる要素になってるといいなと思います。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-7442948089320317966?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/7442948089320317966/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=7442948089320317966' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7442948089320317966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7442948089320317966'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2010/08/youtubj.html' title='YouTuBJ'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-4971874239366942119</id><published>2010-08-14T13:09:00.003+09:00</published><updated>2011-09-24T04:31:06.695+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='processing(p5)'/><title type='text'>ProcessingでGUIを簡単に使う</title><content type='html'>&lt;a href="http://www.amazon.co.jp/dp/0470375485"&gt;Algorithm for Visual Design&lt;/a&gt;より。&lt;br /&gt;&lt;a href="http://www.sojamo.de/libraries/controlP5/"&gt;controlP5&lt;/a&gt;とかその他色々あるけどちょっと試したい時とかAWT使うのもいいと思う。&lt;br /&gt;サンプルではaddActionListenerのところがこんな感じ&lt;br /&gt;&lt;pre&gt;a.addActionListener(new ActionListener() {&lt;br /&gt;  public void actionPerformed(ActionEvent e) {&lt;br /&gt;    println("A");&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;だったけどActionScriptぽく書き直してみた。&lt;br /&gt;ボタンが押されたときに呼び出されるメソッドは全てactionPerformedになるのでその中で分岐。&lt;br /&gt;[guiTest.pde]&lt;br /&gt;&lt;pre&gt;MyControl control;&lt;br /&gt;void setup() {&lt;br /&gt;  control = new MyControl();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void draw() {&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;[MyControl.pde]&lt;br /&gt;&lt;pre&gt;import java.awt.Button;&lt;br /&gt;import java.awt.event.ActionEvent;&lt;br /&gt;import java.awt.event.ActionListener;&lt;br /&gt;class MyControl implements ActionListener {&lt;br /&gt;  Button a;&lt;br /&gt;  Button b;&lt;br /&gt;  &lt;br /&gt;  MyControl() {&lt;br /&gt;    a = new Button("A");&lt;br /&gt;    a.addActionListener(this);&lt;br /&gt;    add(a);&lt;br /&gt;    b = new Button("B");&lt;br /&gt;    b.addActionListener(this);&lt;br /&gt;    add(b);&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  public void actionPerformed(ActionEvent e) {&lt;br /&gt;    if(e.getSource()==a) {&lt;br /&gt;      println("A");&lt;br /&gt;    } else if(e.getSource()==b) {&lt;br /&gt;      println("B");&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-4971874239366942119?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/4971874239366942119/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=4971874239366942119' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/4971874239366942119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/4971874239366942119'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2010/08/processinggui.html' title='ProcessingでGUIを簡単に使う'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-3169180669693828512</id><published>2010-08-12T00:03:00.007+09:00</published><updated>2010-08-12T00:28:23.046+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='teeparty'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><title type='text'>TEE PARTY</title><content type='html'>&lt;script type='text/javascript' charset='utf-8' src='http://teeparty.jp/user_data/packages/teeparty/js/blogparts.js?3529'&gt;&lt;/script&gt;&lt;br /&gt;夏はもう終わってしまいましたが、縁あって&lt;a href="http://teeparty.jp/"&gt;TEE PARTY&lt;/a&gt;にレーベルオーナーとして参加することになりました。&lt;br /&gt;ざっくり言うとネットでTシャツが買えるシステムです。&lt;br /&gt;&lt;br /&gt;注文が入ってから印刷に入るモスバーガーみたいなシステムで在庫を持たなくていいので、僕らはただひたすらグラフィックを作りまくって送りまくれば良い訳です。毎日大量にアップされていくので普通に埋もれてしまいますが、ちょっと考え方を変えて、ディグるのではなく(ディグってもいいですが)開いたとこでぱっと見て気に入ったら即買うみたいな気持ちで臨めばネットショッピング感覚的に新しい何かが生まれると思います。&lt;br /&gt;いずれプログラムで自動生成したもので毎日更新シリーズを作ろうと思っていますが、現状手作業でアップロードされているので様子を伺っています(地のTシャツの皺とかひとつひとつ違うの気づきましたか？僕は気づきませんでした!)。&lt;br /&gt;&lt;br /&gt;最初にお誘いいただいてからどのように展開していくか色々悩んだ結果、答えは出ずに時間だけが過ぎていったのでそのまま持ってる能力や人脈を最大限活かしてやっていくことにしました。&lt;br /&gt;なので会社でお世話になっているMARVELOUS DESIGNさん、恩師であるJames Gibsonさんに参加してもらっています。&lt;br /&gt;他にも関わりがある人で、今のTEE PARTYにはちょっとないテイストの人に声をかけています。&lt;br /&gt;&lt;br /&gt;お、&lt;a href="http://teeparty.jp/products/detail.php?product_id=1118"&gt;思い出横丁情報科学芸術アカデミー&lt;/a&gt;のTeeもよろしくお願いいたします。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-3169180669693828512?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/3169180669693828512/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=3169180669693828512' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/3169180669693828512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/3169180669693828512'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2010/08/tee-party.html' title='TEE PARTY'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-492451735074109363</id><published>2010-07-04T00:06:00.002+09:00</published><updated>2010-07-04T00:15:52.829+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='diary'/><title type='text'>引っ越しました(2ヵ月くらい前に)</title><content type='html'>僕は引っ越しが好きで、暇さえあれば誰かの引っ越しを手伝いたい。片付けをしながら思い出話をしたり、いらないものをもらったり、何より生活が変わる時の希望みたいなものに触れたい。&lt;a href="http://hysysk.blogspot.com/2006/12/20061222.html"&gt;4年前&lt;/a&gt;にも同じようなことを言ってる。今回は引っ越しの時に荷造りするのをストリーミングしたりした。次はまた2年後くらいに。&lt;br /&gt;&lt;br /&gt;新住所は台東区で、新御徒町が最寄り駅なんだけど、15分くらい歩く気があれば、秋葉原(日比谷線、山手線、総武線、京浜東北線、つくばエクスプレス)、末広町(銀座線)、仲御徒町/上野御徒町/上野広小路/御徒町(日比谷線、大江戸線、銀座線、京浜東北線、山手線)、蔵前(大江戸線、浅草線)、浅草橋(総武線、浅草線)も使えるので色んなところへ乗り換えなしで行けてとても便利。&lt;br /&gt;&lt;br /&gt;本当はやっぱり中目黒とか渋谷に住んで、折り畳み自転車で小さい犬の散歩をしながら友人のカフェでアイディアを練るみたいな生活が良かったと思う。先日うっかり中目黒駅で待ち合わせしたら、香水の匂いが次々と替わりながらずっといい匂いがしていた。&lt;br /&gt;&lt;br /&gt;前に住んでいたのは東横線の多摩川駅で、住所は田園調布だった。田園調布、というと大抵の人からは「いいとこですね」「お金持ちですね」みたいな反応が返ってくる。が、僕が住んでたのは丸子橋のすぐ近く、中原街道沿いで割と車の音がうるさいところだった。お金持ちっぽい人達は坂を登ったところに住んでるらしい。お店とかもあまりなく、若い人が遊んだりするところもないので、刺激はなかったけど、それが僕にはちょうど良かったし、自転車があればもっと良かったと思う。温泉もあった。引っ越して家賃も上がってしまったけど、通勤時間が短くなったりリラックス効果が高まったので、その分働いたり勉強したりする余裕ができた。以前の環境にいくらか足せば同じような効果を得られるかというとそうではないので、お金と時間の配分についてはよく考える必要がある。&lt;br /&gt;&lt;br /&gt;で、自転車なんだけど、仲御徒町に欲しかったピストを売ってるお店があったので予約してきた。届いたら自転車で通勤したい。そうすると終電を気にしなくてもよく、昼休みに洗濯物を取り入れに帰ったりすることもできる。働き方が変わる。明確な答えのない仕事において高いインセンティブとなるのは自由な時間だそうだ。会社の机に縛られて四六時中マウスをちょっと動かしたりしてる必要はない。裁量労働制だし、会社の人も別にうるさく言わないのだけど、何となくの空気みたいなものに押されて早く出社してるのに遅い人に合わせて遅く帰る日々が続いている。誰かが悪意を持ってそういう事態になってる訳でもないのだけど。&lt;br /&gt;&lt;br /&gt;今年は色々と外向けの活動ができそう。学生時代に「こ、こいつ…(目立ちやがって!)」と思ってた人達もどっちかと言えば仲間側になってきたし、ポジティブに自分への刺激にできるようになった。続けるということはそういうことなのだろう。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-492451735074109363?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/492451735074109363/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=492451735074109363' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/492451735074109363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/492451735074109363'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2010/07/2.html' title='引っ越しました(2ヵ月くらい前に)'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-8053964932949930715</id><published>2010-06-16T01:20:00.007+09:00</published><updated>2010-06-16T13:08:54.817+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='openal'/><category scheme='http://www.blogger.com/atom/ns#' term='sound'/><category scheme='http://www.blogger.com/atom/ns#' term='iphone'/><title type='text'>Dropophone</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_oxc4970ZOdY/TBhIomKh6xI/AAAAAAAAAYg/qYUZsgbJSds/s1600/dropophone.jpg"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 234px;" src="http://2.bp.blogspot.com/_oxc4970ZOdY/TBhIomKh6xI/AAAAAAAAAYg/qYUZsgbJSds/s400/dropophone.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5483212408600259346" /&gt;&lt;/a&gt;&lt;br /&gt;縁あって&lt;a href="http://www.lullatone.com/"&gt;Lullatone&lt;/a&gt;と一緒にiPhoneアプリを作りました。&lt;br /&gt;&lt;a href="http://www.lullatone.com/news/raindrop-melody-maker-2/"&gt;Raindrop Melody Maker&lt;/a&gt;のiPhone版という感じですね。音数を減らして選び直したり、マルチタッチができたり、色々と調整はしてあります。iTunesにリンクして音源が買えたり!&lt;br /&gt;&lt;br /&gt;こういう感じでミュージシャンのアイディアを実現するシステムやソフトウェアを作る、ということをずっとやりたかったのですが、ようやく一つ目標を達成した感じです。今後の動向も楽しみにしていて下さい。&lt;br /&gt;&lt;br /&gt;アプリのダウンロードはこちらから。&lt;br /&gt;&lt;a href="http://itunes.apple.com/us/app/dropophone/id376771022"&gt;Dropophone for iPhone, iPod touch, and iPad on the iTunes App Store&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;LullatoneのDropophone紹介ページ。&lt;br /&gt;&lt;a href="http://www.lullatone.com/news/dropophone-iphone-app/"&gt;Dropophone iPhone App « Lullatone&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-8053964932949930715?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/8053964932949930715/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=8053964932949930715' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8053964932949930715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8053964932949930715'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2010/06/dropophone.html' title='Dropophone'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_oxc4970ZOdY/TBhIomKh6xI/AAAAAAAAAYg/qYUZsgbJSds/s72-c/dropophone.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-7032130216627624487</id><published>2010-03-15T03:01:00.001+09:00</published><updated>2010-03-15T03:02:30.204+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='work'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>似ているIPアドレスのページを探す</title><content type='html'>&lt;a href="http://hysysk.org/work/lip/"&gt;lip&lt;/a&gt;&lt;br /&gt;検索対象に近いIPアドレスのドメインネーム(リモートホスト)を表示するサイトを作りました。&lt;br /&gt;ドメインネームからIPアドレスに変換して、ネットワーク部と推測される部分の下一桁違いのアドレスに問い合わせて、あればドメインネームを取ってくる。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://redundant-web.net/"&gt;redundant web&lt;/a&gt;というWeb上の展覧会に出した作品。&lt;br /&gt;&lt;a href="http://kiviak.org/"&gt;kiviak&lt;/a&gt;というアーティストランスペースの谷口君が企画。&lt;br /&gt;参加作家は全員以下のレギュレーションに従って制作した。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;1：webを展示空間とするのではなく，素材として用いること．&lt;br /&gt;2：単なるwebツール/webサービス(道具)を作らないこと．目的のない，且つ合目的な道具を作る．&lt;/blockquote&gt;&lt;br /&gt;メディアアートというジャンルを語る際に、余りにもテクノロジーや政治的なアクションにばかり傾き、「この赤がいいよね」というような質感に関する議論がほとんどなされていないのではないか、という疑問が谷口君にあったらしい。&lt;br /&gt;花は繁殖のために綺麗に咲くというが、それにしては綺麗過ぎるという「目的なき合目的性」こそが「美術」であると捉え、「役に立たない機械」を作ることでそれを達成しようという試み。&lt;br /&gt;&lt;br /&gt;Webにある素材としてまず着目したのがIPアドレス。普段あまり意識することはないけど、なくてはならないものだから。&lt;br /&gt;&lt;br /&gt;無作為にWebページを見たり、新しいものを見つけるのは結構難しいという風に思っていた。RSSリーダで沢山のページは購読しているが、たまに全く関係ないものにアクセスしてみたくなる時がある。結局それを面白がれるかどうかは自分次第なので、そんなに振れ幅は大きくならないのだけど、それまで自分になかったものをどうやって取り入れていけるかは常に考えている(今はKPOPのアイドルが好きです)。&lt;br /&gt;2番目の「目的のない，且つ合目的な道具を作る」という課題への回答としては上記のようなところで、当たる確率の低さや、下一桁違いという大雑把な探し方が冗長性かなと思っている。これでは理由として弱い気もするが。&lt;br /&gt;&lt;br /&gt;似たような作品に&lt;a href="http://ipbrowser.digitalmethods.net/"&gt;IP Browser&lt;/a&gt;というものがある。こっちはラジオのチューナーを意識しているみたい。「Googleとは違う世界の見方」、みたいなことが書いてあるが、今回の僕の狙いも1つはそこで、「ポータルサイトがなくなったらどうなるのか」という疑問がネットを始めた頃にあった。すごくシンプルで愚直な答えが出せた。&lt;br /&gt;&lt;br /&gt;技術的なところでは、初めてPerlでCGIを書いて、JavaScriptもXMLXttpRequestをある程度使えるようになったのが良かった。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-7032130216627624487?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/7032130216627624487/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=7032130216627624487' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7032130216627624487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7032130216627624487'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2010/03/ip.html' title='似ているIPアドレスのページを探す'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-8246115884553427055</id><published>2009-11-01T20:33:00.007+09:00</published><updated>2009-11-02T01:16:57.983+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='diary'/><title type='text'>クロアチアから帰ってきた</title><content type='html'>クロアチアに1週間ほど滞在し、展覧会のオープンを見届け、無事帰国して参りました。&lt;br /&gt;今回僕達を読んでくれたのは&lt;a href="http://www.kontejner.org/"&gt;KONTEJNER&lt;/a&gt;という団体で、インディペンデントで展覧会などの企画をしている。&lt;br /&gt;&lt;br /&gt;クロアチアの「Device Art」と日本の「デバイスアート」は、名前は同じだけど少し性格が異なっていて、それをうまく対比させる目的があったようです。トリエンナーレ形式で、今回が3回目。IAMAS関係者が多いのはアルスエレクトロニカでのキャンパス展が面白かったかららしい。&lt;br /&gt;&lt;br /&gt;確かに日本の作品はプロダクトのような形式なのに対し、クロアチアやスロベニアの作品はキネティックスカルプチャーと言った感じ。同じなのはそれぞれ身の回りにあるものや技術を使って作っているということや、ナンセンスであるということ。ナンセンス、というのは微妙な表現だな。明らかに遠回りで、冗長なのだけど、だからと言って単に意味がないという訳ではない。&lt;br /&gt;&lt;br /&gt;初日&lt;br /&gt;マヤとステファンが空港まで迎えに来てくれて(ステファンがデバイスアート展のポスターを広げながら待ってた)、滞在するユースホステルまでの途中、建築中のクロアチア初の現代美術館や図書館、コンサート会場などを教えてくれた。&lt;br /&gt;&lt;br /&gt;ホステルに着くとIAMASの先輩達が待っていて、一緒に夕食。案内してくれたのはマリーナ。ボランティアで展覧会のこととか全然知らなかったけど日本文化を勉強してるからってので頼まれたらしい。こういう感じが最高。&lt;br /&gt;成田からフランクフルトまでの機内食を普通に夕食レベルで食べ、フランクフルトからクロアチアに来る途中のフライトでもサンドイッチが出て、しかも近くに乗ってた日本人のおばちゃんが食べられないからってくれた分まで食べてしまったので全然お腹は空いてなかったけどスープやサラダを食べた。おいしい。オリーブオイルやバルサミコ酢が新鮮な感じ。&lt;br /&gt;食事後は僕とそう君、マリーナで夜の街へ繰り出す。マリーナの友達も合流してクラブ的なところへ。凄く混んでた。&lt;br /&gt;&lt;br /&gt;2日目&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_oxc4970ZOdY/Su1YF-reMtI/AAAAAAAAAWU/NTR28-jb9oQ/s1600-h/PA170065.JPG"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_oxc4970ZOdY/Su1YF-reMtI/AAAAAAAAAWU/NTR28-jb9oQ/s400/PA170065.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5399068388035015378" /&gt;&lt;/a&gt;&lt;br /&gt;展覧会場に入って準備。ビゴルとカメリアが連れてってくれる。カメリアはジャパノロジーを勉強していて、百人一首とか和歌を勉強したらしい。英語で話してたら「日本語でいいですよ」と言われ、帰ったらもっと英語勉強することを決意。カメリアは日本語に訳すと椿。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_oxc4970ZOdY/Su1aUtj7s8I/AAAAAAAAAWk/oVn03PUyPNM/s1600-h/PA170069.JPG"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_oxc4970ZOdY/Su1aUtj7s8I/AAAAAAAAAWk/oVn03PUyPNM/s400/PA170069.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5399070840161285058" /&gt;&lt;/a&gt;&lt;br /&gt;会場は隣がMočvaraというクラブで、元々は鉄工所だったところを改装した建物。若者には人気の場所らしい。クロアチアのこういうとこはあんまりガイドに載ってないしネットでも見かけない。&lt;br /&gt;&lt;br /&gt;お昼は会場近くのサンドイッチ屋でサンドイッチを頼む。チーズとかハムとかが挟んであるパンを選んで、トーストしてもらう。野菜とソースを選べるが、野菜は何種類選んでも料金は同じ。今回の企画を手伝っていて、ベルリンで活動しているサウンドアーティストの森田さん、IAMAS後輩のそう君と近くの川岸で食べる。&lt;br /&gt;&lt;br /&gt;3日目&lt;br /&gt;オシロスコープも届き、勘で使い方を覚えながら調整。読めないというほどではないが何故か波形が汚く読みにくい。マシンはMac OS10.4でPPCのminiMac。最新のProcessingだと起動しなかったが(おそらくstartup commandの問題)１つ前のバージョンにしたら動いた。&lt;br /&gt;&lt;br /&gt;夜は川北さんと渡邊君で軽く御飯。ピザなど。&lt;br /&gt;&lt;br /&gt;4日目&lt;br /&gt;会場での作業が本格的になってきて、暖房が入った。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_oxc4970ZOdY/Su1a6PESU7I/AAAAAAAAAWs/GBBaEuDsx1s/s1600-h/PA200192.JPG"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_oxc4970ZOdY/Su1a6PESU7I/AAAAAAAAAWs/GBBaEuDsx1s/s400/PA200192.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5399071484810515378" /&gt;&lt;/a&gt;&lt;br /&gt;これで温風が送られて会場が暖められる。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_oxc4970ZOdY/Su1bJEY468I/AAAAAAAAAW0/ODQUVAZ4_zU/s1600-h/PA200194.JPG"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_oxc4970ZOdY/Su1bJEY468I/AAAAAAAAAW0/ODQUVAZ4_zU/s400/PA200194.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5399071739642178498" /&gt;&lt;/a&gt;&lt;br /&gt;中から見るとこんなの。&lt;br /&gt;&lt;br /&gt;僕の作品は2階で、温風が来なくて寒かったが、キュレーターのオルガがアウターを貸してくれた。&lt;br /&gt;&lt;br /&gt;マシンを直前で手配できたiMacのSnow Leopardに取り替えてもらった。動作が軽くなり波形も綺麗になる。動作が重い→音が悪くなる→波形が汚くなる、と推測。&lt;br /&gt;代わりにAWTのTextEditorから日本語入力ができなくなるが、使うのはビゴルとカメリアくらいなので今回はこれでいくことにした。。本当にコンピュータはわからないことだらけで、よくこんなものを使って作品なんて作ってるなと毎回思う。僕はあまり作品という意識はなく、自分用だけど。&lt;br /&gt;&lt;br /&gt;オープン前日という雰囲気では全くなかったが、森田さんは「できちゃうんですよねーこれが。去年もそうでした。」と余裕。&lt;br /&gt;&lt;br /&gt;5日目&lt;br /&gt;オープンは19時からで、本当に沢山の人が集まった。森田さんの言葉通り、ちゃんと展覧会ができ上がっている。&lt;br /&gt;彼はオープニングに合わせて髪を切ってきた。流石です。&lt;br /&gt;&lt;br /&gt;キュレーターのスンチザに教えてもらった店で切ったらしいんだけど、普通の家を改装したようなところで、鏡とか椅子とかがアンティークな感じだったらしい。「自分の好きな部屋で、好きな客の髪を切りまくる、というのは良い仕事だね」という話をした。僕はずっと坊主で自分で切ってるけど、そういう店なら行ってみたい。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/moviecards/4035814207/"&gt;山辺さんの作品前で記念写真を撮るのが流行った&lt;/a&gt;。左端に写っているのがマルコで、今回の会場の設営のリーダー。展示台やスクリーンは全て発泡スチロールで、会場の照明は青とブラックライト。建物の雰囲気によく合っている。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_oxc4970ZOdY/Su1d3ZWQheI/AAAAAAAAAW8/WJFbyhiZTds/s1600-h/PA210245.JPG"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_oxc4970ZOdY/Su1d3ZWQheI/AAAAAAAAAW8/WJFbyhiZTds/s400/PA210245.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5399074734565524962" /&gt;&lt;/a&gt;&lt;br /&gt;Močvaraでサウンドイベントが始まる。オープニングということでハウスとかがかかってパーティ!って感じかと思いきや本気のノイズだった。&lt;br /&gt;&lt;br /&gt;23時過ぎても全然人が引く気配がなく、0時過ぎてようやく閉めたんだけど、平日だし次の日も平日なのに本当に皆元気でびっくり。ちゃんと遊んでちゃんと仕事もする感じはYCAMとかにも近いかも知れない。&lt;br /&gt;&lt;br /&gt;6日目&lt;br /&gt;プレゼンの日。と言ってもツアーしながら各作家が説明をするだけなんだけど、作品がインタラクティブなだけに質問と体験が一緒で、次第に人が拡散してしまい、僕に回ってくる頃にはもう個別にどうぞって感じになった。もうひとつの会場Nanoもオープン。寿司バーが隣にあって、ケータリングしたらしいけど、着いた頃には全部なくなってた。ひたすらワインを飲まされ、また夜の街に繰り出して飲んだ気がする。&lt;br /&gt;トラムは24時間動いていて、結構深夜でも皆遊んでいる。4時になると警察が来て強制的に全ての店が明るくなるそうで、どんな悪そうな奴もちゃんとそれで帰るらしい。見てみたかった。&lt;br /&gt;&lt;br /&gt;7日目&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_oxc4970ZOdY/Su1fEfnsZHI/AAAAAAAAAXE/mOo34VjpKhw/s1600-h/PA220310.JPG"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_oxc4970ZOdY/Su1fEfnsZHI/AAAAAAAAAXE/mOo34VjpKhw/s400/PA220310.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5399076059099194482" /&gt;&lt;/a&gt;&lt;br /&gt;スンチザの家でホームパーティをしようということで、森田さんやウィルと一緒にマーケットで買い物。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_oxc4970ZOdY/Su1f0QRodoI/AAAAAAAAAXM/Vk6flu-jd_k/s1600-h/PA220316.JPG"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_oxc4970ZOdY/Su1f0QRodoI/AAAAAAAAAXM/Vk6flu-jd_k/s400/PA220316.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5399076879613851266" /&gt;&lt;/a&gt;&lt;br /&gt;魚市場もある。マグロとサバっぽいのとサンマっぽいのとニジマスっぽいのを買う。&lt;br /&gt;寿司、サバっぽい味噌煮、サンマっぽい刺身、ニジマスっぽい塩焼きに決定。&lt;br /&gt;&lt;br /&gt;昼頃に一旦解散して僕らはお土産を探したり。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_oxc4970ZOdY/Su1gfMRYOQI/AAAAAAAAAXU/5EUZK3Yb-04/s1600-h/PA220334.JPG"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_oxc4970ZOdY/Su1gfMRYOQI/AAAAAAAAAXU/5EUZK3Yb-04/s400/PA220334.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5399077617273420034" /&gt;&lt;/a&gt;&lt;br /&gt;クロアチアのデザイン協会。ギャラリーができたのは最近らしい。&lt;br /&gt;HelveticaでHrvatica(クロアチアの女の子という意味)と書かれたTシャツと協会の年鑑を買う。おまけでTシャツをもう一着もらった。クロアチア語版のQuick brown foxみたいなやつ。&lt;br /&gt;&lt;br /&gt;スンチザはいつも変わった服を着ていてお洒落なので、そう君がどこで買ってるのか聞いた。最初は一緒に買い物に行く予定だったけど忙しくて都合がつかず、ステファンが連れて来てくれた。彼も忙しいのですぐまた戻って行ったのだけど。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_oxc4970ZOdY/Su1g-jeW6nI/AAAAAAAAAXc/NNLF5k4kIKI/s1600-h/PA220336.JPG"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_oxc4970ZOdY/Su1g-jeW6nI/AAAAAAAAAXc/NNLF5k4kIKI/s400/PA220336.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5399078156077820530" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.multiracionalnakompanija.com/"&gt;prostor&lt;/a&gt;というクロアチアで唯一のストリートスタイルの店で、取り扱ってるブランドや展示してる作品はほとんどクロアチアの作家によるもの。一周年記念で今まで展示した作家の作品を並べてるらしい。バッジを買う。ここもガイドには載ってなくて、中心地には近いけど普通には見つけられないところにある。流石にキュレーターはいいものを知っている。&lt;br /&gt;&lt;br /&gt;会場近くでやってたサーカスを見て、スンチザの家へ。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_oxc4970ZOdY/Su1jpckxrAI/AAAAAAAAAXk/jkYsV-zHeV4/s1600-h/PA230406.JPG"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_oxc4970ZOdY/Su1jpckxrAI/AAAAAAAAAXk/jkYsV-zHeV4/s400/PA230406.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5399081091983322114" /&gt;&lt;/a&gt;&lt;br /&gt;彼女はラム肉を焼いてくれて、僕らは森田さんを中心に魚料理を作った。僕はほぼ洗い物係。学生時代もそうだったけど、できるアーティストは確実に料理がうまい。曰く「アーティストは味覚に敏感じゃないとね」。&lt;br /&gt;おそらく味覚もそうだけど素材選びから調理の段取りから食べてる時の会話まで、やはりこういう場では問われるという印象。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_oxc4970ZOdY/Su1lOrLRYQI/AAAAAAAAAXs/xL0moKsx8ss/s1600-h/PA230458.JPG"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://3.bp.blogspot.com/_oxc4970ZOdY/Su1lOrLRYQI/AAAAAAAAAXs/xL0moKsx8ss/s400/PA230458.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5399082831069667586" /&gt;&lt;/a&gt;&lt;br /&gt;猫抱きまくり。&lt;br /&gt;&lt;br /&gt;8日目&lt;br /&gt;滞在最後の日。午前中は散歩しつつお土産探したり。午後は会場で皆にお別れの挨拶して、カトリーナに車で空港まで送ってもらう。彼女はアニメーションが作りたいらしく、日本のアニメにも詳しかった。渋滞ですごく時間がかかって、ちょっと乗り遅れたら良いのにと思った。&lt;br /&gt;&lt;br /&gt;本当にこれからって感じで、30歳くらいの人達に熱気があって、面白くなりそう。&lt;br /&gt;森田さんも話していたのだけど、毎回成立するかしないかギリギリの感じだけど、意外と本質を突いているというか、「これでいいんじゃん」という驚きがあるらしい。何より熱意と勢い。そういうのに「やられてしまった」と。&lt;br /&gt;普通展覧会を開くとしたらどこかの大学や美術館、ギャラリーに所属してとか、資格が必要だとか考えてしまいがちなものだけど、とにかくやってしまえばいいんじゃないかということ。&lt;br /&gt;&lt;br /&gt;いつだって何かにやられてしまいたいし、後先考えずにやってしまいたい。勿論クロアチアと日本では状況も違っていて、クロアチアの場合はKONTEJNERが今まさに一番上の世代。日本にはもう既に色んなものができてしまっている。&lt;br /&gt;人口も違うし、働き方も違う。山辺さんの作品が動いてなかった時に、日本時間で23時くらいだったにも関わらず普通に事務所につながったことに皆驚いていたらしいが、日本はそうでもしないと回らない仕組みになっている。普段働いている時にも無駄なこととか、こんな作業いらないのではと思ったりするけど、経済を循環させるという意味や、雇用を創出するという意味では仕方ないのかも知れないとも思う。でもおそらく皆もっと本質的なこととか、直接反応が返ってくるようなことを求めていて、&lt;a href="http://www.japandesign.ne.jp/HTM/REPORT/3rd_place/"&gt;サードプレイス&lt;/a&gt;みたいな発想が生まれてくるのだろう。&lt;br /&gt;&lt;br /&gt;帰ってくる途中の飛行機のニュースでは子育て給付金や失業率がどうのという話題。放送された短い内容だけでは判断できないが、インタビューされている人は「給付金が出たら寿司を食べたい」と言ってたり、「政府には安定した雇用を作り出すよう努力して欲しい」みたいなことを言っていて、これでは駄目だろうなと思った。勿論こういうことが最低限保証されるのはいいことだとも思うし、泥沼から抜け出す第一歩のためのセーフティネットは必要だろう。けど、考え方から変えないといけない気がする。先日会社の先輩と温泉に行った時にご一緒した&lt;a href="http://www.freedom-univ.com/lecture/detail10.html"&gt;伊藤さんが考えてること&lt;/a&gt;とか、面白いと思う。彼は建築や食べられる野草にも詳しく、モンゴル武者修行ツアーを組んだり、パン教室を開いている。&lt;br /&gt;&lt;br /&gt;だらだらしている間に27歳になってしまったが、しがらみとか失うものがない今がちょうどいい時期なのかも知れない。何となく考えていることを実行に移していきたい。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_oxc4970ZOdY/Su1nGjouMQI/AAAAAAAAAX0/C1a1PiNiJNM/s1600-h/PA230475.JPG"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_oxc4970ZOdY/Su1nGjouMQI/AAAAAAAAAX0/C1a1PiNiJNM/s400/PA230475.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5399084890630009090" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-8246115884553427055?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/8246115884553427055/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=8246115884553427055' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8246115884553427055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8246115884553427055'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2009/11/blog-post.html' title='クロアチアから帰ってきた'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_oxc4970ZOdY/Su1YF-reMtI/AAAAAAAAAWU/NTR28-jb9oQ/s72-c/PA170065.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-3943574610199655764</id><published>2009-10-06T10:13:00.008+09:00</published><updated>2009-10-06T13:25:33.152+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='photoshop'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>レイヤーカンプからWeb用のJPEGに書き出すJavaScript</title><content type='html'>Webデザイン(ワイヤーフレームから絵を起こす作業)はPhotoshopで常人の理解を超える数のレイヤーを駆使して行われます。そしてそれをコーダーと呼ばれる人達に渡してブラウザで動くようにしてもらったり、クライアントに対してこのデザインでいいですかという確認をとるために、マウスオーバーでこうなって、ボタンを押すこうなる、みたいな流れがわかるようにJPEGでスクリーンショット的な画像を書き出します。このような場合に「レイヤーカンプ」という機能を使い、それぞれのシーンを作っておくと便利です。&lt;br /&gt;&lt;br /&gt;で、いつもJPEGに書き出す際に「Webおよびデバイスに保存...」をしてるのですが、数が増えてくると面倒(一度本当に嫌な思いをしました)なので、レイヤーカンプから自動でシーン毎のJPEGを書き出してくれるスクリプトを書きました(その時に書けば良かったです)。&lt;br /&gt;「別名で保存」と同じようなものは既にファイルメニューにありますが、Webおよび...のやつがなかったので(少し変えればPNGなどにも書き出せます)。&lt;br /&gt;&lt;a href="http://hysysk.org/sketch/js/ps/exportLayerComp.jsx"&gt;exportLayerComp.jsx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;使い方:&lt;br /&gt;1.上の.jsxファイルをどこでもいいので保存して下さい。&lt;br /&gt;2.Macの場合はホーム(デスクトップではありません。家のアイコンの場所)に、Windows場合はC:直下にlayercompsという名前のフォルダを作ります。ここに画像ファイルが書き出されます。&lt;br /&gt;3.Photoshopのメニューからファイル&gt;スクリプト&gt;参照...を選びます。&lt;br /&gt;保存したexportLayerComp.jsxを「読み込み」でレイヤーカンプにつけた名前の通りのjpgが書き出されます。&lt;br /&gt;ファイル名はレイヤーカンプと同じ名前になります。日本語だったり長過ぎるとうまくいかないかも知れないです。書き出されるフォルダの位置や名前を変えたい場合は、任意のテキストエディタでexportLayerComp.jsxを開き、&lt;br /&gt;&lt;blockquote&gt;filePath = ""&lt;/blockquote&gt;の二重引用符内を好きなフォルダのパスに置き換えて下さい。&lt;br /&gt;Windowsの場合は\(または¥)に注意して下さい。一つだと次の文字が特殊文字として扱われてしまうので、階層の区切りには2つ入ることになります。&lt;br /&gt;&lt;br /&gt;デフォルトでの書き出しの設定は普通にWebおよび...をした時と同じにしてあります。&lt;br /&gt;画質を変更したい場合は、&lt;br /&gt;&lt;blockquote&gt;exp.quality = 70;&lt;/blockquote&gt;の値を0から100の範囲で指定して下さい。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;exp.format = SaveDocumentType.JPEG;&lt;/blockquote&gt;のJPEGのところを変更すればCOMPUSERVEGIF, PNG-8, PNG-24, BMPで書き出しできます。ファイルの拡張子を追加している".jpg"のところも合わせて変えるのを忘れずに。 &lt;br /&gt;&lt;br /&gt;細かい設定などはAdobe Photoshop CS3/スクリプティングガイドフォルダ内にPhotoshop CS3 JavaScript Ref.pdfというのがあるので参照して下さい(106ページ)。&lt;a href="http://www.adobe.com/devnet/photoshop/pdfs/photoshop_cs3_javascript_ref.pdf"&gt;ここからダウンロード&lt;/a&gt;もできます。&lt;br /&gt;&lt;br /&gt;下記のサイトを参考にしました。&lt;br /&gt;&lt;a href="http://www.openspc2.org/book/PhotoshopCS3/"&gt;Adobe Photoshop CS3自動化作戦&lt;/a&gt;&lt;br /&gt;&lt;a href="http://hokori.net/2008/04/20/photoshop_javascript/"&gt;PhotoShop JavaScript(ExtendScript):Note - ホコホコ hoko-hoko&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;書き出すファイルや画質の設定をGUIでできるようにしたいのだけど、それはまた次。&lt;br /&gt;こういう感じで社内のワークフローを楽にしてくれる専門の人っていないのかな。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-3943574610199655764?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/3943574610199655764/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=3943574610199655764' title='1 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/3943574610199655764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/3943574610199655764'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2009/10/webjpegjavascript.html' title='レイヤーカンプからWeb用のJPEGに書き出すJavaScript'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-6530684347839931754</id><published>2009-09-03T22:21:00.004+09:00</published><updated>2011-09-24T04:33:21.885+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sound'/><category scheme='http://www.blogger.com/atom/ns#' term='openframeworks'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>openFrameworksでSndObjを使う</title><content type='html'>Programming Interactivityに載ってた。著者のJoshua Nobleさんが&lt;a href="http://code.google.com/p/ofxsndobj/"&gt;ofxSndObj&lt;/a&gt;を作ってるのですね。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://hysysk.blogspot.com/2009/07/openframeworksaddon.html"&gt;前回ofxMSAPhysicsでものすごく面倒なやり方&lt;/a&gt;をしてましたが、これは僕がXcodeの使い方をわかってなかった。&lt;br /&gt;XcodeのProjectメニューからAdd to Project...して追加したいaddonのsrcフォルダとlibフォルダを選べばいいだけのことでした。それでXcodeの画面で追加したsrcとlibsをaddonsというグループにまとめておくという流れ。XcodeのGroups &amp; Filesは実際のフォルダ構成とは別物。合わせておくとわかりやすい場合もあるというだけ。&lt;br /&gt;&lt;br /&gt;僕のopenFrameworks関係のフォルダ構成は&lt;br /&gt;&lt;pre&gt;+of&lt;br /&gt; -addons_contributed&lt;br /&gt; +of_preRelease_v0.06_xcode_FAT&lt;br /&gt;  -addons&lt;br /&gt;  +apps&lt;br /&gt;   -addonsExamples&lt;br /&gt;   -examples&lt;br /&gt;   -sketch&lt;br /&gt;  -libs&lt;br /&gt;  -other&lt;br /&gt; -samples&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;という風にしていて、標準で入っているaddonとそうでないものを分けています。ofxSndObjはaddons_contributedに入れてる。samplesはネットとかで拾ってきたコードを入れておくフォルダ。&lt;br /&gt;&lt;br /&gt;以上を踏まえて新しいemptyExampleをsketch以下にコピーして名前を変えた後、ofxSndObjのsrcとlibsを追加し、testApp.hとtestApp.cppを以下のようにすればお約束の440Hzのサイン波が鳴るはず。&lt;br /&gt;&lt;br /&gt;testApp.h&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;#ifndef _TEST_APP&lt;br /&gt;#define _TEST_APP&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#include "ofMain.h"&lt;br /&gt;#include "ofxSndObj.h"&lt;br /&gt;#include "AudioDefs.h"&lt;br /&gt;&lt;br /&gt;class testApp : public ofBaseApp{&lt;br /&gt;&lt;br /&gt; public:&lt;br /&gt;  void setup();&lt;br /&gt;  ofxSOTable t;&lt;br /&gt;  ofxSOOscillator o;&lt;br /&gt;  ofxSndObj sndobj;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;#endif&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;testApp.cpp&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;#include "testApp.h"&lt;br /&gt;&lt;br /&gt;void testApp::setup(){&lt;br /&gt; sndobj.startOut(true, 1);&lt;br /&gt; t.init(sndobj, 2500l, SINE, 1.f);&lt;br /&gt; o.init(sndobj, t, 440.f, 10000.f);&lt;br /&gt; sndobj.setOutput(o, OFXSNDOBJOSCILLATOR, 1);&lt;br /&gt; sndobj.startProcessing();&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-6530684347839931754?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/6530684347839931754/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=6530684347839931754' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/6530684347839931754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/6530684347839931754'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2009/09/openframeworkssndobj.html' title='openFrameworksでSndObjを使う'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-8371736665982421694</id><published>2009-08-22T20:41:00.005+09:00</published><updated>2009-08-23T02:35:37.926+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='diary'/><title type='text'>2009年8月22日</title><content type='html'>通常業務が忙しくなるタイミングとチームのメンバーが夏休みに入るタイミングが運悪く重なり、加えて重い新規案件で先週から働き詰め。ようやく今日完全に休みになったけど明日は出社して月曜日のプレゼンに備えなければならない。&lt;br /&gt;&lt;br /&gt;9月末まではこれに付きっきりになりそうで、今月末にとる予定だった夏休みは先延ばし。（＃＾ω＾）というところにメールが届いて、10月にクロアチアのザグレブで開かれるデバイスアートの展覧会にsonicodeを出品できることになった。渡航費と滞在費が出るということで、夏休みをそこに思いっきりぶつけることにした。こんな機会でもなければ行くこともなさそう。&lt;br /&gt;&lt;br /&gt;ちょうど10月には別件で展示のお誘いがあったので両方に使える形でうまいことアップデートしたい。&lt;br /&gt;&lt;br /&gt;などと考えつつBBOY PARKに行く気力もなく家でだらだらと勉強。&lt;br /&gt;「&lt;a href="http://programminginteractivity.com/wordpress/"&gt;Programming Interactivity&lt;/a&gt;」はProcessingとArduinoとopenFrameworksでインタラクティブアートを作るための本。考え方や興味が近いので、デザイン方面からプログラミングに入った人には理解しやすいと思う。短期集中で一気に読みたい。一緒に買った「&lt;a href="http://oreilly.com/catalog/9780596157111/"&gt;Beautiful Data&lt;/a&gt;」は美学寄りというか論文的な内容。こういうのが基本にあるかないかでアウトプットも違ってくるだろうな。Radioheadの「House of Cards」の制作背景についても載ってる。&lt;br /&gt;&lt;br /&gt;あとは「&lt;a href="http://d.hatena.ne.jp/perlcodesample/20091005/1248437426"&gt;かんたんプログラミングCGI/Perl&lt;/a&gt;」。Perlはネットで面白いことしてる人が結構Perl使いが多く、会社で使える便利スクリプト(スケジュール確認とか)を書いてる人もそうなので是非とも覚えたいところ。初めてCGIを動かす時に想定されるエラーや、その原因と対処法も書かれていて、丁寧で読みやすい。&lt;br /&gt;&lt;br /&gt;pythonも好きなので「&lt;a href="http://www.oreilly.co.jp/books/9784873113647/"&gt;集合知プログラミング&lt;/a&gt;」に加えて「&lt;a href="http://www.greenteapress.com/thinkpython/thinkpython.html"&gt;Think Python&lt;/a&gt;」というフリーの本を読んでいる。How to Think Like a Computer Scientistという副題がとてもそそる。インタラクティブアートに興味を持ったのはああいう発想がどういうところから出てくるのかがわからなかったから。そもそも現代美術に興味を持ったのもそうだった。調べていくにつれ、それぞれの分野にはそれぞれの文脈があり、突然それに出くわした人にはショックだったりするが作った本人にとっては割と当然の流れで作っていたりするものなのだと知った。そういうところでここ2、3年興味があるのはプログラマ(少し前だったら広告で何千万というお金を使ってどう面白いことをするか、みたいな発想に憧れてたけど、このご時世だし)。&lt;br /&gt;&lt;br /&gt;この間試したEcho Nestとかもそうだけどデータの可視化、可聴化で何か面白いことをしたい。&lt;br /&gt;&lt;br /&gt;プログラマの人達は本とか読まないでも色々できてしまうのかなと思っていたけど、実は逆というかものすごく本を読んでいる。だからこそ頭にも叩き込まれているんだろうなと思い、最近はできるだけ僕も買うようにしている。彼らが自宅作業を好むのも会社より資料が充実しているからのようだ。思えばうまいデザイナーもそうだった。やっぱりいいものを見ている。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-8371736665982421694?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/8371736665982421694/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=8371736665982421694' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8371736665982421694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8371736665982421694'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2009/08/2009822.html' title='2009年8月22日'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-8004528488712418632</id><published>2009-08-11T01:22:00.006+09:00</published><updated>2011-09-24T04:36:33.552+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='idea'/><category scheme='http://www.blogger.com/atom/ns#' term='sound'/><category scheme='http://www.blogger.com/atom/ns#' term='processing(p5)'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>Processing IDEからEcho Nest APIを使う</title><content type='html'>&lt;a href="http://the.echonest.com/"&gt;Echo Nest&lt;/a&gt;のJavaクライアントが出ていたのでProcessingで動かしてみた。&lt;br /&gt;Echo Nestが何なのかよくわかってないけど、とりあえずネットと音という大好きな要素が混ざっている。&lt;br /&gt;曲やレビュー、記事のリコメンドからテンポ、ビート等の音響解析にも使えるらしい。&lt;br /&gt;&lt;br /&gt;まずは&lt;a href="http://the.echonest.com/"&gt;developer用のサイト&lt;/a&gt;でEcho NestのAPI Accountを取得してAPI Keyを発行してもらう。&lt;br /&gt;サイトも綺麗だしブラウザから実行例を見られるので勉強しやすい。APIキーとか入れといてくれてる。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://code.google.com/p/echo-nest-java-api/"&gt;Echo NestのJava APIをダウンロード&lt;/a&gt;する。&lt;br /&gt;&lt;br /&gt;Javaのライブラリなので、OSXの場合"ユーザ名/Library/Java/Extensions"以下にEchoNestAPI.jarを置いて.bash_profileにCLASSPATHを書くのでもいいけど、Documents/Processing/librariesの中にEchoNestAPIというフォルダを作り、さらにlibraryフォルダを作って、その中にEchoNestAPI.jarを入れても動く。ProcessingのIDEから簡単にimportできる。&lt;br /&gt;&lt;br /&gt;JavaのサンプルそのままだとProcessingのIDEの場合for文のところでエラーになってしまうので書き換えた。&lt;br /&gt;&lt;pre name="code" class="java"&gt;import com.echonest.api.v3.artist.Artist;&lt;br /&gt;import com.echonest.api.v3.artist.ArtistAPI;&lt;br /&gt;import com.echonest.api.v3.artist.Audio;&lt;br /&gt;import com.echonest.api.v3.EchoNestException;&lt;br /&gt;import com.echonest.api.v3.artist.Scored;&lt;br /&gt;import java.util.List;&lt;br /&gt;&lt;br /&gt;String API_KEY = "自分のAPI KEY";&lt;br /&gt;String ARTISTNAME = "weezer";&lt;br /&gt;&lt;br /&gt;ArtistAPI artistAPI;&lt;br /&gt;&lt;br /&gt;try {&lt;br /&gt;  artistAPI = new ArtistAPI(API_KEY); &lt;br /&gt;  List&amp;lt;Artist&amp;gt; artists = artistAPI.searchArtist(ARTISTNAME, false);&lt;br /&gt;  if(artists.size()&amp;gt;0) {&lt;br /&gt;    for(int i=0; i&amp;lt;artists.size(); i++) {&lt;br /&gt;      Artist artist = artists.get(i);&lt;br /&gt;      List&amp;lt;Scored&amp;lt;Artist&amp;gt;&amp;gt; similars = artistAPI.getSimilarArtists(artists, 0, 10);&lt;br /&gt;      println(" === Similar artists for " + artist.getName() + " ===");&lt;br /&gt;      for(int j=0;j&amp;lt;similars.size(); j++) {&lt;br /&gt;        Scored&amp;lt;Artist&amp;gt; simArtist = similars.get(j);&lt;br /&gt;        println(simArtist.getItem());&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;} &lt;br /&gt;catch(EchoNestException e) {&lt;br /&gt;  System.err.println("Trouble: " + e);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;実行結果&lt;br /&gt;&lt;blockquote&gt; === Similar artists for Weezer ===&lt;br /&gt;The Smashing Pumpkins&lt;br /&gt;Ozma&lt;br /&gt;Biffy Clyro&lt;br /&gt;The Breeders&lt;br /&gt;Rivers Cuomo&lt;br /&gt;Nerf Herder&lt;br /&gt;Jimmy Eat World&lt;br /&gt;Foo Fighters&lt;br /&gt;Veruca Salt&lt;br /&gt;The Flaming Lips&lt;br /&gt; === Similar artists for Weezer Tribute ===&lt;br /&gt;The Smashing Pumpkins&lt;br /&gt;Ozma&lt;br /&gt;Biffy Clyro&lt;br /&gt;The Breeders&lt;br /&gt;Rivers Cuomo&lt;br /&gt;Nerf Herder&lt;br /&gt;Jimmy Eat World&lt;br /&gt;Foo Fighters&lt;br /&gt;Veruca Salt&lt;br /&gt;The Flaming Lips&lt;br /&gt; === Similar artists for Matt Sharp (of Weezer, The Rentals) ===&lt;br /&gt;The Smashing Pumpkins&lt;br /&gt;Ozma&lt;br /&gt;Biffy Clyro&lt;br /&gt;The Breeders&lt;br /&gt;Rivers Cuomo&lt;br /&gt;Nerf Herder&lt;br /&gt;Jimmy Eat World&lt;br /&gt;Foo Fighters&lt;br /&gt;Veruca Salt&lt;br /&gt;The Flaming Lips&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://code.google.com/p/echo-nest-demos/"&gt;開発者の人のデモ&lt;/a&gt;がここにある。eclipseで開発してる。&lt;br /&gt;&lt;br /&gt;*2009年11月11日追記&lt;br /&gt;EchoNestAPIを使用する場合はJavaのバージョンを1.6にする必要があります。&lt;br /&gt;Applications/Utilities/Java Preferencesを起動して、GeneralタブのJava ApplicationsのJava SE 6を一番上にする。&lt;br /&gt;&lt;br /&gt;で、いつの間にか&lt;a href="http://www.melkaone.net/echonestp5/"&gt;echonestp5&lt;/a&gt;というものができてた。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-8004528488712418632?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/8004528488712418632/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=8004528488712418632' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8004528488712418632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8004528488712418632'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2009/08/processing-ideecho-nest-api.html' title='Processing IDEからEcho Nest APIを使う'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-8723058010041353941</id><published>2009-07-26T10:31:00.012+09:00</published><updated>2009-11-01T22:37:39.213+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='openframeworks'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='opengl'/><title type='text'>openframeworksでaddonを試す</title><content type='html'>FATで入ってるaddonはいいとして、他のaddonを使う時はどういう方法がいいのかなと思って試してみました。かなり愚直なやり方です。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://memo.tv/ofxmsaphysics"&gt;ofxMSAPhysics&lt;/a&gt;を使ってみる。&lt;br /&gt;processingの&lt;a href="http://www.cs.princeton.edu/~traer/physics/"&gt;traer physics&lt;/a&gt;(いつの間にかソースが公開されている!)に似たAPI。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;1.ダウンロード&lt;/span&gt;&lt;br /&gt;svnがわかる人は&lt;br /&gt;svn checkout http://ofxmsaof.googlecode.com/svn/trunk/ ofxmsaof-read-only&lt;br /&gt;&lt;br /&gt;わからない人は&lt;a href="http://github.com/of/ofx-msa/tree/master"&gt;ミラー&lt;/a&gt;からダウンロードできます。&lt;br /&gt;ofxPhysics以外にも色々入ってます。&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;2.プロジェクトを作る&lt;/span&gt;&lt;br /&gt;apps/examples/emptyexamplesフォルダをコピーしてペースト。フォルダの名前をPhysicsTestとする。その中にaddonsというフォルダを作り、ダウンロードしたフォルダの中からofxMSAPhysicsとofxObjcPointerをコピーしてaddonsフォルダの中にペースト。srcフォルダ以外を消しておく。&lt;br /&gt;ofxObjcPointerはメモリ管理に使っているらしい。&lt;br /&gt;&lt;br /&gt;xcodeprojファイルを開いて、Finderからaddonsフォルダをドラッグして「Groups &amp; Files」にドロップ。日本語環境だと「グループとファイル」。僕は調子こいて英語にしています。&lt;br /&gt;&lt;br /&gt;ダイアログが出てくるので多分そのままOKすればいい。上の方にフォルダをコピーするかどうかチェックする項目があるけど、今回はプロジェクト内に既にコピーしてあるのでチェックは外しておく。ラジオボタンは「Recursively Create Groups for any added folders(追加したフォルダに再帰的にグループを作成する)」方で。src以外を消したのはここで変なことにならないため。&lt;br /&gt;&lt;br /&gt;これで準備完了。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;3.コードを書く&lt;/span&gt;&lt;br /&gt;examplesの中身をコピーしてもいいですが、複雑なので使い方を覚える意味でも必要そうなところを抜き出して改変しました。マウスをクリックしたらボールが落ちてくるサンプルです。キーボードを押すと消えます。&lt;br /&gt;&lt;br /&gt;ofxMSAPhysics physics;&lt;br /&gt;でofxMSAPhysicsクラス型を宣言して、physics.makeParticle(x,y,z)でパーティクルの生成。&lt;br /&gt;p-&gt;xとかが何なのかわからない場合は&lt;a href="http://yoppa.org/sbaw09.php?itemid=1003"&gt;SBAW09の第11回目&lt;/a&gt;とか&lt;a href="http://wiki.openframeworks.cc/index.php?title=OF_for_Processing_users"&gt;OF for Processing users&lt;/a&gt;とか&lt;a href="http://wiki.openframeworks.cc/index.php?title=Ooops!_%3D_Object_Oriented_Programming_%2B_Classes"&gt;Ooops!&lt;/a&gt;を参照。&lt;br /&gt;&lt;br /&gt;ソースコードがうまく貼付けられなかったのでプロジェクトごとアップしました。&lt;br /&gt;&lt;a href="hysysk.org/sketch/of/physicsTest.zip"&gt;physicsTest.zip&lt;/a&gt;&lt;br /&gt;---&lt;br /&gt;*2.についてもう少しましなやり方を&lt;a href="http://hysysk.blogspot.com/2009/09/openframeworkssndobj.html"&gt;後日知った&lt;/a&gt;。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-8723058010041353941?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/8723058010041353941/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=8723058010041353941' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8723058010041353941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8723058010041353941'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2009/07/openframeworksaddon.html' title='openframeworksでaddonを試す'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-4058573072808335655</id><published>2009-07-20T18:29:00.006+09:00</published><updated>2009-07-20T19:19:52.710+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='image'/><category scheme='http://www.blogger.com/atom/ns#' term='work'/><category scheme='http://www.blogger.com/atom/ns#' term='actionscript'/><category scheme='http://www.blogger.com/atom/ns#' term='book'/><title type='text'>hysyskとかmrrychとかいい加減にしよう</title><content type='html'>&lt;a href="http://myfye.net/"&gt;myfye.net&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mrrych.net/"&gt;丸尾君&lt;/a&gt;の新作。おんぶにだっこのだっこ担当(クライアントサイド)。おんぶ担当(サーバーサイド/normal version)は&lt;a href="http://najimi.jp"&gt;najimi.jp&lt;/a&gt;のyamakk。&lt;br /&gt;&lt;br /&gt;撮った写真がカメラからそのままネットにアップロードされ、撮影の間隔が12秒以内の場合、指定された濃度で自動的に乗算合成されて一枚になります。&lt;br /&gt;&lt;br /&gt;このような仕組みが、どう撮るものに影響してくるのか楽しみです。&lt;br /&gt;&lt;br /&gt;HTMLからSWFに値を渡す方法、スライダーなどのユーザーインターフェース、ビットマップの操作など色々勉強になりました。&lt;br /&gt;&lt;br /&gt;最近読み始めた「&lt;a href="http://www.amazon.co.jp/dp/4798118362"&gt;ActionScript 3.0デザインパターン&lt;/a&gt;」の内容を習得できればもっと綺麗に書き直せそうです。&lt;br /&gt;「&lt;a href="http://www.amazon.co.jp/dp/1430218711"&gt;Foundation Actionscript 3.0 Image Effect&lt;/a&gt;」も買ったので今後のバージョンアップに活かせそうです。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-4058573072808335655?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/4058573072808335655/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=4058573072808335655' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/4058573072808335655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/4058573072808335655'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2009/07/hysyskmrrych.html' title='hysyskとかmrrychとかいい加減にしよう'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-683592146329631331</id><published>2009-07-17T15:19:00.007+09:00</published><updated>2009-07-18T00:00:45.252+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='openframeworks'/><title type='text'>openframeworksの始め方</title><content type='html'>去年YCAMでのワークショップに参加したopenframeworksですが、その後iPhone版(&lt;a href="http://code.google.com/p/ofxiphone/"&gt;ofxiphone&lt;/a&gt;, &lt;a href="http://code.google.com/p/mobileframeworks/"&gt;mobileframeworks&lt;/a&gt;)が出たり、多摩美の授業&lt;a href="http://yoppa.org/sbaw09.php"&gt;SBAW09&lt;/a&gt;が公開されてたしているので、再び勉強してみようと考えています。Mac OS10.5.7 Xcode3.1.3です。買ったばっかりのMacBook Proです。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.openframeworks.cc/download"&gt;openframeworksはここからダウンロード&lt;/a&gt;できます。FATというのはOpenCVなどがaddonとして組み込まれているバージョンです。通常はこちらをダウンロードして使えばいいと思います。&lt;br /&gt;&lt;br /&gt;一番最初にopenframeworksに触れた時は、Xcodeの使い方がわからないこともあり、何からどうすればいいのか全くわかりませんでした。&lt;br /&gt;&lt;br /&gt;普通のプログラム開発は、ライブラリなどを必要に応じて追加していくことが多いと思うのですが、openframeworksの場合は逆です。必要となる環境が予め用意されていて、高度なc++の知識なしにアプリケーションを作ることができます。&lt;br /&gt;&lt;br /&gt;zipファイルを展開してできたof_preRelease_v0.06_xcode_FATフォルダ内に、appsというフォルダがあります。その中にexamplesフォルダとaddonsExamplesというフォルダがあり、名前の通りそれぞれのサンプルコードになっています。openFrameworks.xcodeprojというファイルを開き、Build and Go(ビルドして進行)でアプリケーションができ上がるはずです。&lt;br /&gt;&lt;br /&gt;of_preRelease_v0.06_xcode_FATフォルダはどこにあってもいいですが、僕の場合はホーム以下にdevというフォルダを作り、言語毎に分けているので、ofというフォルダを作ってそこに入れてあります。&lt;br /&gt;このようなファイルの管理方法も今後よく考えていく必要があります。&lt;br /&gt;&lt;br /&gt;新しく自分でプログラムを書く時は、通常のものならばemptyExample、addonを使う場合はalladdonsExampleを複製して使います。apps以下に新しくフォルダを作り(僕はsketchというフォルダ名にしています)、複製したフォルダを格納します。apps以下のフォルダも、複製してできたフォルダも名前は何でもいいですが、libsフォルダやaddonsフォルダを読み込むため、階層構造はexamplesなどと同じにしておきます。.xcodeprojという拡張子のついたプロジェクトファイル名を変更する場合は.plistファイル名も変更し、中身の編集も必要です。方法は&lt;a href="http://yoppa.org/sbaw09.php?itemid=974"&gt;SBAW09の第五回&lt;/a&gt;に書いてあり、テンプレートも作って下さっています。僕は変更しないで作ってます。&lt;br /&gt;&lt;br /&gt;よくネット上でサンプルコードが配られていたりしますが、これらの仕組みを知らなかったので動かし方がわかりませんでした。Xcodeのドキュメントなども読む必要がありますね。&lt;br /&gt;&lt;br /&gt;processingなどに比べていいことは、速いのは勿論、ソースコードを辿りやすいということです。例えばofRectという四角を描画する関数は、libsフォルダの中のopenframeworks/graphics/ofGraphics.cppに書いてあります。これを読めばどのような処理を行っているかがわかります。なので勉強にもいいです(あまり良い書き方がされていないという声も聞きますが僕にはまだわかりません)。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-683592146329631331?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/683592146329631331/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=683592146329631331' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/683592146329631331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/683592146329631331'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2009/07/openframeworks.html' title='openframeworksの始め方'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-6415676971383967247</id><published>2009-05-31T19:47:00.003+09:00</published><updated>2009-05-31T20:13:56.487+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='diary'/><title type='text'>20090531</title><content type='html'>早いもので働き始めて明日でちょうど1年。あんだけ夜型だったのに今や完全に朝型。休日でさえ。&lt;br /&gt;&lt;br /&gt;新人ということで、仕事は放っておいても上の人から降ってきて、ひたすら手を動かしていればよかったが、そろそろ直接担当者と話して、自分で受けたり他の人に回したり(これが実は結構疲れるらしい)をしていかなければならなくなってきた。&lt;br /&gt;&lt;br /&gt;西村佳哲さんの「自分の仕事をつくる」が文庫で出たので読み直した。あとがきがとても良かった。インタビューされている人の名前やイメージにつられると、ロハス的ないい趣味の本に誤解されたり邪推されそうな雰囲気もあったが(本文だけでもちゃんと読めばそんなレベルの話をしているのではないということがわかるはず)、それに対する答えがしっかり書かれている。&lt;br /&gt;&lt;br /&gt;今年は僕が働いている部署の年賀状を西村さんのところに送ったのだった。&lt;br /&gt;&lt;br /&gt;学生時代が長かったので、そこでできた色んな人脈を通じて、会社の人や友達同士を引き会わせたりしていて、面白いことが起こりそうな予感がする。少なくとも僕にとっては理想的。人と会ったりご飯食べたりは大事。不況の影響はどう？とか。勿論僕がどうこうできる立場ではないけど、大きな流れみたいなものは感じられる。&lt;br /&gt;&lt;br /&gt;世の中の仕組みは複雑で、頑張らなければならないのだけど頑張ってもしょうがないことが多々ある。結局政治が一番強かったりして、今僕が関わっている分野での「デザイン」ができることなんて本当に瑣末なことでしかない。かと言って腐ってしまっては本当に何もかも駄目になってしまうので、日々を耐え忍びつつ(嫌々やってる訳ではないけど)、たまに巡ってくる機会のために水面下で動いていなければならない。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-6415676971383967247?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/6415676971383967247/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=6415676971383967247' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/6415676971383967247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/6415676971383967247'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2009/05/20090531.html' title='20090531'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-2476550911196626045</id><published>2009-04-02T00:29:00.004+09:00</published><updated>2009-04-02T00:47:52.615+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='actionscript'/><title type='text'>actionscript3でglitchする</title><content type='html'>&lt;img src="http://farm4.static.flickr.com/3548/3403671051_87f587df90.jpg" width="500" height="482" alt="glitchlena" /&gt;&lt;br /&gt;参考にしたのはこのforum。&lt;br /&gt;&lt;a href="http://processing.org/discourse/yabb2/YaBB.pl?board=Video%3Baction=display%3Bnum=1192634986"&gt;Processing 1.0 - glitch art&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ヘッダになっているであろう位置をとばして適当な位置のデータを置き換える。&lt;br /&gt;ヘッダの位置予想は適当。ヘッダがあれば、何でもできる。&lt;br /&gt;バイナリのいじり方は&lt;a href="http://docs.google.com/View?docID=dxnhrw8_7gqm76r&amp;revision=_latest"&gt;flash oop&lt;/a&gt;を参考にした。&lt;br /&gt;&lt;br /&gt;本当はhex editorみたいに全部展開してちゃんと狙ってglitchさせたいけど、イベント処理が重く分割させる必要がある。これもflash oopにイベントを分割してドラゴン曲線を描くライブラリの作り方が書かれているので参考にするつもり。&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="js"&gt;&lt;br /&gt;package {&lt;br /&gt; import flash.display.Sprite;&lt;br /&gt; import flash.display.Loader;&lt;br /&gt; import flash.events.Event;&lt;br /&gt; import flash.events.ProgressEvent;&lt;br /&gt; import flash.net.URLRequest;&lt;br /&gt; import flash.net.URLStream;&lt;br /&gt; import flash.utils.ByteArray;&lt;br /&gt;    &lt;br /&gt;    public class LoadBinaryURLStream extends Sprite {&lt;br /&gt;        private var stream :URLStream; &lt;br /&gt;        private var request:URLRequest;&lt;br /&gt;        private var data:ByteArray;&lt;br /&gt;        private var loader:Loader;&lt;br /&gt;        public function LoadBinaryURLStream(){&lt;br /&gt;            data = new ByteArray();&lt;br /&gt;            request = new URLRequest("img/pic.jpg");&lt;br /&gt;            loader = new Loader();&lt;br /&gt;            addChild(loader);&lt;br /&gt;   &lt;br /&gt;            stream = new URLStream();&lt;br /&gt;            stream.addEventListener(Event.COMPLETE, onComplete);&lt;br /&gt;            stream.addEventListener(ProgressEvent.PROGRESS, onProgress);&lt;br /&gt;            &lt;br /&gt;            stream.load(request);&lt;br /&gt;        }&lt;br /&gt;  &lt;br /&gt;        private function onComplete(e:Event):void {&lt;br /&gt;            loader.loadBytes(data);&lt;br /&gt;        }&lt;br /&gt;  &lt;br /&gt;        private function onProgress(e:ProgressEvent):void {&lt;br /&gt;            stream.readBytes(data, data.length);&lt;br /&gt;            if(data.length &gt; 1024) {&lt;br /&gt;                data.position = Math.floor(Math.random()*data.length)-1;&lt;br /&gt;                if(data.position&lt;1024) {&lt;br /&gt;                    data.position += 1024;&lt;br /&gt;                }&lt;br /&gt;                data.writeByte(0);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-2476550911196626045?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/2476550911196626045/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=2476550911196626045' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/2476550911196626045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/2476550911196626045'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2009/04/actionscript3glitch.html' title='actionscript3でglitchする'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm4.static.flickr.com/3548/3403671051_87f587df90_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-8919656938171110593</id><published>2009-03-20T05:55:00.006+09:00</published><updated>2009-03-21T11:09:39.029+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='design'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='actionscript'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>as3corelibのJSONクラスを使ってNew York TimesのAPIからデータを取得する2</title><content type='html'>JSONというのが何なのかというのが今回の話題。&lt;br /&gt;&lt;br /&gt;詳しくは&lt;a href="http://www.json.org/"&gt;公式ドキュメント&lt;/a&gt;なりwikipediaなりを読むとして、とりあえずはXMLなどのようなデータフォーマットの一種であると。JavaScript Object Notationが正式名称だけど、JavaScriptのオブジェクトの表記をベースにしているというだけで、JavaScript以外でも使える。&lt;br /&gt;"キー":値というシンプルな形。入れ子にもできる。&lt;br /&gt;例:&lt;br /&gt;&lt;pre name="code" class="javascript"&gt;&lt;br /&gt;{&lt;br /&gt;  "name":"hayashi", &lt;br /&gt;  "age":26, &lt;br /&gt;  "occupation":[&lt;br /&gt;    {"main":"designer"},&lt;br /&gt;    {"sub":"programmer"}&lt;br /&gt;  ]&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://hysysk.blogspot.com/2009/03/as3corelibjsonnew-york-timesapi.html"&gt;前回&lt;/a&gt;のプログラムで、loaderから読み取ったデータをそのまま出力してみる(loader.dataをtraceする)と、&lt;a href="http://developer.nytimes.com/docs/article_search_api/#example-responses"&gt;このような形式&lt;/a&gt;の文字列が出力されているはず。&lt;br /&gt;&lt;br /&gt;で、あとはXMLと同じようにドットとキーで欲しい値にアクセスする。&lt;br /&gt;前回のソースの27行目を下のように一旦オブジェクト型の変数に格納する形にして、&lt;br /&gt;var o:Object = JSON.decode(loader.data);&lt;br /&gt;&lt;br /&gt;o.tokensで何てキーワードで検索したかとか、o.totalで何件ひっかかったとかが取得できる。&lt;br /&gt;&lt;br /&gt;o.resultsはリクエストに合致した記事のデータがそれぞれ配列になっていて、o.results[0].titleで1件目の記事のタイトルを取得したり、o.results[2].bylineで3件目の記事の筆者を取得したりできる。o.results.lengthで結果の総数を得てfor文と一緒に使うケースが多いと思う。&lt;br /&gt;&lt;br /&gt;この辺のキーの与え方に関しては返ってきたデータ(loader.dataでtraceした結果)を見ながらの作業になる。&lt;br /&gt;&lt;br /&gt;視覚化の方法についてはまた次回。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-8919656938171110593?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/8919656938171110593/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=8919656938171110593' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8919656938171110593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8919656938171110593'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2009/03/as3corelibjsonnew-york-timesapi2.html' title='as3corelibのJSONクラスを使ってNew York TimesのAPIからデータを取得する2'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-2691267030262249615</id><published>2009-03-20T00:49:00.005+09:00</published><updated>2009-03-20T01:47:21.463+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3d'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='actionscript'/><title type='text'>actionscript2とpapervision3D</title><content type='html'>papervisionXがどうとか騒がれている2009年の3月ですが、Flash Player8(もしかすると7)で3Dっぽいものを動作させなければならないのでpapervisionについて調べてる。&lt;br /&gt;が、古い情報はなかなか見つからない。検索結果と見られるページ全部をある時期に戻せたらいいのに。メディアアートに文化財保存修復学科的なものがあればいいのに。&lt;br /&gt;&lt;br /&gt;svnからpapervision3Dを全部check outすると、一応as2のsrcもあるのだけど、as3用のpritivesのようなSphereやCylinderがない。&lt;a href="http://blog.r3c7.net/?p=75"&gt;wikiにあるとの情報&lt;/a&gt;だったが、wikiもう見られない。&lt;br /&gt;&lt;br /&gt;3Dに関しては全然知識がなく、ここ数日でわかったことは、立体を作るためには三角形をひたすら組み合わせるということ。&lt;br /&gt;&lt;br /&gt;自分で書くのは大変そうなので&lt;a href="http://web.archive.org/web/*/http://suite75.net/svn/papervision3d/tim/as2/org/papervision3d/objects/Sphere.as"&gt;internet archiveで探して&lt;/a&gt;サルベージ。&lt;br /&gt;&lt;br /&gt;objectフォルダに入れておく。とりあえずSphereは動いた。&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=wG1PfNxC2Uk"&gt;ファミコンで鉄拳2&lt;/a&gt;とか観て自分を奮い立てる。&lt;br /&gt;&lt;pre name="code" class="js"&gt;&lt;br /&gt;import org.papervision3d.cameras.Camera3D;&lt;br /&gt;import org.papervision3d.materials.WireframeMaterial;&lt;br /&gt;import org.papervision3d.scenes.Scene3D;&lt;br /&gt;&lt;br /&gt;import org.papervision3d.objects.Sphere;&lt;br /&gt;&lt;br /&gt;var container:MovieClip;&lt;br /&gt;var scene:Scene3D;&lt;br /&gt;var camera:Camera3D;&lt;br /&gt;var sphere:Sphere;&lt;br /&gt;&lt;br /&gt;init3D();&lt;br /&gt;this.onEnterFrame = loop3D;&lt;br /&gt;&lt;br /&gt;function init3D():Void {&lt;br /&gt; container = this.createEmptyMovieClip("container", this.getNextHighestDepth());&lt;br /&gt; container._x = 275;&lt;br /&gt; container._y = 200;&lt;br /&gt; &lt;br /&gt; scene = new Scene3D(container);&lt;br /&gt; &lt;br /&gt; camera = new Camera3D();&lt;br /&gt; camera.z = -2000;&lt;br /&gt; camera.zoom = 1;&lt;br /&gt; camera.focus = 500;&lt;br /&gt; &lt;br /&gt; var material:WireframeMaterial = new WireframeMaterial(0xffffff);&lt;br /&gt;&lt;br /&gt; sphere = new Sphere(material, 400, 10, 10);&lt;br /&gt; &lt;br /&gt; scene.push(sphere);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function loop3D():Void {&lt;br /&gt; sphere.rotationY = container._xmouse / 2;&lt;br /&gt; sphere.rotationX = container._ymouse / 2;&lt;br /&gt; &lt;br /&gt; scene.renderCamera(camera);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-2691267030262249615?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/2691267030262249615/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=2691267030262249615' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/2691267030262249615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/2691267030262249615'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2009/03/actionscript2papervision3d.html' title='actionscript2とpapervision3D'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-1706697962286527613</id><published>2009-03-07T01:11:00.004+09:00</published><updated>2009-03-07T02:29:13.601+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='processing(p5)'/><category scheme='http://www.blogger.com/atom/ns#' term='note'/><category scheme='http://www.blogger.com/atom/ns#' term='actionscript'/><category scheme='http://www.blogger.com/atom/ns#' term='book'/><title type='text'>steering behaviorのメモ</title><content type='html'>seekがターゲットに向かう動き、fleeがターゲットから遠ざかる動き。まずこれを押さえる。&lt;br /&gt;ここからflockするために、cohesion、separation、alignmentを加えるんだけど、&lt;br /&gt;&lt;br /&gt;cohesionは仲間の平均の位置をseekすることで、separationは近づき過ぎた仲間からfleeすること、alignmentは仲間の平均の速度に合わせること。&lt;br /&gt;&lt;br /&gt;基本は&lt;a href="http://www.friendsofed.com/book.html?isbn=9781430216087"&gt;Advanced ActionScript 3.0 Animation&lt;/a&gt;で勉強した。&lt;br /&gt;最近また新しいサンプルが増えた&lt;a href="http://www.shiffman.net/2009/02/28/more-steering-examples/"&gt;nature of code&lt;/a&gt;もよくわかる。&lt;br /&gt;どちらも大元にあるのはcraig reynolds。&lt;br /&gt;&lt;a href="http://www.red3d.com/cwr/steer/"&gt;Steering Behaviors For Autonomous Characters&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;nature of codeは夏に本が出るらしい。&lt;br /&gt;&lt;a href="http://www.shiffman.net/2009/03/02/nature-of-code-book/"&gt;Nature of Code Book at daniel shiffman&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;早速メーリングリスト登録した。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-1706697962286527613?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/1706697962286527613/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=1706697962286527613' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/1706697962286527613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/1706697962286527613'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2009/03/steering-behavior.html' title='steering behaviorのメモ'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-6857713672938578539</id><published>2009-03-03T13:27:00.013+09:00</published><updated>2009-03-03T17:05:30.465+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='processing(p5)'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>as3corelibのJSONクラスを使ってNew York TimesのAPIからデータを取得する</title><content type='html'>ProcessingでNew York TimesのAPIからデータを取ってきて視覚化するサンプルを参考に、ActionScript 3.0で実現してみます。&lt;br /&gt;&lt;a href="http://blog.blprnt.com/blog/blprnt/processing-json-the-new-york-times"&gt;Processing, JSON &amp; The New York Times | blprnt.blg&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;環境はMac OS 10.5.6、Flex SDK 3、Xcode 3.1です。&lt;br /&gt;&lt;br /&gt;まずNew York TimesのDevelopper Networkにアクセスしてアカウントを作成し、API KEYを取得する必要があります。&lt;br /&gt;&lt;a href="http://developer.nytimes.com/?authChecked=1"&gt;Times Developer Network - Welcome&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;色々ありますが今回はThe Article Search APIを使います。&lt;br /&gt;レスポンス形式はJSON。&lt;br /&gt;&lt;br /&gt;ActionScriptでJSONを扱うには、as3corelibを使うのが良いと思います。&lt;br /&gt;&lt;a href="http://code.google.com/p/as3corelib/"&gt;as3corelib - Google Code&lt;/a&gt;&lt;br /&gt;ファイルをダウンロードして解凍したら、libというフォルダにas3corelib.swcというファイルがあるので、それをFlex SDKのframeworksフォルダに入っているlibsの中に入れます。&lt;br /&gt;&lt;br /&gt;新しいプロジェクトを作って、NYTimesTestと名付けます。&lt;br /&gt;2005年1月1日から2009年3月3日まででObamaという言葉がいくつあるかというプログラム。&lt;br /&gt;&lt;br /&gt;NYTimesTest.as&lt;br /&gt;&lt;pre name="code" class="js"&gt;&lt;br /&gt;package {&lt;br /&gt; import com.adobe.serialization.json.JSON;&lt;br /&gt; &lt;br /&gt; import flash.display.Sprite;  &lt;br /&gt; import flash.events.Event;&lt;br /&gt; import flash.events.IOErrorEvent;&lt;br /&gt; import flash.net.URLLoader;&lt;br /&gt; import flash.net.URLRequest;&lt;br /&gt;&lt;br /&gt; public class NYTimesTest extends Sprite {&lt;br /&gt;  private var baseURL:String = "http://api.nytimes.com/svc/search/v1/article";&lt;br /&gt;  private var apiKey:String = "取得したAPIキー";&lt;br /&gt;  private var word:String = "Obama";&lt;br /&gt;  private var beginDate:String = "20050101";&lt;br /&gt;  private var endDate:String = "20090303";&lt;br /&gt;  &lt;br /&gt;  public function NYTimesTest() {&lt;br /&gt;   var loader:URLLoader = new URLLoader();&lt;br /&gt;   &lt;br /&gt;   loader.load(new URLRequest(baseURL+"?query="+word+"&amp;begin_date="+beginDate+"&amp;end_date="+endDate+"&amp;api-key="+apiKey));&lt;br /&gt;   loader.addEventListener(Event.COMPLETE, decodeJSON);&lt;br /&gt;   loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  private function decodeJSON(e:Event):void {&lt;br /&gt;   var loader:URLLoader = URLLoader(e.target);&lt;br /&gt;   var totalArticles:uint = JSON.decode(loader.data).total;&lt;br /&gt;   trace("there were " + totalArticles + " occurences of the term " + word + " between " + beginDate + " and " + endDate);&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  private function ioErrorHandler(e:IOErrorEvent):void {&lt;br /&gt;   trace("ioErrorHandler: " + e);&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Flash CSを持ってなくてFlex SDKで開発している場合、Flash Playerで普通に再生しても何も起こらないと思います。Flash Playerのdebugger versionsと、その他色々と設定が必要です。&lt;br /&gt;&lt;a href="http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_14266&amp;sliceId=1"&gt;Archived Flash Players available for testing purposes&lt;/a&gt;&lt;br /&gt;flickr APIの時にやった色々設定(今気付いたけど01って何...続きないし)&lt;br /&gt;&lt;a href="http://hysysk.blogspot.com/2008/07/using-flickr-api-01.html"&gt;hysysk:blog: using flickr api 01&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;フォルダはアカウントの権限とか環境によって変わるのかも。&lt;br /&gt;&lt;br /&gt;今の僕の環境では&lt;br /&gt;&lt;br /&gt;ユーザ名/ライブラリ/Preferences/Macromedia/FlashPlayer&lt;br /&gt;&lt;br /&gt;の中に#Securityというフォルダがあり、その中にFlashPlayerTrustフォルダを置いて、mms.cfgを格納しています。ない場合は作って下さい。&lt;br /&gt;最近は通信関係を開発しているフォルダはまとめてこのファイルで指定しています。&lt;br /&gt;&lt;br /&gt;traceした結果はこのFlashPlayerフォルダの中のLogs/flashlog.txtに出力されています。これもない場合は作って下さい。&lt;br /&gt;&lt;blockquote&gt;there were 9595 occurences of the term Obama between 20050101 and 20090303&lt;/blockquote&gt;と出れば成功。&lt;br /&gt;次回(!)以降データの中身をもう少しみていくつもり。&lt;br /&gt;&lt;br /&gt;あとこのblprintの人が書いてるActionScriptの本が面白そう。彼だけでなくJonathan HarrisとかAaron KoblinとかProcessingの強者達が書いてる。値段が変動してるな。&lt;br /&gt;&lt;a href="http://www.amazon.co.jp/dp/1418050415/"&gt;Amazon.co.jp： Best Practice: The Pros on Adobe Flash: Douglas Easterly: 洋書&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-6857713672938578539?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/6857713672938578539/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=6857713672938578539' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/6857713672938578539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/6857713672938578539'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2009/03/as3corelibjsonnew-york-timesapi.html' title='as3corelibのJSONクラスを使ってNew York TimesのAPIからデータを取得する'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-5764299293238365627</id><published>2009-02-14T18:23:00.006+09:00</published><updated>2009-02-14T20:03:07.826+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='e15'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>E15:oGFx</title><content type='html'>alpha版出た(Mac OS10.5のみ)。&lt;br /&gt;&lt;a href="http://ogfx.mitplw.com/"&gt;http://ogfx.mitplw.com/&lt;/a&gt;&lt;br /&gt;pythonベースで、processingとかnodeboxみたいな感じで書ける。&lt;br /&gt;アニメーションを実行させながらコードを書き換えられるon the flyなスタイル。&lt;br /&gt;&lt;br /&gt;今のところスクリプトの保存はwebに。&lt;br /&gt;&lt;a href="http://e15web.media.mit.edu/users/52"&gt;http://e15web.media.mit.edu/users/52&lt;/a&gt;&lt;br /&gt;この仕組みいい。&lt;br /&gt;見るためには登録しないといけないかも。&lt;br /&gt;&lt;br /&gt;保存したらすぐスクリーンショットができてページが作られてる。&lt;br /&gt;そういうところがどうなってるのか気になったり。&lt;br /&gt;&lt;br /&gt;何かエラー出た後直してもちゃんと動かなかったり、deleteしたらポインタが変なとこに行ったりして不安定なところがある気がするけど、楽しい。新鮮。&lt;br /&gt;あと止め方がわからない。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-5764299293238365627?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/5764299293238365627/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=5764299293238365627' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/5764299293238365627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/5764299293238365627'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2009/02/e15ogfx.html' title='E15:oGFx'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-2960140644813791423</id><published>2009-02-07T13:42:00.002+09:00</published><updated>2009-02-07T16:09:19.028+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='idea'/><category scheme='http://www.blogger.com/atom/ns#' term='sound'/><category scheme='http://www.blogger.com/atom/ns#' term='actionscript'/><title type='text'>mousine</title><content type='html'>前にjavaでこんなの書いた気がするけど、actionscriptでマウスの動きに合わせて&lt;br /&gt;周波数と振幅変えるコードをwonderflに書いた。&lt;br /&gt;&lt;a href="http://wonderfl.kayac.com/code/2927b2f611a8cb24f23589b9073c03b1cb10a13d"&gt;mousine&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;普通にマウス位置を取得して周波数や音量に入れると波形が急激に変化してブツブツノイズが入ってしまうので、アニメーションを滑らかに動かすのと同じ要領で、波形を書き込む前にfreqとampの値を滑らかに変化させている。onEnterFrame()はsampleData()が実行された後で実行されるので、2048サンプル分ごとにマウスから値を取得し、新しい周波数と音量を設定していることになる。8192サンプルだと反応が遅いと感じる。この辺りは悩ましいところ。&lt;br /&gt;&lt;a href="http://www.adobe.com/jp/devnet/flash/articles/flp10_sound.html"&gt;Adobe - デベロッパーセンター : Flash Player 10で広がるFlashの音の世界&lt;/a&gt;&lt;br /&gt;&lt;a href="http://livedocs.adobe.com/flex/3_jp/langref/flash/events/SampleDataEvent.html"&gt;SampleDataEvent - ActionScript 3.0 言語およびコンポーネントリファレンス&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;滑らかな数値の変化のさせ方は結構面白くて、アニメーションで使われている手法を音にも適用してみたい。&lt;br /&gt;&lt;a href="http://www.cbc-net.com/article/2008/05/trick7_04.php"&gt;CBCNET - 土日 Flash のススメ(4)：動きをつけるということ（イージングについて考える）&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-2960140644813791423?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/2960140644813791423/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=2960140644813791423' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/2960140644813791423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/2960140644813791423'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2009/02/mousine.html' title='mousine'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-8287187736379214090</id><published>2009-01-25T23:10:00.003+09:00</published><updated>2009-01-25T23:18:27.412+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sound'/><category scheme='http://www.blogger.com/atom/ns#' term='processing(p5)'/><title type='text'>toxi audio!!!</title><content type='html'>以前フォルダだけはあるなーと思ってたtoxiのaudioutils、できてた。&lt;br /&gt;&lt;a href="http://code.google.com/p/toxiclibs/downloads/list"&gt;toxiclibs - Google Code&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;JOALがバンドルされてて3次元音響が鳴らせる。&lt;br /&gt;サンプル動かしてみ。&lt;br /&gt;geomutilsとprefutilsも必要なので一緒にdownloadしてLibrariesフォルダに入れとく。&lt;br /&gt;&lt;br /&gt;toxi rocks!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-8287187736379214090?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/8287187736379214090/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=8287187736379214090' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8287187736379214090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8287187736379214090'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2009/01/toxi-audio.html' title='toxi audio!!!'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-1665683975868374890</id><published>2008-12-28T02:08:00.003+09:00</published><updated>2009-01-25T20:05:39.976+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='diary'/><title type='text'>20081228</title><content type='html'>2008と打つのももう最後かも。&lt;br /&gt;&lt;br /&gt;少し部(署の)活動とかがありつつも無事仕事は納まった。働き始めて約半年。実は結構色々やった。案件毎にフォルダを分けて、日付毎に管理してるので、pastのフォルダを見るとそれがわかる。進行中のはongoing。&lt;br /&gt;&lt;br /&gt;手を動かしてグラフィックを作る以外にも店舗調査したり企画書書いてみたり。タクシーの乗り方も学んだ。&lt;br /&gt;&lt;br /&gt;興味の幅が広がった。サービスデザインやビジネスモデルの提案は、僕自身はあまり深くは関わっていないけれども、同じ部屋で会議してたり、雑談してたりして、色んな単語が勝手に耳に入ってくる。CRM、JITボックス、テキストマイニング、マーケットイン、プロダクトアウト。。。検索すると沢山でてくるけど、今まで全く知らなかった世界。まだまだある。&lt;br /&gt;&lt;br /&gt;山口行ってからというもの、週末はどこかに行きたくてしょうがない。今回の山口で行ったspongyとか金子さんの作品が売っている店はナガオカケンメイの「デザイン物産展」にもBRUTASの地方特集にも載ってない。まだまだある。&lt;br /&gt;&lt;br /&gt;学生時代よりは気分的に自由になって、割と何でもやるよという感じ。以前は興味と関係ないことはストレスでしかなかったけど、今はそういうものこそが新しい自分を作っていってくれてると思える。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-1665683975868374890?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/1665683975868374890/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=1665683975868374890' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/1665683975868374890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/1665683975868374890'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2008/12/20081228.html' title='20081228'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-2156566822296358833</id><published>2008-12-08T22:13:00.005+09:00</published><updated>2008-12-09T22:53:26.547+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='diary'/><title type='text'>20081206-20081207</title><content type='html'>12/6&lt;br /&gt;木曜日くらいに中西君から山口行きのお誘いを受ける。いつも週末に持ち越し気味の仕事にキリをつけて&lt;a href="http://rmx.cz/monsters/segmentmonster/index.html"&gt;processing monster&lt;/a&gt;もやって、始発の飛行機(6:40)も予約して準備万端だったのに、目覚めた時には飛行機は飛んでました。&lt;br /&gt;&lt;br /&gt;とりあえずシャワーを浴びて、冷静になって、携帯で羽田-山口宇部の空席状況を確認。そのまま予約できるのはもっと後の時間になるので「遅れます」と留守電を入れて羽田行きの電車に乗り込む。&lt;br /&gt;&lt;br /&gt;9時過ぎに空港到着。このメンツ、このやり方、この曲でロックし続けるタイミングは多分もうないので、時価だと思ってビジネス特割のチケットを払い戻し、10時のフライト購入。&lt;br /&gt;&lt;br /&gt;12時過ぎに宇部到着。雪。バスで新山口へ。雪強い。電車遅れる(そして少ない)。街中を舞台にしたパフォーマンス「山口市営Ｐ」の予約時間には間に合わないので山城に頼んで調整してもらう。&lt;br /&gt;&lt;br /&gt;14時山口駅到着。歩いて会場を目指す。14:10の回。ドイツ人家族の3人に割り込ませていただく形になった。20年山口に住んでるそうで、現在は山口大学で教鞭をとられているとのこと。&lt;br /&gt;&lt;br /&gt;「山口市営P」は山口市の商店街を舞台にして、様々なイベントを体験する。呉服店から始まり、古いタバコ屋さんの中だったりアーケードの上だったりスナックでおしるこを食べて裏口から出るとか、多分地元の人でも知らなかったり、あそこってどうなってるんだろうと思ってても行けないようなところに行けた。&lt;br /&gt;&lt;br /&gt;アーケードの上は、多分僕だけじゃなくて、小さい頃から上ってみたい人はいたんじゃないかと思う。洗濯物などが干してあるため撮影は禁止となっていたが、変わった作りの建築や、都市の作られ方が見えて面白かった。アーケードがある街はアトラクションとして売り出せばいいと思う(広告脳)。&lt;br /&gt;&lt;br /&gt;郊外に大型店舗ができ、街の中心部の商店街に活気がなくなって...というのはどの地方都市でも抱えている問題。彦根もそうだし、大垣もそうだった。僕は郊外の大型店舗も大好きなので、それぞれがそれぞれの良さを保ちつつ経済を循環させればいいと思うが、難しいのだろう。ピーターサヴィルがマンチェスターの都市計画クリエイティブ・ディレクターになったような感じで(うまくいってるかどうかはよくわかりませんが)、何かできないものだろうか。&lt;br /&gt;&lt;br /&gt;「MASSIVE CHANGE」というブルース・マウの本に、「For most of us, design is invisible. Until it fails.」という言葉がある。多分、僕が信じてるアートも同じようなことで、見えていなかったものを見せてくれる。普段とは違う見方、違う距離感で、対象と向かい合うこと。向かい合わざるを得なくなる状況というか。自分の意識だけじゃなくて、向こうからガツンとくる感じも必要な訳で。&lt;br /&gt;&lt;br /&gt;アーケードから屋上をつたって本屋を抜け、細い道の中から空き地を通ってゴール。ここで中西君、ノダモと合流。ひたすら平謝り。そして何故かYCAM関係者はじめ知人の全員が僕の遅刻を知っている。&lt;br /&gt;&lt;br /&gt;しばらく歓談した後、秋吉台の芸術村で働いてる服部君の紹介でsponzyのマフラーや帽子を試着しまくる。とても素敵。巻物を購入。あと太いフレームの眼鏡と黒っぽい服と輸入車への興味があればクリエイターになれる。&lt;br /&gt;&lt;br /&gt;YCAMへ移動し「minimum interface」。マルちゃんに案内してもらいつつ、takawoやzachの作品を展覧会場によくいる理屈っぽいうぜーやつになりつつ鑑賞。shinchikaの映像がとてもよかった。多分本当に好きなものとかは自分と違うと思うけど、世界の広さのようなものを感じて嬉しかった。&lt;br /&gt;&lt;br /&gt;夜御飯の前に「湯田アートプロジェクト」へ。exonemoの毎度ながら気の利きまくった作品、UVAのクリスマスイルミネーション的なインスタレーション、足湯に入りながらのshinchika(すごい制作量)の映像作品、規模としては大きくないが満足度はかなり高い。3という数字のマジックについて話す。&lt;br /&gt;&lt;br /&gt;御飯はIAMASのOBOGが揃って仕事の話や恋愛の話、マルちゃんの高校時代の話(実のお姉さんによる)など。2次会では市営Pのスタッフとも合流して突っ込んだ話など。皆それぞれ自分の道を進んだ結果の今ここだなという感じ。&lt;br /&gt;&lt;br /&gt;3時頃山城と服部君が住んでるMarumachi Art Center(通称MAC)で就寝。素敵な一軒家。秋吉台で滞在制作している有佐君はお仕事。&lt;br /&gt;&lt;br /&gt;12/7&lt;br /&gt;朝8時に起きて温泉かと思いきや余裕で昼まで寝る。服部君に車を出してもらい寿司。14時過ぎ服部君は再び市営Pへ、中西君とノダモと僕は親子3代で来たい感じの温泉「山水園」へ。ウルトラリラックス。&lt;br /&gt;&lt;br /&gt;3時半頃YCAMのレストランでコーヒー飲んで、服部君と合流して秋吉台へ。萩焼の作家金子司さんの作品を扱うお店でマグカップ購入。洒落てる。オレオレ日本物産展。&lt;br /&gt;&lt;br /&gt;カルスト台地で一通りはしゃいで、商店街の皆に挨拶して僕と中西君は空港まで送ってもらう(本当にありがとうございました)。高速移動と温泉で疲れなし。羽田のアカシアで御飯食べながらこれからの話など。&lt;br /&gt;&lt;br /&gt;ここ半年で最高の週末。これからもフットワークは軽めでいきたい。基本的に僕は都内から出たくない症候群(川を渡ればすぐ神奈川)で、インターネット最高主義者だけど、実際に動くことも大事。そのためにも一生懸命仕事して、お金を貯めようと思った。あと誰かが来たときのために自分の住んでる土地にもっと馴染もうとも思った。&lt;br /&gt;&lt;br /&gt;「遠くである必要はなく、近くの路地裏にも異世界はあるかも知れない」、みたいな話を石川直樹がしてて、かっこつけ過ぎだろと思うけどあながち嘘でもない。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-2156566822296358833?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/2156566822296358833/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=2156566822296358833' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/2156566822296358833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/2156566822296358833'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2008/12/20081206-20081207.html' title='20081206-20081207'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-7281621713236454897</id><published>2008-11-23T05:42:00.004+09:00</published><updated>2008-11-23T06:11:31.127+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='processing(p5)'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>forward kinematics</title><content type='html'>関節みたいな動きのプログラミング。&lt;br /&gt;ActionScript 3.0アニメーションからporting。&lt;br /&gt;PVectorクラスを使ってみた。&lt;br /&gt;&lt;a href="http://rmx.cz/monsters/"&gt;Processing Monster&lt;/a&gt;作りたい。&lt;br /&gt;&lt;br /&gt;walking.pde&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Segment s1, s2, s3, s4;&lt;br /&gt;float cycle = 0;&lt;br /&gt;float offset = -PI*0.5;&lt;br /&gt;&lt;br /&gt;void setup() {&lt;br /&gt;  size(200, 200);&lt;br /&gt;  smooth();&lt;br /&gt;  frameRate(30);&lt;br /&gt;  fill(255);&lt;br /&gt;  s1 = new Segment(width*0.5, height*0.5, 30, 10);&lt;br /&gt;  s2 = new Segment(s1.getPin().x, s1.getPin().y, 30, 10);&lt;br /&gt;  s3 = new Segment(width*0.5, height*0.5, 30, 10);&lt;br /&gt;  s4 = new Segment(s3.getPin().x, s3.getPin().y, 30, 10);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void draw() {&lt;br /&gt;  background(255);&lt;br /&gt;  walk(s1, s2, cycle);&lt;br /&gt;  walk(s3, s4, cycle+PI);&lt;br /&gt;  cycle += .2;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void walk(Segment segA, Segment segB, float cyc) {&lt;br /&gt;  float angleA = sin(cyc) * HALF_PI*0.25 + HALF_PI;&lt;br /&gt;  float angleB = sin(cyc+offset) * HALF_PI*0.17 + HALF_PI*0.12;&lt;br /&gt;  segA.rotation = angleA;&lt;br /&gt;  segB.rotation = segA.rotation + angleB;&lt;br /&gt;  segB.x = segA.getPin().x;&lt;br /&gt;  segB.y = segA.getPin().y;&lt;br /&gt;  segA.render();&lt;br /&gt;  segB.render();&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Segment.pde&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;class Segment {&lt;br /&gt;  float x;&lt;br /&gt;  float y;&lt;br /&gt;  float w;&lt;br /&gt;  float h;&lt;br /&gt;  float rotation;&lt;br /&gt;  PVector v;&lt;br /&gt;  &lt;br /&gt;  Segment(float x, float y, float w, float h) {&lt;br /&gt;    this.x = x;&lt;br /&gt;    this.y = y;&lt;br /&gt;    this.w = w;&lt;br /&gt;    this.h = h;&lt;br /&gt;    v = new PVector();&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  void render() {&lt;br /&gt;    pushMatrix();&lt;br /&gt;    translate(x, y);&lt;br /&gt;    rotate(rotation);&lt;br /&gt;    rect(0, -h*0.5, w, h);&lt;br /&gt;    ellipse(0, 0, 2, 2);&lt;br /&gt;    ellipse(w, 0, 2, 2);&lt;br /&gt;    popMatrix();&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  PVector getPin() {&lt;br /&gt;    v.x = x + cos(rotation) * w;&lt;br /&gt;    v.y = y + sin(rotation) * w;&lt;br /&gt;    return v;&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-7281621713236454897?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/7281621713236454897/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=7281621713236454897' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7281621713236454897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7281621713236454897'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2008/11/forward-kinematics.html' title='forward kinematics'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-6511055527606875164</id><published>2008-11-10T23:28:00.003+09:00</published><updated>2008-11-11T00:03:30.881+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='diary'/><title type='text'>20081110</title><content type='html'>20081108&lt;br /&gt;make tokyo meeting 02行って来た。案の定同窓会と化して挨拶ばかりしていた。&lt;br /&gt;インターネットでおなじみの人達にも会えて良かった。もっと話したかったけど。&lt;br /&gt;ガセネタリウムは確かに佐竹の言葉通り「make:の精神を見た」。&lt;br /&gt;&lt;br /&gt;中西君がエディトリアルしたmaking things talkを買おうと思ったが売り切れ。&lt;br /&gt;学食も終わっていて失われた青春が帰ってくることはなかった。&lt;br /&gt;&lt;br /&gt;20081109&lt;br /&gt;食べ過ぎで寝過ぎ。会社で亀の世話をしつつプログラミング。making things talkがないので手で餌をやってぶちまける。natzkeのas3のコードを自分なりの解釈でp5にポーティング。気づいたら妖怪終電逃しに会う。&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/hysysk/3016568770/" title="smoothcurve-0645 by hayashi yosuke, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3192/3016568770_b287663a6c.jpg" width="500" height="250" alt="smoothcurve-0645" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;20081110&lt;br /&gt;今月末メディアリテラシーの授業でprocessingを紹介することになったのでランチがてら打ち合わせ。完璧なプログラミングは教えられないけど、初心者がつまづくところには気づけるかも知れないし、アートとデザインの文脈でそれなりに話せることはあるつもり。人のワークショップの資料読みながらどうするのがいいのかとか考える。&lt;br /&gt;&lt;br /&gt;仕事もちゃんとした。芸コマ。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-6511055527606875164?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/6511055527606875164/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=6511055527606875164' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/6511055527606875164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/6511055527606875164'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2008/11/20081110.html' title='20081110'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm4.static.flickr.com/3192/3016568770_b287663a6c_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-3271981795385586369</id><published>2008-11-04T22:46:00.012+09:00</published><updated>2008-11-12T04:42:32.135+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='processing(p5)'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='actionscript'/><title type='text'>build ribbons</title><content type='html'>erik natzkeのflash on the beachの発表なのかな。jonathan harrisへのレスポンスと一緒に上げられてた気がするけど。&lt;br /&gt;&lt;a href="http://natzke.com/source/"&gt;Untitled Document&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.kraftner.com/2008/10/06/flash-on-the-beach-and-the-jonathan-harris-affair/"&gt;Flash on the Beach and “The Jonathan Harris Affair” | THOMAS KRÄFTNER&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;これのParticlesのソース見て、動かしてみて、この書き方がいいのかどうかは知らないけどprocessingでもループ内でnewしてParticlesを生み出したいと思った。最初に思いついたのが配列を使って実現する方法。サイズの宣言と値を代入する必要があるので、適当に埋めてやってたんだけど、ださい(し、これでは意味がない。最初に決まった数のオブジェクトを作るんじゃなくて、ループの度に増やしたい)。&lt;br /&gt;&lt;br /&gt;とりあえずParticleクラス&lt;br /&gt;Particle.pde&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;class Particle {&lt;br /&gt;  float x;&lt;br /&gt;  float y;&lt;br /&gt;  float vx;&lt;br /&gt;  float vy;&lt;br /&gt;  float rad;&lt;br /&gt;  &lt;br /&gt;  Particle(float x, float y, float vx, float vy, float rad) {&lt;br /&gt;    this.x = x;&lt;br /&gt;    this.y = y;&lt;br /&gt;    this.vx = vx;&lt;br /&gt;    this.vy = vy;&lt;br /&gt;    this.rad = rad;&lt;br /&gt;  }&lt;br /&gt;  void draw() {&lt;br /&gt;    x += vx;&lt;br /&gt;    y += vy;&lt;br /&gt;    ellipse(x, y, rad, rad);&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;実行するメインのコード。&lt;br /&gt;particleTest1.pde&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Particle[] p = new Particle[500];&lt;br /&gt;int idx = 0;&lt;br /&gt;float rad = 10;&lt;br /&gt;void setup() {&lt;br /&gt;  size(800, 400);&lt;br /&gt;  fill(0);&lt;br /&gt;  smooth();&lt;br /&gt;  for(int i=0;i&amp;lt;p.length;i++) {&lt;br /&gt;    p[i] = new Particle(0,0,0,0,0);&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void draw() {&lt;br /&gt;  background(255);&lt;br /&gt;  spawnParticles();&lt;br /&gt;  drawParticles();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void spawnParticles() {&lt;br /&gt;  if(idx&gt;p.length-1) {&lt;br /&gt;    idx = 0;&lt;br /&gt;  }&lt;br /&gt;  float vx = random(-1, 1);&lt;br /&gt;  float vy = random(-1, 1);&lt;br /&gt;  p[idx] = new Particle(mouseX, mouseY, vx, vy, rad);&lt;br /&gt;  idx++;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void drawParticles() {&lt;br /&gt;  for(int i=0;i&amp;lt;p.length;i++) {&lt;br /&gt;    p[i].draw();&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;actionscript3の場合は描画されるオブジェクトはディスプレイリストで管理されるから、addChildでひたすらオブジェクトを追加しつつ増え過ぎたら削除、みたいな書き方ができる。&lt;br /&gt;processingでもそんな方法はないのかなと思ったらサンプルにあった。&lt;br /&gt;&lt;a href="http://processing.org/learning/topics/arraylistclass.html"&gt;ArrayListClass \ Learning \ Processing 1.0 (BETA)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;これはBallクラスにlifeプロパティをもたせてあり、255回ループで呼ばれたらfinished()メソッドがtrueを返して、ballsから削除されるようになってる。&lt;br /&gt;&lt;br /&gt;(Example&amp;gt;Topics&amp;gt;Simulate&amp;gt;&lt;a href="http://processing.org/learning/examples/multipleparticlesystems.html"&gt;MultipleParticleSystems&lt;/a&gt;とかもいい。nature of codeでやったVector3Dクラスが&lt;a href="http://processing.org/reference/PVector.html"&gt;PVectorクラス&lt;/a&gt;として組み込まれてる。各メソッドについてもサンプルがついてて親切。)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;for (int i = balls.size()-1; i &gt;= 0; i--) { &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;は毎回balls.size()を参照しなくてもいいようにするかっこいい書き方。&lt;br /&gt;&lt;br /&gt;というのを参考にしつつ、一定数超えたら削除していく方法で書き直したのがこれ。前出のParticleクラスはそのまま使える。&lt;br /&gt;ArrayList使った思い通りの方法。&lt;br /&gt;particleTest1_2.pde&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;ArrayList particles;&lt;br /&gt;float rad = 10;&lt;br /&gt;void setup() {&lt;br /&gt;  size(800, 400);&lt;br /&gt;  fill(0);&lt;br /&gt;  smooth();&lt;br /&gt;  particles = new ArrayList();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void draw() {&lt;br /&gt;  background(255);&lt;br /&gt;  spawnParticles();&lt;br /&gt;  drawParticles();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void spawnParticles() {&lt;br /&gt;  float vx = random(-1, 1);&lt;br /&gt;  float vy = random(-1, 1);&lt;br /&gt;  particles.add(new Particle(mouseX, mouseY, vx, vy, rad));&lt;br /&gt;  if (particles.size()&gt;500) {&lt;br /&gt;    particles.remove(0);&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void drawParticles() {&lt;br /&gt;  for(int i=particles.size()-1; i &gt;= 0; i--) {&lt;br /&gt;    Particle p = (Particle)particles.get(i);&lt;br /&gt;    p.draw();&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;(11/7修正)重力のための変数gravityを削除。まだ関係ないので。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-3271981795385586369?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/3271981795385586369/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=3271981795385586369' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/3271981795385586369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/3271981795385586369'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2008/11/build-ribbons.html' title='build ribbons'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-8325064642963614752</id><published>2008-11-02T23:24:00.008+09:00</published><updated>2008-11-03T02:31:16.174+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='image'/><category scheme='http://www.blogger.com/atom/ns#' term='idea'/><category scheme='http://www.blogger.com/atom/ns#' term='sound'/><category scheme='http://www.blogger.com/atom/ns#' term='processing(p5)'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>non-formatize</title><content type='html'>六本木のTSUTAYAでお洒落なデザイン本などを眺めていたら発見したnon-formatの作品集。&lt;br /&gt;&lt;a href="http://www.non-format.com/media/images/wire-02.jpg"&gt;これ&lt;/a&gt;の左上。&lt;br /&gt;で大体やりたいことはわかると思うけど、やってみました。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_oxc4970ZOdY/SQ29NCcQk7I/AAAAAAAAAPs/dFzbpRIwaqE/s1600-h/nonformatize.jpg"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_oxc4970ZOdY/SQ29NCcQk7I/AAAAAAAAAPs/dFzbpRIwaqE/s400/nonformatize.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5264071571157324722" /&gt;&lt;/a&gt;&lt;br /&gt;輝度が低い、暗いとこは振幅を大きくして、線が重なることで濃くしてある。だけ。&lt;br /&gt;オリジナルに近づけるにはもうちょっと詰める必要あるな。元画像の作り方にも左右されると思うけど。&lt;br /&gt;&lt;br /&gt;モナリザの画像探してる時に見つけた&lt;a href="http://amor1029.exblog.jp/6487171/"&gt;こんなん&lt;/a&gt;もある。錯視とかもっと勉強したい。&lt;br /&gt;&lt;br /&gt;トラック毎に切り分けて音で聴けるようにしたいところだけど、それはまたいずれ。&lt;br /&gt;最新版(0154)だとminim音鳴らないし。&lt;br /&gt;&lt;a href="http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Sound;action=display;num=1221707542"&gt;Processing 1.0 (BETA) - Minim problem... I can't hear ANYTHING&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;flashでもできるな。BitmapDataクラスでgetPixel()して、値をSampleDataEventに渡す感じだろうか(地味に昨日&lt;a href="http://hysysk.blogspot.com/2008/05/adobe-made-some-noise.html"&gt;flashでsine wave鳴らす&lt;/a&gt;の直した)。ファイル書き出しもできるからwaveファイルとかも作れるし(miztにソースいただきました)。&lt;br /&gt;&lt;br /&gt;ビジュアルからインスパイアされて誰にでも説明できる方法で音作りに持っていけるようになったのはよかったよね。&lt;br /&gt;&lt;br /&gt;scriptographerでやりたい。&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;PImage img;&lt;br /&gt;int x = 0;&lt;br /&gt;int y = 0;&lt;br /&gt;int imgW;&lt;br /&gt;int imgH;&lt;br /&gt;float val;&lt;br /&gt;float amp;&lt;br /&gt;&lt;br /&gt;background(255);&lt;br /&gt;colorMode(HSB, 255);&lt;br /&gt;img = loadImage("lisa.jpg");&lt;br /&gt;imgW = img.width;&lt;br /&gt;imgH = img.height;&lt;br /&gt;size(imgW*2, imgH);&lt;br /&gt;image(img, 0, 0);&lt;br /&gt;&lt;br /&gt;loadPixels();&lt;br /&gt;for(y = 0; y &lt; imgH; y++) {&lt;br /&gt;  for(x = 0; x &lt; imgW; x+=5) {  &lt;br /&gt;    val = brightness(pixels[y*imgW*2+x]);&lt;br /&gt;    amp = (255-val)*0.05;&lt;br /&gt;    stroke(100, amp+100);&lt;br /&gt;    line(imgW+x-amp, y, imgW+x+amp, y);&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;saveFrame("nonformatize.jpg");&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-8325064642963614752?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/8325064642963614752/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=8325064642963614752' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8325064642963614752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8325064642963614752'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2008/11/non-formatize.html' title='non-formatize'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_oxc4970ZOdY/SQ29NCcQk7I/AAAAAAAAAPs/dFzbpRIwaqE/s72-c/nonformatize.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-8463463763232029159</id><published>2008-10-12T07:11:00.005+09:00</published><updated>2008-10-12T10:09:57.077+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='illustrator'/><category scheme='http://www.blogger.com/atom/ns#' term='scriptographer'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='sketch'/><title type='text'>sketch20081012</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_oxc4970ZOdY/SPEktGgLafI/AAAAAAAAAPk/TPY7CpH-Tm8/s1600-h/lines.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_oxc4970ZOdY/SPEktGgLafI/AAAAAAAAAPk/TPY7CpH-Tm8/s400/lines.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5256022597376371186" /&gt;&lt;/a&gt;&lt;br /&gt;ドキュメントの左下(0, 0)から選択したオブジェクトのパスにアンカーポイントを追加して線を引く。curvesToPoints()の第二引数がよくわからない。&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;var sel = document.getMatchingItems(Path, { selected: true });&lt;br /&gt;for(var i=0; i&amp;lt;sel.length; i++) {&lt;br /&gt; var art = sel[i];&lt;br /&gt; art.curvesToPoints(10, 1);&lt;br /&gt; for(var j=0; j&amp;lt;art.curves.length; j++) {&lt;br /&gt;  var p = new Path();&lt;br /&gt;  p.moveTo(art.curves[j].point1);&lt;br /&gt;  p.lineTo(0,0);&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-8463463763232029159?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/8463463763232029159/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=8463463763232029159' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8463463763232029159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8463463763232029159'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2008/10/sketch20081012.html' title='sketch20081012'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_oxc4970ZOdY/SPEktGgLafI/AAAAAAAAAPk/TPY7CpH-Tm8/s72-c/lines.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-2594841303195666870</id><published>2008-09-24T16:34:00.003+09:00</published><updated>2008-09-24T16:39:38.944+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='illustrator'/><category scheme='http://www.blogger.com/atom/ns#' term='scriptographer'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>scriptographer Timer class</title><content type='html'>&lt;a href="http://www.scriptographer.com/Forum/Help/Timers/"&gt;Help&lt;/a&gt;より。&lt;br /&gt;1秒毎に円を描いてx位置が500pixelを超えたら止まる。&lt;br /&gt;timerTest.js&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;var x = 0;&lt;br /&gt;var timer = new Timer(1, true);&lt;br /&gt;timer.start();&lt;br /&gt;timer.onExecute = function() {&lt;br /&gt; document.createCircle(x, 100, 10);&lt;br /&gt; &lt;br /&gt; if(x&gt;500) {&lt;br /&gt;  timer.stop();&lt;br /&gt; }&lt;br /&gt; x+=10;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-2594841303195666870?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/2594841303195666870/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=2594841303195666870' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/2594841303195666870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/2594841303195666870'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2008/09/scriptographer-timer-class.html' title='scriptographer Timer class'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-7158967987516225177</id><published>2008-09-24T01:36:00.006+09:00</published><updated>2008-09-24T01:54:58.274+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='scriptographer'/><category scheme='http://www.blogger.com/atom/ns#' term='sketch'/><title type='text'>sketch20080924</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_oxc4970ZOdY/SNkbRgSxDoI/AAAAAAAAAPc/H386sStKRw8/s1600-h/3d.jpg"&gt;&lt;img style="display:block; margin:0 10px 10px 0; cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_oxc4970ZOdY/SNkbRgSxDoI/AAAAAAAAAPc/H386sStKRw8/s400/3d.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5249256828217396866" /&gt;&lt;/a&gt;&lt;br /&gt;Actionscript3.0アニメーションを参考にしたscriptographerでの3Dのスケッチ。&lt;br /&gt;flは焦点距離で、vpX、vpYは消失点(vanishing point)。&lt;br /&gt;ball3D.js&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;//A4 size&lt;br /&gt;var w = 596;&lt;br /&gt;var h = 842;&lt;br /&gt;var back = document.createRectangle(new Rectangle(0, 0, w, h));&lt;br /&gt;back.style.fill.color = new RGBColor(0, 0, 0);&lt;br /&gt;var fl = 250;&lt;br /&gt;var vpX = w/2;&lt;br /&gt;var vpY = h/2;&lt;br /&gt;var numBalls = 1000;&lt;br /&gt;function drawBall(x, y, z, rad) {&lt;br /&gt; if(z &gt; -fl) {&lt;br /&gt;  var scale = fl / (fl+z);&lt;br /&gt;  x = vpX + x * scale;&lt;br /&gt;  y = vpY + y * scale;&lt;br /&gt;  rad = rad * scale;&lt;br /&gt; }&lt;br /&gt; var b = document.createCircle(x, y, rad);&lt;br /&gt; b.style.fill.color = new RGBColor(255, 255, 255);&lt;br /&gt; b.opacity = scale * 0.7 + 0.3;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;for(var i=0; i &lt; numBalls; i++) {&lt;br /&gt; drawBall(Math.random() * w - w/2, Math.random() * h - h/2, numBalls - i, 10);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-7158967987516225177?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/7158967987516225177/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=7158967987516225177' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7158967987516225177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7158967987516225177'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2008/09/sketch20080924.html' title='sketch20080924'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_oxc4970ZOdY/SNkbRgSxDoI/AAAAAAAAAPc/H386sStKRw8/s72-c/3d.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-5787174752444626582</id><published>2008-09-22T22:25:00.007+09:00</published><updated>2008-09-22T23:28:38.583+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='illustrator'/><category scheme='http://www.blogger.com/atom/ns#' term='idea'/><category scheme='http://www.blogger.com/atom/ns#' term='scriptographer'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>drawCircles</title><content type='html'>scriptographerで円を描く。&lt;a href="http://www.scriptographer.com/Reference/AI/Document/"&gt;Documentクラス&lt;/a&gt;が持ってる関数を使う。&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;document.createCircle(x, y, radius);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;xとyを中心点とした半径radiusの円が描かれる。&lt;br /&gt;他にも興味深い関数がいくつかあるのでまた試す。&lt;br /&gt;&lt;br /&gt;ランダムに色を選びつつ透明度と線の太さを変更。&lt;br /&gt;こういうのは手作業やブレンドツールでやろうとしても難しいのではないかと思う。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_oxc4970ZOdY/SNepUniECYI/AAAAAAAAAPU/8KmcRcab9X8/s1600-h/circles.jpg"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_oxc4970ZOdY/SNepUniECYI/AAAAAAAAAPU/8KmcRcab9X8/s400/circles.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5248850062397933954" /&gt;&lt;/a&gt;&lt;br /&gt;drawCircles.js&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;var radius=10;&lt;br /&gt;var xOff=250;&lt;br /&gt;var yOff=450;&lt;br /&gt;for(var i=0; i&lt;10; i++) {&lt;br /&gt; for(var j=0; j&lt;10; j++) {&lt;br /&gt;  var circle = document.createCircle(xOff+i*radius*2, yOff+j*radius*2, radius);&lt;br /&gt;  circle.style.fill.color = new RGBColor(Math.random(),Math.random(),Math.random());&lt;br /&gt;  circle.style.stroke.color = new RGBColor(Math.random(),Math.random(),Math.random());&lt;br /&gt;  circle.style.stroke.width = (i+j)/2;&lt;br /&gt;  circle.opacity = (i+j)/20;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;再びscriptographerに興味を持ち出したのはjonathan puckeyの&lt;a href="http://www.jonathanpuckey.com/projects/delaunay-raster/"&gt;Delaunay Raster&lt;/a&gt;がかっこよすぎたからで、これこのままvjできるっていうか、昔illustratorでプレゼンやって怒られたり怒られなかったりしたんだけど、illustratorで絵を描くことがそのままパフォーマンスになる。scriptographer0.5だと他のオブジェクトに跳ね返りながらパスを描いていくスクリプトがあって、それも同じような面白さがあった。Timerクラスが変わったみたいで実装方法がわからない。&lt;br /&gt;&lt;br /&gt;今のところ&lt;a href="http://www.scriptographer.com/Forum/"&gt;forum&lt;/a&gt;を読むのが一番勉強になりそう。&lt;br /&gt;来年jonathanが授業でscriptographerやるって言ってるのが楽しみ。&lt;br /&gt;&lt;br /&gt;情報少ないけど、その分キレキレで純度が高いアウトプットに出会える。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-5787174752444626582?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/5787174752444626582/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=5787174752444626582' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/5787174752444626582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/5787174752444626582'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2008/09/drawcircles.html' title='drawCircles'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_oxc4970ZOdY/SNepUniECYI/AAAAAAAAAPU/8KmcRcab9X8/s72-c/circles.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-4420184555381744891</id><published>2008-09-14T23:39:00.004+09:00</published><updated>2008-09-15T04:56:31.059+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='diary'/><title type='text'>20080914</title><content type='html'>この3ヶ月は仕事でコードを書くことはほとんどなく、ひたすらillustratorとphotoshopだった。&lt;br /&gt;やってたのは主にカンプとかポンチ絵とか呼ばれるプレゼン用のイメージ作りで、学生時代は馬鹿にしてたhow toものがすげー役に立った。というか、こういう用途で使うために存在してるんだね。&lt;br /&gt;&lt;a href="http://psdtuts.com/"&gt;Photoshop Tutorials - PSDTUTS&lt;/a&gt;&lt;br /&gt;&lt;a href="http://vectortuts.com/"&gt;Illustrator &amp; Vector Tutorials - VECTORTUTS&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;USBとか作ってどうすんの？とか思うだろうけど、何かしらプレゼントとかグッズとかの企画を考える人がいて、それを絵に起こす仕事がある訳です。見せられないのが残念だけど、変なところに凝ってたりして結構笑える。合成とか参考にするための写真をflickrから探したりするのもautopagerizeとかldrizeのお陰で相当助かってます。&lt;br /&gt;&lt;br /&gt;探すイメージはネットだけじゃなくて本とか雑誌もあるので、本屋で本当に片っ端から開いて「使う」視点で見る。「あの写真の手をこの写真の手にしよう」とか。何か新しいチャンネルが開いた。そんでいかに先輩がちゃんと今のファッション誌とかの流れに乗っかってタイポグラフィ選んだりグラフィック作ってるかってのがわかった。&lt;br /&gt;&lt;a href="http://www.ycam.jp/interlab/2008/07/ycam-interlab-camp-vol1openfra.html"&gt;&lt;br /&gt;ycamでのopenframeworksのworkshop&lt;/a&gt;に会社から参加させてもらえることになった。半人前なのに個人的な作家活動も応援してもらっていて(どちらかというとさぼってるから怒られてるくらいで)、そういう投資的な、明日から現場で即使えるようなものじゃなくても面白がってもらえる環境というのはありがたい。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-4420184555381744891?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/4420184555381744891/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=4420184555381744891' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/4420184555381744891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/4420184555381744891'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2008/09/20080914.html' title='20080914'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-4279071135751609663</id><published>2008-09-14T18:44:00.011+09:00</published><updated>2008-09-14T20:40:51.708+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='illustrator'/><category scheme='http://www.blogger.com/atom/ns#' term='scriptographer'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>getting started with scriptographer</title><content type='html'>scriptographer、色々エフェクトを試す分にはいいけど、自分で一からコードを書く場合どこから始めればわからなかったので、ちょっと調べた。環境はCS3。&lt;br /&gt;&lt;br /&gt;General Scriptsに分類される、三角のPlayボタンを押して実行するタイプのものから。scriptsフォルダのscripts以下に入るやつ。&lt;br /&gt;&lt;br /&gt;illustratorを起動して、書類のアイコンをクリック。drawline.jsという名前をつけて、scriptsフォルダの中に保存。Mainのコンソールのscriptsの中にdrawline.jsが出来ているはず。ダブルクリックすると何かしらのエディタが立ち上がる。&lt;br /&gt;&lt;br /&gt;色々と他のソースを読むと、線を描くにはどうやら&lt;a href="http://www.scriptographer.com/Reference/AI/Path/"&gt;Path&lt;/a&gt;クラスを使えばよさそう。&lt;br /&gt;Pathクラスのインスタンスを作る。&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;var p = new Path();&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;actionscriptと同じように、描画する点へ移動する場合moveTo(x, y)を使う。ペンを置くイメージ。&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;p.moveTo(0, 0);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;目的の点まで線を引くのはlineTo(x, y)。ここが次の線の開始点にもなる。置いたペンを動かすイメージ。&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;p.lineTo(100, 100);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;この3行を書いて保存。Reloadボタン(矢印が2つ回転してるやつ)を押して、Playボタンを押す。&lt;br /&gt;アートボードの左下から右上に向かって線が引かれたはず。&lt;br /&gt;&lt;br /&gt;3行目を少し書き換えてみる。&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;for(var i=0;i&lt;100;i++) {&lt;br /&gt; p.lineTo(i*5, Math.random()*100);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;とか。&lt;br /&gt;オブジェクトに対して「フィルタ&amp;gt;パスの変形&amp;gt;ラフ」でギザギザ選ぶのと同じような感じ。コードと手作業でうまく行き来ができると嬉しい。&lt;br /&gt;&lt;br /&gt;ちなみに多分scriptographer入れたせいで、illustratorで印刷をするとconsoleにエラーが表示されて、tabを2回押さないとアクティブにならなくなりました...。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-4279071135751609663?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/4279071135751609663/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=4279071135751609663' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/4279071135751609663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/4279071135751609663'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2008/09/getting-started-with-scriptographer.html' title='getting started with scriptographer'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-8103726789727550026</id><published>2008-09-05T23:10:00.002+09:00</published><updated>2008-09-05T23:45:06.104+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='natureofcode'/><category scheme='http://www.blogger.com/atom/ns#' term='processing(p5)'/><title type='text'>Encapsulation</title><content type='html'>前回の続き。短いけど。&lt;br /&gt;何でメインになるプログラムのところでt.x++とかして値を代入しないのか、という話。&lt;br /&gt;tを動かすには速度を代入すればいいから、普通の感覚だとt.x += vx;って感じにすると思う。&lt;br /&gt;&lt;br /&gt;これはEncapsulation(カプセル化)というやつで、オブジェクト指向プログラミングの基本のひとつ。クラスの外から値を変えたりできないようにする。単純に言うと「オブジェクトのデータに直接アクセスするのではなく、メソッドを使え」ということらしい。&lt;br /&gt;つまりt.go()で動くようにThingクラスを作っておくという訳。&lt;br /&gt;&lt;br /&gt;なんだけど、Vectorクラスについては変数をパブリックにしておくと何かと便利なので、今回は例外にして、別のクラスでちゃんとやろうとのこと。Actionscript3.0アニメーションもそんな感じだったな...(13ページの「クラスとOOP」参照)まぁでもその程度のレベルでもこれだけのことができるってのがポイントだと思うので、あんまり堅く考え過ぎないようにしよう。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-8103726789727550026?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/8103726789727550026/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=8103726789727550026' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8103726789727550026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8103726789727550026'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2008/09/encencapsulation.html' title='Encapsulation'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-3459889026671848843</id><published>2008-08-09T23:10:00.011+09:00</published><updated>2008-09-05T23:25:11.750+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='natureofcode'/><category scheme='http://www.blogger.com/atom/ns#' term='processing(p5)'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='math'/><title type='text'>Vectors</title><content type='html'>&lt;a href="http://www.shiffman.net/teaching/nature/"&gt;nature of code&lt;/a&gt;をちゃんとやろうと思った。何となく読んだりコード書き換えてみたりはしてたんだけど、いくつか勉強しておきたい項目を取り上げて書くつもり。まずは&lt;a href="http://www.shiffman.net/teaching/nature/vectors/"&gt;Vectors&lt;/a&gt;から。実は&lt;a href="http://www.shiffman.net/itp/classes/nature/library/Vector3D.java"&gt;Vector3Dクラス&lt;/a&gt;が何をしてるのかとかよく理解してなかった。&lt;br /&gt;&lt;br /&gt;motion 101のメインになる部分(hellomotion.pde)とThingクラスの余計なところを削って円の動きだけに注目。Vector3Dクラスを使うにはVector3D.javaをAdd File...でスケッチフォルダに追加するかライブラリを入れてimport noc.*;と書いておく必要がある。&lt;br /&gt;&lt;br /&gt;vec3dmotion.pde&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Thing t;&lt;br /&gt;void setup() {&lt;br /&gt;  t = new Thing(new Vector3D(0.01, 0.01), new Vector3D(0, 0), new Vector3D(0, 0));&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void draw() {&lt;br /&gt;  background(204);&lt;br /&gt;  t.go();&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Thing.pde&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;class Thing {&lt;br /&gt;  Vector3D loc;&lt;br /&gt;  Vector3D vel;&lt;br /&gt;  Vector3D acc;&lt;br /&gt;  &lt;br /&gt;  Thing(Vector3D a, Vector3D v, Vector3D l) {&lt;br /&gt;    this.acc = a.copy();&lt;br /&gt;    this.vel = v.copy();&lt;br /&gt;    this.loc = l.copy();&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  void go() {&lt;br /&gt;    update();&lt;br /&gt;    borders();&lt;br /&gt;    render();&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  void update() {&lt;br /&gt;    vel.add(acc);&lt;br /&gt;    loc.add(vel);&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  void borders() {&lt;br /&gt;    if(loc.x &gt; width) {&lt;br /&gt;      loc.x = 0;&lt;br /&gt;    }&lt;br /&gt;    if(loc.x &lt; 0) {&lt;br /&gt;      loc.x = width;&lt;br /&gt;    }&lt;br /&gt;    if(loc.y &gt; height) {&lt;br /&gt;      loc.y = 0;&lt;br /&gt;    }&lt;br /&gt;    if(loc.y &lt; 0) {&lt;br /&gt;      loc.y = height;&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  void render() {&lt;br /&gt;    ellipse(loc.x, loc.y, 10, 10);&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;位置は点(Points)であり、速度/加速度はベクトル(Vectors)。コーディングをシンプルにするために、これらを全てベクトル(大きさと方向)として扱う。&lt;br /&gt;&lt;br /&gt;setup()メソッドの中でThingクラスのインスタンスを作る時に、Vector3Dのインスタンスを生成して値を渡してるんだけど、この時の引数が2つ(new Vector3D(x,y))だと2次元、3つ(new Vector3D(x,y,z))だと3次元になる。実際には2つの場合はzに0が入るというだけなのでVector3Dのインスタンスは常にx,y,zで3次元の値を持ってるんだけど。&lt;br /&gt;&lt;br /&gt;Thingクラスのコンストラクタではcopy()メソッドを使って、先ほど生成されたVector3Dクラスのインスタンス変数からThingクラスのインスタンス変数に値をコピーして格納してる。&lt;br /&gt;&lt;br /&gt;加速度から速度を導いて、速度から位置を導く、という流れ。&lt;br /&gt;&lt;br /&gt;Vector3D使わないとすればこうなる。&lt;br /&gt;normalmotion.pde&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Thing t;&lt;br /&gt;void setup() {&lt;br /&gt;  t = new Thing(0.01, 0.01, 0, 0, 0, 0);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void draw() {&lt;br /&gt;  background(204);&lt;br /&gt;  t.go();&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Thing.pde&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;class Thing {&lt;br /&gt;  float x;&lt;br /&gt;  float y;&lt;br /&gt;  float vx;&lt;br /&gt;  float vy;&lt;br /&gt;  float ax;&lt;br /&gt;  float ay;&lt;br /&gt;  &lt;br /&gt;  Thing(float ax, float ay, float vx, float vy, float x, float y) {&lt;br /&gt;    this.ax = ax;&lt;br /&gt;    this.ay = ay;&lt;br /&gt;    this.vx = vx;&lt;br /&gt;    this.vy = vy;&lt;br /&gt;    this.x = x;&lt;br /&gt;    this.y = y;&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  void go() {&lt;br /&gt;    update();&lt;br /&gt;    borders();&lt;br /&gt;    render();&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  void update() {&lt;br /&gt;    vx += ax;&lt;br /&gt;    vy += ay;&lt;br /&gt;    x += vx;&lt;br /&gt;    y += vy;&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  void borders() {&lt;br /&gt;    if(x &gt; width) {&lt;br /&gt;      x = 0;&lt;br /&gt;    }&lt;br /&gt;    if(x &lt; 0) {&lt;br /&gt;      x = width;&lt;br /&gt;    }&lt;br /&gt;    if(y &gt; height) {&lt;br /&gt;      y = 0;&lt;br /&gt;    }&lt;br /&gt;    if(y &lt; 0) {&lt;br /&gt;      y = height;&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  void render() {&lt;br /&gt;    ellipse(x, y, 10, 10);&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;これはこれでわかりやすい。けど多分後々Vector3Dが効いてくるんだと思う。&lt;br /&gt;&lt;br /&gt;ベクトルとかの数学的な概念とか、コード使ったアニメーションで勉強になるのは『&lt;a href="http://www.borndigital.co.jp/book/flash/4-86246-049-3/index.html"&gt;ActionScript 3.0 アニメーション&lt;/a&gt;』。&lt;br /&gt;スクリプトだけで全部やるからflash持ってなくても動くものが作れる。flex環境のセットアップとかも丁寧に書いてあるしその辺は検索すれば出てくる。値段は高いけど、夏休み(もう大分過ぎてますが)にこれ1冊やると思えばどっか遊びに行くより楽めるし安い。&lt;a href="http://www.bit-101.com/blog/?p=1344"&gt;続編も出るらしい&lt;/a&gt;し。&lt;br /&gt;&lt;br /&gt;processingとActionscript3.0の行き来はそれほど苦ではないと思うので、両方読み書きできるといいと思う。既に使えるソースコードが沢山公開されてる訳だし。&lt;br /&gt;&lt;br /&gt;今までは使えそうなコードを集めて勘でプログラミングしてたんだけど、細かい調整できるようにそろそろスクラッチでも色々ちゃんと書けるようになりたい。DJからトラックメイカーへ。&lt;br /&gt;&lt;br /&gt;自前のblog環境整えないとな、と思う。かゆいところに手が届かないストレスで投稿が減ってるってのもあるから、何とかしたい。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-3459889026671848843?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/3459889026671848843/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=3459889026671848843' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/3459889026671848843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/3459889026671848843'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2008/08/vectors.html' title='Vectors'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-7931318429546757813</id><published>2008-07-27T18:43:00.004+09:00</published><updated>2008-07-27T19:41:04.343+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='diary'/><title type='text'>20080727</title><content type='html'>昨日はボ会というボードゲームをする会に参加させてもらって、朝までボードゲームやってた。大人数で時間とってゲームやる機会なんてあんまりない(1プレイ半日かかるやつとかもあるらしい)し、色んなゲームができたのが単純にすげーよかった。相当好きな人達が集まってるので、ゲームの由来だとかコンセプトの話聞くだけでも相当楽しい。&lt;br /&gt;&lt;br /&gt;最後のゲームで1位になって、賞品としてStone Ageというゲームを頂きました。ありがとうございます。&lt;br /&gt;&lt;br /&gt;会社の先輩に誘われて行ったんだけど、主催が佐々木さんっていうIAMASの先輩だった。大橋さんもいた。この二人はIAMAS入学前にめちゃwebみてた。佐々木さんのインタラクティブなアニメとか、大橋さんのコマドリ兄弟とか倉橋ヨエ子のPVとかすげー覚えてる。ご活躍されてます。&lt;br /&gt;&lt;br /&gt;ショーケンとかもそうだけど遊び方がうまい人っているなぁと思う。基本的にはコミュニティの作り方だと思うけど。&lt;br /&gt;&lt;br /&gt;皆で人狼やりたい。diamantsも盛り上がるし、小物が洒落てる。Cash'n Gunsとかごきぶりポーカーも良かったな。&lt;br /&gt;昔は割と親が人呼ぶの好きで、結構大人数でボードゲームとかカードゲームやったりした記憶がある。今生きてるモチベーションの大半はそういうのをまたやること。&lt;br /&gt;&lt;br /&gt;なんだけど、遊ぶと罪悪感が生まれてくる性格なので会社で少し仕事した。毎日一つくらいは何か新しいこと覚えたい。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-7931318429546757813?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/7931318429546757813/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=7931318429546757813' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7931318429546757813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7931318429546757813'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2008/07/20080727.html' title='20080727'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-8830465231608123494</id><published>2008-07-22T02:42:00.018+09:00</published><updated>2008-07-27T23:31:00.285+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='image'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='actionscript'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>using flickr api 01</title><content type='html'>flickrから画像を取得する方法。提供されてるAPIを使う。使用の際に必要となるAPIキーはここで取得。&lt;br /&gt;&lt;a href="http://www.flickr.com/services/api/keys/"&gt;http://www.flickr.com/services/api/keys/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;よく使われてるのはこのライブラリらしい。&lt;br /&gt;&lt;a href="http://code.google.com/p/as3flickrlib/"&gt;as3flickrlib - Google Code&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ライブラリ使わなくてもある程度は自分でできる。&lt;br /&gt;&lt;a href="http://www.thinkit.co.jp/article/91/4/"&gt;[Think IT] 第4回：外部API（Flickr）を試す！ (1/3)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;MVCモデルを使ってとか、僕にはまだわかりません。&lt;br /&gt;下にあるコードは手っ取り早く使う場合とか、前段階として。&lt;br /&gt;慣れだと思うけど、一回散らかさないと片付け方がわからない。&lt;br /&gt;&lt;br /&gt;とりあえず、ブラウザに直接URLを入力してみると、xmlが返ってくる。&lt;br /&gt;例えば、「test」というキーワードで全文検索して10件取得した1ページ目だったらこんな感じ(見やすいように改行入れてますが本来は一行です)。&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;http://api.flickr.com/services/rest/&lt;br /&gt;?method=flickr.photos.search&amp;api_key=取得したAPIキー&lt;br /&gt;&amp;text=test&amp;page=1&amp;per_page=10&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;結果。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_oxc4970ZOdY/SIxhoTRmY4I/AAAAAAAAAO8/fA5y5JoIRWE/s1600-h/flickrfeed.gif"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_oxc4970ZOdY/SIxhoTRmY4I/AAAAAAAAAO8/fA5y5JoIRWE/s400/flickrfeed.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5227660612467057538" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;他のを試したければここに出てるargumentsから選んで&amp;でつないで=で代入すればいい。&lt;br /&gt;&amp;tags=music&lt;br /&gt;とか。&lt;br /&gt;&lt;a href="http://www.flickr.com/services/api/flickr.photos.search.html"&gt;Flickr Services: Flickr API: flickr.photos.search&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ここまでくれば、あとは普通にxmlの処理するのと一緒。&lt;br /&gt;&lt;a href="http://yoppa.org/ssaw07.php?itemid=592"&gt;SSAW07 » 第5回：ActionScript 3.0応用 I - 外部イメージの読み込み&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.thetechlabs.com/xml/make-your-own-flickr-search-engine-with-flash-and-as3/"&gt;Make your own Flickr search engine with Flash and AS3 | The Tech Labs&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;thinkitにも書かれているように、crossdomain.xmlをロードするのを忘れずに。&lt;br /&gt;&lt;br /&gt;さらに、flash CS3とかで動かしてるブルジョアは大丈夫かも知れませんが、普通にflash player落としてXcodeとかで開発してる場合、セキュリティのエラーが出ると思う。&lt;br /&gt;&lt;br /&gt;FlashPlayerTrustというフォルダを作り、Macintosh HD/Library/Application Support/Macromedia/に保存。その中にcfgファイルを作る(名前は何でもいいそうです。とりあえずmm.cfgとかにしておく)。&lt;br /&gt;cfgファイルに目的のswfやフォルダのパスを設定する。こういう話題はどこに書いてあるかというと、ここからダウンロードできるpdfです。そんなん知らんよね。&lt;br /&gt;&lt;a href="http://www.adobe.com/devnet/flashplayer/articles/flash_player9_security_wp.html"&gt;Adobe - Developer Center : White paper: Adobe Flash Player 9 security&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;これもどうやって辿り着けたのか思い出せないが、とにかくここのドキュメントはダウンロードしていつでも参照できるようにしておく。&lt;br /&gt;&lt;a href="http://www.adobe.com/support/documentation/en/flex/"&gt;Adobe Flex resources&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;testで全文検索した結果から10枚表示。マウスクリックで表示順変更。&lt;br /&gt;YOUR API KEYの部分を取得したAPIキーと差し替えないと実行した時にエラーが出て表示されません。&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;package {&lt;br /&gt; import flash.display.MovieClip;&lt;br /&gt; import flash.display.Stage;&lt;br /&gt; import flash.display.StageScaleMode;&lt;br /&gt; import flash.display.StageAlign;&lt;br /&gt; import flash.display.Bitmap;&lt;br /&gt; import flash.events.Event;&lt;br /&gt; import flash.events.MouseEvent;&lt;br /&gt; import flash.text.TextField;&lt;br /&gt; import flash.net.URLRequest;&lt;br /&gt; import flash.net.URLLoader;&lt;br /&gt; import flash.display.Loader;&lt;br /&gt; import flash.system.LoaderContext;&lt;br /&gt;&lt;br /&gt;  public class TestFlickr extends MovieClip {&lt;br /&gt;  private var APIkey:String;&lt;br /&gt;  private var text:String;&lt;br /&gt;  private var searchURL:String;&lt;br /&gt;  private var startPage:uint = 1;&lt;br /&gt;  private var pageValue:uint = 10;&lt;br /&gt;  &lt;br /&gt;  public function TestFlickr() {&lt;br /&gt;   stage.scaleMode = StageScaleMode.NO_SCALE;&lt;br /&gt;   stage.align = StageAlign.TOP_LEFT;&lt;br /&gt;   stage.addEventListener(MouseEvent.CLICK, onMouseClick);&lt;br /&gt;   init();&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  private function init():void {&lt;br /&gt;   //your API key&lt;br /&gt;   APIkey= "YOUR API KEY";&lt;br /&gt;   //search word&lt;br /&gt;   text = "test";&lt;br /&gt;   &lt;br /&gt;   search();&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  private function search():void {&lt;br /&gt;   while(this.numChildren &gt; 0){&lt;br /&gt;    this.removeChildAt(this.numChildren-1);&lt;br /&gt;   }&lt;br /&gt;   setSearchURLString();&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  private function setSearchURLString():void {&lt;br /&gt;   var baseURL:String = "http://api.flickr.com/services/rest/?method=flickr.photos.search&amp;api_key=" + APIkey;&lt;br /&gt;   searchURL = baseURL + "&amp;text="+ text + "&amp;page=" +startPage + "&amp;per_page=" + pageValue;&lt;br /&gt;   trace(searchURL);&lt;br /&gt;   startXMLLoad();&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  private function startXMLLoad():void {&lt;br /&gt;   var req:URLRequest = new URLRequest(searchURL);&lt;br /&gt;   var XMLLoader:URLLoader = new URLLoader();&lt;br /&gt;   XMLLoader.addEventListener(Event.COMPLETE, onXMLLoadComplete);&lt;br /&gt;   XMLLoader.load(req);&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  private function onXMLLoadComplete(e:Event):void {&lt;br /&gt;   var imgLoader:URLLoader = URLLoader(e.target);&lt;br /&gt;   var xmlData:XML = XML(imgLoader.data);&lt;br /&gt;   &lt;br /&gt;   var xmlList:XMLList = xmlData.photos.photo;&lt;br /&gt;   for(var i:uint = 0; i &lt; pageValue; i++) {&lt;br /&gt;    var farm:String = xmlList[i].@farm;&lt;br /&gt;    var server:String = xmlList[i].@server;&lt;br /&gt;    var id:String = xmlList[i].@id;&lt;br /&gt;    var secret:String = xmlList[i].@secret;&lt;br /&gt;    var imgURL:String = "http://farm" + farm + ".static.flickr.com/" + server + "/" + id + "_" + secret +".jpg";&lt;br /&gt;    trace("URL:" + imgURL);&lt;br /&gt;    var imgReq:URLRequest = new URLRequest(imgURL);&lt;br /&gt;    var loader:Loader = new Loader();&lt;br /&gt;    &lt;br /&gt;    loader.contentLoaderInfo.addEventListener(Event.INIT, loadImageInit);&lt;br /&gt;    loader.load(imgReq, new LoaderContext(true));&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  private function loadImageInit(e:Event):void {&lt;br /&gt;   var bitmap:Bitmap = e.target.content;&lt;br /&gt;   addChild(bitmap);&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  private function onMouseClick(e:MouseEvent):void {&lt;br /&gt;   setChildIndex(getChildAt(0), numChildren - 1);&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-8830465231608123494?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/8830465231608123494/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=8830465231608123494' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8830465231608123494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8830465231608123494'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2008/07/using-flickr-api-01.html' title='using flickr api 01'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_oxc4970ZOdY/SIxhoTRmY4I/AAAAAAAAAO8/fA5y5JoIRWE/s72-c/flickrfeed.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-6547758284770175766</id><published>2008-07-22T02:21:00.000+09:00</published><updated>2008-07-22T02:22:17.443+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='idea'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><category scheme='http://www.blogger.com/atom/ns#' term='diary'/><title type='text'>20080721</title><content type='html'>本当はデザインに時間は関係ない。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-6547758284770175766?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/6547758284770175766/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=6547758284770175766' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/6547758284770175766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/6547758284770175766'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2008/07/20080721_22.html' title='20080721'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-7728397743725907855</id><published>2008-06-29T12:17:00.004+09:00</published><updated>2008-06-29T12:55:22.228+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='idea'/><category scheme='http://www.blogger.com/atom/ns#' term='note'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='applescript'/><title type='text'>py-appscript</title><content type='html'>面白そうなのでやってみた。&lt;br /&gt;&lt;a href="http://d.hatena.ne.jp/ymotongpoo/20080629"&gt;py-appscriptでiTunesで再生中の曲を取得する&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;sh setuptools-0.6c8-py2.5.eggのとこでzlibがなくてinstallできない。ここで少しはまった。&lt;br /&gt;&lt;blockquote&gt;zipimport.ZipImportError: can't decompress data; zlib not available&lt;/blockquote&gt;&lt;br /&gt;わざわざzlibをインストールしたけど、pythonをコンパイルし直すとかよくわからず。&lt;br /&gt;もういいやと思ってpythonのバイナリ入れ直そうかと思ったけどエラーでインストールできない。&lt;br /&gt;&lt;br /&gt;macportsでpythonを入れてあるのが原因ぽく、Python macports zlib で検索。&lt;br /&gt;&lt;a href="http://blog.wozozo.org/archives/100"&gt;» ( ﾟ∀ﾟ)o彡° Python! Python! easy_install! MacPorts!　| ヲゾゾ wozozo blog&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ということで、terminalから&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;sudo port install py25-zlib&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;すればうまくいって、&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;sh setuptools-0.6c8-py2.5.egg&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;も無事できた。&lt;br /&gt;&lt;br /&gt;わからないことだらけ。&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&gt;&gt;&gt; import appscript&lt;br /&gt;&gt;&gt;&gt; itunes = appscript.app('iTunes')&lt;br /&gt;&gt;&gt;&gt; print itunes.current_track.album.get()&lt;br /&gt;Baby cruising Love/マカロニ&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;でも安心できるの(一応動いたので)。&lt;br /&gt;いまさらながらtwitter自動ポストとかもできるな。やらないけど。これとあれを組み合わせればできるなとか、別の言語でやる場合はこれに似た何かを探せば(できることなら作れば)いいんだなとかがわかれば収穫。やった気になって何もしないのは駄目だと思うけど。&lt;br /&gt;&lt;br /&gt;これやりたい。&lt;br /&gt;&lt;a href="http://www.pachube.com/"&gt;pachube :: connecting environments, patching the planet - Map of feeds&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ipod、通勤中聴くけど、朝と夜ではあんまり意識してないけどボリュームが違ってて、朝に聴くと音量でかかったりして、前の日の夜の気分とかテンションみたいなものが音量として残ってる感じがして、何となく世界中の人々の音量を知りたいと思った。&lt;br /&gt;&lt;br /&gt;bloggerの話だけど、preタグのline-heightとか日によって変わるの何で？&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-7728397743725907855?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/7728397743725907855/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=7728397743725907855' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7728397743725907855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7728397743725907855'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2008/06/py-appscript.html' title='py-appscript'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-4358266298359630234</id><published>2008-06-14T23:51:00.005+09:00</published><updated>2008-07-12T13:49:10.223+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='diary'/><title type='text'>20080620</title><content type='html'>東京で働き始めました。肩書きはデザイナーです。&lt;br /&gt;まだ僕自身は何もできてないんだけど、今まで普通に目にしてたようなものを作ってる現場。&lt;br /&gt;3週間経ってちょっとずつ仕事が回ってきて、楽しい。&lt;br /&gt;&lt;br /&gt;仕事してて一番勉強になるのは制作中のものを見られることで、大体の場合においてラフの段階が一番かっこいい。というのはデザイナーの癖みたいな部分がやっぱりかなり出ていて、そこから色んな制約とかクライアントからの要求によってバランスがとられていく。最終的にはいい感じに落ち着いて、それはそれでいいものになる。&lt;br /&gt;&lt;br /&gt;今まではデザイン好きだけどデザイナーになれるかどうかわからなかったのであんまり本気出してない風でいたし、実際プログラミングしたり音楽作ったりして心の中で「僕はデザイナーじゃないし」みたいな言い訳してた。&lt;br /&gt;&lt;br /&gt;ありがたいことに今の職場ではそういう色々やってるところを買ってもらえた訳だけど、変な話、やっとデザインに対して本気出せると言うか、自分が生きていく上で本気を出すことが一番重要な手段になった。一口にデザイナーと言ってもまたこれはこれで細かく種類があるんだけど、とにかく「デザインの仕事」という枠の中でうまく機能するように、ある程度方向性を絞り込んで取り組むようになるだけで以前とは随分違う。&lt;br /&gt;&lt;br /&gt;まぁ、偉そうなこと言ってても電話の受け答えから書類の作り方まで、うまくできない。コピー用紙の取り替えとかお弁当の買い出しとか、下っ端だからやるんじゃなくて、そういうのも仕事のうちってことに気づくため。&lt;br /&gt;&lt;br /&gt;6年前くらいにネットラジオとして聴いてたプログラムが、今は作業中のbgmとして隣の隣から聴こえてくるっていう状況には人生の機微を感じる。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-4358266298359630234?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/4358266298359630234/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=4358266298359630234' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/4358266298359630234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/4358266298359630234'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2008/06/20080620.html' title='20080620'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-6213635111869519684</id><published>2008-05-25T03:37:00.014+09:00</published><updated>2008-11-03T02:17:45.869+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sound'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='actionscript'/><title type='text'>adobe made some noise</title><content type='html'>BIT-101のコード試してもSamplesCallbackEventがどこにあるのかわからず発狂しかけた。&lt;br /&gt;&lt;a href="http://www.bit-101.com/blog/?p=1264"&gt;Astro Dynamic Sound! » BIT-101 Blog&lt;/a&gt;&lt;br /&gt;Joa Ebertがフルコードをzipでくれ！てるからそれ参考にした。&lt;br /&gt;&lt;a href="http://blog.je2050.de/2008/05/19/simple-astro-synthesizer/"&gt;Simple Astro synthesizer at blog.je2050.de - Blog of Joa Ebert&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;最新のsdkをダウンロードしてパスを通す。&lt;br /&gt;&lt;a href="http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+3"&gt;Download Flex 3 - Flex SDK - Confluence&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;flex-config.xmlも書き換えておくこと。&lt;br /&gt;&lt;a href="http://opensource.adobe.com/wiki/display/flexsdk/Targeting+Flash+Player+10+Beta+with+Flex+SDK+3.0.x"&gt;Targeting Flash Player 10 Beta with Flex SDK 3.0.x&lt;/a&gt;&lt;br /&gt;&lt;s&gt;osxのスタンドアローンのflash playerはないのかな。&lt;br /&gt;コンパイルしたらとりあえずブラウザにdrag &amp; dropしてる。&lt;/s&gt;&lt;br /&gt;SDKの中にruntime/playerフォルダがあって、各OS毎のflash playerインストーラーがある。&lt;br /&gt;&lt;br /&gt;そのうち環境構築も含めてまとまった記事を書く。&lt;br /&gt;&lt;br /&gt;(11/1)書き直しました。不要なimportをなくして、&lt;a href="http://weblogs.macromedia.com/akamijo/archives/2008/08/var_mysoundsoun.html"&gt;akihiro kamijo: Flash Player 10 の動的サウンド生成機能 （Sound クラス）&lt;/a&gt;を参考にサンプル数を増やした。&lt;br /&gt;&lt;blockquote&gt;さて、イベントハンドラ内では 2048 以上 8192 以下のサンプルデータを書き込みます。パフォーマンス上はできるだけ多くのサンプルデータを （つまり 8192 個） 書くのが有利と考えられます。&lt;/blockquote&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;package {&lt;br /&gt; import flash.display.Sprite;&lt;br /&gt; import flash.media.Sound;&lt;br /&gt; import flash.events.Event;&lt;br /&gt; import flash.events.SampleDataEvent;&lt;br /&gt; &lt;br /&gt; public class SoundTest extends Sprite{&lt;br /&gt;  private var sound:Sound;&lt;br /&gt;  private var freq:Number = 440;&lt;br /&gt;  private var rate:Number = 44100;&lt;br /&gt;  private var phase:Number = 0;&lt;br /&gt;  &lt;br /&gt;  public function SoundTest() {&lt;br /&gt;   init();&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  private function init():void {&lt;br /&gt;   sound = new Sound();&lt;br /&gt;   sound.addEventListener(SampleDataEvent.SAMPLE_DATA, sineWaveGenerator);&lt;br /&gt;   sound.play();&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  private function sineWaveGenerator(event:SampleDataEvent):void {&lt;br /&gt;   for(var i:int = 0; i &lt; 8192; i++) {&lt;br /&gt;    phase += freq / rate;&lt;br /&gt;    var phaseAngle:Number = phase * Math.PI * 2;&lt;br /&gt;    var sample:Number = Math.sin(phaseAngle)*0.25;&lt;br /&gt;    event.data.writeFloat(sample);&lt;br /&gt;    event.data.writeFloat(sample);&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-6213635111869519684?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/6213635111869519684/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=6213635111869519684' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/6213635111869519684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/6213635111869519684'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2008/05/adobe-made-some-noise.html' title='adobe made some noise'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-7817738015818092309</id><published>2008-05-06T01:10:00.008+09:00</published><updated>2008-06-28T22:16:30.470+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='processing(p5)'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>richard paul lohse remix</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_oxc4970ZOdY/SB8x5k0d5qI/AAAAAAAAAOs/lO7mtr4_hNQ/s1600-h/richard-remix.gif"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_oxc4970ZOdY/SB8x5k0d5qI/AAAAAAAAAOs/lO7mtr4_hNQ/s400/richard-remix.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5196927360214886050" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;tumblr見てたらコードにしやすそうなグラフィックを見かけたのでコードにしてみた。&lt;br /&gt;元ネタはこれ。&lt;a href="http://www.lohse.ch/works_graphic3_e.html"&gt;Richard Paul Lohse&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;元画像から色情報とって描画したりするのが正確なんだろうけど、自分の目でどれくらい色を数値に置き換えられるか試してみた。印刷に長けてる人は色を見てCMYKがそれぞれ何%か言えるらしい。&lt;br /&gt;&lt;br /&gt;色空間はHSBで、最初は全部真ん中の列の明度(Brightness)だけが下がってるのかなと思ってたんだけど、どうもそれではうまくいかないので、黄色の行だけ明度はそのままで彩度(Saturation)を下げたらそれっぽくなった。&lt;br /&gt;&lt;br /&gt;元画像をPhotoshopで調べてみたら、青色の行も黄色と同じで、明度は変わらず彩度が下がっていた。&lt;br /&gt;あと全部の行の真ん中の列は色相(Hue)も微妙に変化してた。思ってたよりかは単純じゃなかった。&lt;br /&gt;&lt;br /&gt;何かIAMASでこういうプロジェクトあったな。芸術情報アーカイブだっけ？こんなぬるいのではないけど、昔の人の作品の特徴を解析するやつ。特定の画家のジェネレータをつくったりするとか何とか。&lt;br /&gt;&lt;br /&gt;コードは結構無駄なことしてる。上から下に実行って感じ。色のおかしいところは直してない。&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;PFont font;&lt;br /&gt;&lt;br /&gt;size(500, 710);&lt;br /&gt;background(255);&lt;br /&gt;noStroke();&lt;br /&gt;font = loadFont("HelveticaNeue-Light-48.vlw");&lt;br /&gt;textFont(font, 21);&lt;br /&gt;colorMode(HSB, 360);&lt;br /&gt;smooth();&lt;br /&gt;&lt;br /&gt;int rectSize = 156;&lt;br /&gt;int offY = 16;&lt;br /&gt;int offX = 16;&lt;br /&gt;&lt;br /&gt;background(340);&lt;br /&gt;for(int i=0;i&lt;3;i++) {&lt;br /&gt;  int h;&lt;br /&gt;  int s;&lt;br /&gt;  int b;&lt;br /&gt;  for(int j=0;j&lt;3;j++) {&lt;br /&gt;    if(i==1) {&lt;br /&gt;      b = 250;&lt;br /&gt;    } &lt;br /&gt;    else {&lt;br /&gt;      b = 280;&lt;br /&gt;    }&lt;br /&gt;    if(j==0) {&lt;br /&gt;      h = 322;&lt;br /&gt;      s = 290;&lt;br /&gt;    } &lt;br /&gt;    else if(j==1) {&lt;br /&gt;      h = 224;&lt;br /&gt;      s = 300;&lt;br /&gt;    } &lt;br /&gt;    else {&lt;br /&gt;      h = 55;&lt;br /&gt;      s = 360;&lt;br /&gt;      b = 360;&lt;br /&gt;      if(i==1) {&lt;br /&gt;        h = 44;&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;    fill(h, s, b);&lt;br /&gt;    rect(offX+i*rectSize, offY+j*rectSize, rectSize, rectSize);&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;fill(0);&lt;br /&gt;text("Richard Paul Lohse Remix\n5. May 2008\nHayashi Yosuke, Processing", &lt;br /&gt;      offX+rectSize, rectSize*4-10);&lt;br /&gt;saveFrame("richard remix.tiff");&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-7817738015818092309?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/7817738015818092309/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=7817738015818092309' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7817738015818092309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7817738015818092309'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2008/05/richard-paul-lohse-remix.html' title='richard paul lohse remix'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_oxc4970ZOdY/SB8x5k0d5qI/AAAAAAAAAOs/lO7mtr4_hNQ/s72-c/richard-remix.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-8668915951986851259</id><published>2008-05-01T12:22:00.007+09:00</published><updated>2008-05-01T16:08:53.046+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='code composition'/><category scheme='http://www.blogger.com/atom/ns#' term='processing(p5)'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>golden rectangle</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_oxc4970ZOdY/SBk3wk0d5pI/AAAAAAAAAOk/yyPc_bhNR1A/s1600-h/rect_root2.png"&gt;&lt;img style="display:block; margin:0px 0px 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_oxc4970ZOdY/SBk3wk0d5pI/AAAAAAAAAOk/yyPc_bhNR1A/s400/rect_root2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5195244952805566098" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.bnn.co.jp/2005/07/balance_in_design_98.html"&gt;&lt;br /&gt;Balance in Design&lt;/a&gt;読みながらprocessingで黄金長方形のコーディング。作図法を参照しながら、コードは自分で考えるというのがちょうどいい。&lt;br /&gt;&lt;br /&gt;スクリーンのサイズ、背景色、塗りなどを設定。&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;size(400, 250);&lt;br /&gt;background(255);&lt;br /&gt;smooth();&lt;br /&gt;noFill();&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;正方形を描く。&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;int square = 200;&lt;br /&gt;rect(0, 0, square, square);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;一辺の中点aから相対する角bまで斜線を引く。&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;float[] a = {square/2, square};&lt;br /&gt;float[] b = {square, 0};&lt;br /&gt;line(a[0], b[0], a[1], b[1]);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;斜線abを半径とする弧を描く。&lt;br /&gt;abの長さは三平方の定理で求められる。&lt;br /&gt;dist(a[0], a[1], b[0], b[1])でも同じだけど、数学的な考え方を確認。&lt;br /&gt;傾きはatan2(y, x)で求められる。&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;float ab = sqrt(pow(b[0] - a[0], 2) + pow(b[1] - a[1], 2));&lt;br /&gt;arc(a[0], a[1], ab*2, ab*2, atan2(b[1] - a[1], b[0] - a[0]), 0);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;正方形の伸ばした線と弧が交わる点をもつ小さな長方形。&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;rect(b[0], b[1], ab-a[0], square);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;この小さな長方形と正方形で黄金長方形。&lt;br /&gt;整理してまとめておく。&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;int square = 200;&lt;br /&gt;float[] a = {square/2, square};&lt;br /&gt;float[] b = {square, 0};&lt;br /&gt;float ab = sqrt(pow(b[0] - a[0], 2) + pow(b[1] - a[1], 2));&lt;br /&gt;&lt;br /&gt;size(400, 250);&lt;br /&gt;background(255);&lt;br /&gt;smooth();&lt;br /&gt;noFill();&lt;br /&gt;&lt;br /&gt;rect(0, 0, square, square);&lt;br /&gt;line(a[0], b[0], a[1], b[1]);&lt;br /&gt;arc(a[0], a[1], ab*2, ab*2, atan2(b[1] - a[1], b[0] - a[0]), 0);&lt;br /&gt;rect(b[0], b[1], ab-a[0], square);&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-8668915951986851259?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/8668915951986851259/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=8668915951986851259' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8668915951986851259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8668915951986851259'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2008/05/golden-rectangle.html' title='golden rectangle'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_oxc4970ZOdY/SBk3wk0d5pI/AAAAAAAAAOk/yyPc_bhNR1A/s72-c/rect_root2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-8378800731778372219</id><published>2008-04-09T21:44:00.003+09:00</published><updated>2008-04-09T22:59:48.842+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='thesis'/><category scheme='http://www.blogger.com/atom/ns#' term='diary'/><title type='text'>20080409</title><content type='html'>実家で今受けている会社の課題と論文の続きをしてます。&lt;br /&gt;&lt;br /&gt;まぁ、のんびりなもんで、地元は今が桜満開。一足先に都へ行った皆がもう次に向かって進んでる頃、花見だの何だの。&lt;br /&gt;だから流行とかも遅れるのかもしれない。&lt;br /&gt;&lt;br /&gt;朝に親を見送って犬の散歩、昼はウキウキウォッチンしながら御飯食べて、夜に親が帰ってくる頃また散歩して、残りは勉強。高3みたいなライフサイクル。&lt;br /&gt;&lt;br /&gt;今日は久しぶりに登校して、前林さんと面談。少しずついい方向に進んでる。今月で一気に仕上げたい。&lt;br /&gt;&lt;br /&gt;「今読むと混乱するから、時期が来たら教える」と言われてた参考文献。時期が来た。&lt;br /&gt;&lt;a href="http://www.amazon.co.jp/dp/4845907062"&gt;Amazon.co.jp： 芸術の設計—見る/作ることのアプリケーション: 岡崎 乾二郎: 本&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;少しコピーして、読ませてもらった。&lt;br /&gt;&lt;br /&gt;コンピュータを使って、誰でも簡単に音楽とかグラフィックが作れるようになった。僕もできるようになったけど、他の人もできるようになった。コンピュータを表現のツールとして使うことで、一般化するものと、しないものは何か。&lt;br /&gt;&lt;br /&gt;一部を引用すると、&lt;br /&gt;&lt;blockquote&gt;少なくとも、ほとんどのミュージシャンたちと同じように先ほどあなたが行った、ガレージバンドのようなDAWソフト上で、素材をフィーリングにまかせていじくり回すというやり方だけでは、先へ進めないことは確かだ。自明のものとして取り扱っていた記録システムやインターフェースなどの技術をいったん表面化させ、その組み立て方を解明し、さらにはそれらの組み替えを行うこと。すなわちプリセットの技術をカスタマイズする手段を会得しなければ、前に立ちふさがる壁を突き破ることはできないだろう。DAWは単一のソフトウェアに見えるものの、実は複数の技術が一つに束ねられることで成立しているからだ。&lt;/blockquote&gt;&lt;br /&gt;ちょうどこの内容と対応していて、僕が論文で一番言いたいことが、久保田さんの「&lt;a href="http://www.amazon.co.jp/dp/4000262750"&gt;消えゆくコンピュータ&lt;/a&gt;」に書かれている(10年前の本だよ)。&lt;br /&gt;&lt;blockquote&gt;システム工学的な、マン・マシン・インターフェイスのイメージでもなく、また、見えない情報や知識に形や色を与えていく、というプロダクト/グラフィック・デザイン的なイメージでもなく、それは「言語の経験」であり、同時に「経験の言語」をデザインすることでもある。そのために、トップダウンで決められた、定型的な構造や仕組みは必要ない。むしろ、インターネットと同じように、最小限の単純なガイドラインでつくられた、ゆるやかな場の中で、さまざまなインターフェイスが、同時多発的に生まれ、それらが相互に干渉し合いながら、並列的に変化し続けるイメージこそが、インターフェイスというランゲージのデザインの、一つのありようではないだろうか？&lt;/blockquote&gt;&lt;br /&gt;sonicodeでは画像を音に変換した訳だけど、文字を入力する機能、画像を表示する機能、画像を解析する機能、数値を元に音響を生成する機能、それらを操作するツマミやボタン、といったような要素の組み合わせから成り立っている。これらは最初から一緒だった訳ではなくて、既存のものを解体して、組み替えて、再びパッケージングしている。&lt;br /&gt;僕は、この作業が久保田さんの「インターフェイスというランゲージのデザイン」に対する一つの答えになっているんじゃないかと思っている。&lt;br /&gt;&lt;br /&gt;既にある、沢山の技術の断片をうまく組み替えて自分のツールを作ること。作品やアプリケーションでは既に多くの先行例もあるし、自分もずっとそうやってきた。初めてコンピュータを触って何かを作る、というのではなく、一通りのリテラシーを身につけた人がどういうアプローチを取り得るか、という方法論。これをどこまできちんと検証可能な言葉で説明できるようになるか、が課題。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-8378800731778372219?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/8378800731778372219/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=8378800731778372219' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8378800731778372219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8378800731778372219'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2008/04/20080409.html' title='20080409'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-159144629274211517</id><published>2008-03-20T02:00:00.007+09:00</published><updated>2008-03-21T03:05:57.642+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>jquery loading test</title><content type='html'>jqueryでファイル読み込みする時に、load()メソッドそのまま使うとローディングしながら中身が表示されてしまうので何か方法ないかと思って見つけた。&lt;br /&gt;&lt;br /&gt;早い話が、読み込ませるdivにCSSでdisplay:noneを指定しておけばいいってことだった。&lt;br /&gt;非同期通信されるとajaxSendとajaxCompleteが呼び出される。&lt;br /&gt;&lt;br /&gt;コールバック関数ってのがよくわかってなかったんだけど、イベントリスナみたいなものだと言われたらちょっとわかった。というか、こういう使い方してもいいんだろうなと。&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;$(this).fadeOut("fast", function() {&lt;br /&gt; $("#content").show();&lt;br /&gt;});&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;fadeOutした後に読み込んだファイルの中身を表示してる。dtをクリックしたらddが表示される。これやる前は普通にチェーンでつないでたんだけど、フェードアウトが終わる前に読み込みが始まってださいことになってた。&lt;br /&gt;&lt;a href="http://www.iamas.ac.jp/~poki06/jquery_loadingtest/"&gt;動作サンプル&lt;/a&gt;&lt;br /&gt;read fileをクリックするとファイル読み込み開始。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-159144629274211517?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/159144629274211517/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=159144629274211517' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/159144629274211517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/159144629274211517'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2008/03/jquery-loading-test.html' title='jquery loading test'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-4375765930023750736</id><published>2008-03-06T14:50:00.002+09:00</published><updated>2008-03-06T14:54:35.559+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sound'/><category scheme='http://www.blogger.com/atom/ns#' term='work'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>sonicode by st44100</title><content type='html'>&lt;a href="http://www.iamas.ac.jp/~poki06/st44100.wav"&gt;sound file&lt;/a&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;s o n i c o d e &lt;br /&gt;s o n i c o d e &lt;br /&gt;s o n i c o d e &lt;br /&gt;s o n i c o d e &lt;br /&gt;s o n i c o d e &lt;br /&gt;s o n i c o d e &lt;br /&gt;電子音楽&lt;br /&gt;電子　楽&lt;br /&gt;　子音　&lt;br /&gt;電子音楽&lt;br /&gt;電　音楽&lt;br /&gt;　子音　&lt;br /&gt;電子fdさfdさfdさ　楽&lt;br /&gt;　子　楽&lt;br /&gt;電子音楽&lt;br /&gt;電子音楽&lt;br /&gt;&lt;br /&gt;電子音楽&lt;br /&gt;電子音楽&lt;br /&gt;&lt;br /&gt;電子音楽&lt;br /&gt;電子音楽&lt;br /&gt;&lt;br /&gt;S&lt;br /&gt;S O&lt;br /&gt;SON&lt;br /&gt;SONI&lt;br /&gt;CODE&lt;br /&gt; ODE&lt;br /&gt;  DE&lt;br /&gt;   E&lt;br /&gt;C             /&lt;br /&gt;  O         /&lt;br /&gt;    D    /&lt;br /&gt;      E /&lt;br /&gt;C  C&lt;br /&gt;  O O&lt;br /&gt;    D D&lt;br /&gt;      E  E&lt;br /&gt;&lt;br /&gt;S &lt;br /&gt;S O/&lt;br /&gt;SON/&lt;br /&gt;SONI/&lt;br /&gt;CODE/&lt;br /&gt; ODE/&lt;br /&gt;  DE/&lt;br /&gt;   E/&lt;br /&gt;&lt;br /&gt;S O N I C O D E &lt;br /&gt;&lt;br /&gt;S O N I C O D E &lt;br /&gt;&lt;br /&gt;S O N I C O D E &lt;br /&gt;&lt;br /&gt;S O N I C O D E &lt;br /&gt;&lt;br /&gt;S O N I C O D E &lt;br /&gt;SONIC♪&lt;br /&gt;     CODE ♬&lt;br /&gt;SONIC♪♪&lt;br /&gt;     CODE ♬ ♬&lt;br /&gt;SONIC♪♪/&lt;br /&gt;     CODE ♬ ♬ / &lt;br /&gt;S O N I C O D E /&lt;br /&gt;S O N I C O D E / /&lt;br /&gt;S O N I C O D E / / /&lt;br /&gt;S O N I C O D E / / / /&lt;br /&gt;S O N I C O D E / / / / /&lt;br /&gt;S O N I C O D E / / / / / /&lt;br /&gt;S O N I C O D E / / / / / / /&lt;br /&gt;&lt;br /&gt;㍿　㍿　㍿　㍿&lt;br /&gt; ㍿　㍿　㍿　㍿&lt;br /&gt;㍿　㍿　㍿　㍿&lt;br /&gt; ㍿　㍿　㍿　㍿&lt;br /&gt;㍿　㍿　㍿　㍿&lt;br /&gt; ㍿　㍿　㍿　㍿&lt;br /&gt; ㍿　㍿　㍿　㍿&lt;br /&gt;  ㍿　㍿　㍿　㍿&lt;br /&gt;㍿　㍿　㍿　㍿&lt;br /&gt; ㍿　㍿　㍿　㍿&lt;br /&gt;  ㍿　㍿　㍿　㍿&lt;br /&gt;   ㍿　㍿　㍿　㍿&lt;br /&gt;㈱&lt;br /&gt;㈱　㌕&lt;br /&gt;㈱　㌕　㌖&lt;br /&gt;へへへへへへへへへへへへへ&lt;br /&gt;へへ　へへ　へへ　へへ&lt;br /&gt;　へ　　へ　　へ　　へ&lt;br /&gt;&lt;br /&gt;wwwwwwwwwwwww&lt;br /&gt;wwwwwwwwwwwww&lt;br /&gt;wwwwwwwwwwwww&lt;br /&gt;IAMAS&lt;br /&gt;IAMAS&lt;br /&gt;IAMAS&lt;br /&gt;IAMAS&lt;br /&gt;IAMAS&lt;br /&gt;IAMAS&lt;br /&gt;I&lt;br /&gt;I&lt;br /&gt;I&lt;br /&gt;I&lt;br /&gt;I&lt;br /&gt;A&lt;br /&gt;A&lt;br /&gt;A&lt;br /&gt;A&lt;br /&gt;M&lt;br /&gt;M&lt;br /&gt;M&lt;br /&gt;M&lt;br /&gt;A&lt;br /&gt;A&lt;br /&gt;A&lt;br /&gt;A&lt;br /&gt;M&lt;br /&gt;M&lt;br /&gt;M&lt;br /&gt;M&lt;br /&gt;A&lt;br /&gt;A&lt;br /&gt;A&lt;br /&gt;A&lt;br /&gt;M&lt;br /&gt;M&lt;br /&gt;M&lt;br /&gt;M&lt;br /&gt; S&lt;br /&gt; S&lt;br /&gt; S&lt;br /&gt; S&lt;br /&gt; S&lt;br /&gt;２&lt;br /&gt;２&lt;br /&gt;２&lt;br /&gt;０&lt;br /&gt;０&lt;br /&gt;０&lt;br /&gt;０&lt;br /&gt;０&lt;br /&gt;０&lt;br /&gt;８&lt;br /&gt;８&lt;br /&gt;８&lt;br /&gt;２００８&lt;br /&gt;　　　８&lt;br /&gt;　　０８&lt;br /&gt;　００８&lt;br /&gt;２００８&lt;br /&gt;　　　８&lt;br /&gt;　　０８&lt;br /&gt;　００８&lt;br /&gt;２００８&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-4375765930023750736?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/4375765930023750736/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=4375765930023750736' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/4375765930023750736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/4375765930023750736'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2008/03/sonicode-by-st44100.html' title='sonicode by st44100'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-7478394402413169684</id><published>2008-03-04T12:24:00.004+09:00</published><updated>2008-03-04T12:48:51.841+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>wodcast</title><content type='html'>&lt;a href="http://www.wodcast.org/"&gt;wodcast.org&lt;/a&gt;&lt;br /&gt;Adrian ShaughnessyとかPeter Savilleとか有名なデザイナーのインタビュー集。&lt;br /&gt;このままではpodcastに登録できないので、&lt;a href="http://pipes.yahoo.com/pipes/pipe.info?_id=HCgD5pbp3BGhaZYI8jxBKg"&gt;yahoo pipes&lt;/a&gt;使ってmp3のとこだけ抜き出した。&lt;br /&gt;&lt;a href="http://pipes.yahoo.com/pipes/pipe.run?_id=HCgD5pbp3BGhaZYI8jxBKg&amp;_render=rss"&gt;http://pipes.yahoo.com/pipes/pipe.run?_id=HCgD5pbp3BGhaZYI8jxBKg&amp;_render=rss&lt;/a&gt;&lt;br /&gt;リンク先をクリックして購読に使用するフィードリーダーをitunesにするか、itunesから「詳細...」&gt;「Podcastを登録...」にこのURLを入力すればいけるはず。pipes実行しただけだとuntitledにしかならないけど、itunesではちゃんとタイトルなど表示されるのでこれでいいや。&lt;br /&gt;&lt;br /&gt;環境が変わることもあって、携帯音楽プレーヤーで常に英語を聴いてるようにしたい。けどいわゆる語学学習用のって話が面白くなかったりするので、できるだけ興味を持って聴けるやつがいい。&lt;br /&gt;&lt;br /&gt;wnycのradio labは編集とかも凝ってて、内容だけでなく音声ならではの試みが面白い。&lt;br /&gt;&lt;a href="http://www.wnyc.org/shows/radiolab/"&gt;WNYC - Radiolab&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-7478394402413169684?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/7478394402413169684/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=7478394402413169684' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7478394402413169684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7478394402413169684'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2008/03/wodcast.html' title='wodcast'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-6811167702293872055</id><published>2008-02-11T04:54:00.000+09:00</published><updated>2008-02-11T14:16:56.149+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='code composition'/><category scheme='http://www.blogger.com/atom/ns#' term='processing(p5)'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>glitch (alike) for vjs 2</title><content type='html'>画像と合わせるのは簡単。&lt;br /&gt;&lt;br /&gt;PImage型の変数を宣言(imgは合わせる画像、capはノイズをキャプチャした画像のために使う)&lt;br /&gt;&lt;br /&gt;PImage img, cap;&lt;br /&gt;&lt;br /&gt;して、setup()の中で画像を読み込む。background()にPImageのインスタンスを入れる場合は画像とウィンドウのサイズを合わせなければならないことに注意。&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;void setup() {&lt;br /&gt;  size(200, 200);&lt;br /&gt;  img = loadImage("mkk.jpg");&lt;br /&gt;  noiser = new Noiser(colNumber, rowNumber);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;draw()はこんな感じ。&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;void draw() {&lt;br /&gt;  noiser.drawNoise();&lt;br /&gt;  cap = get();&lt;br /&gt;  background(img);&lt;br /&gt;  blend(cap, 0, 0, width, height, 0, 0, width, height, ADD);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;noiser.drawNoise()でノイズを作った後、capに代入。&lt;br /&gt;背景をimgで塗りつぶして、blend()使ってcapと合成。&lt;br /&gt;&lt;br /&gt;blend()のシンタックス&lt;br /&gt;blend(srcImg, x, y, width, height, dx, dy, dwidth, dheight, MODE)&lt;br /&gt;x, y, width, heightは読み込む画像のx座標、y座標、幅、高さ&lt;br /&gt;dx, dy, dwidth, dheightは書き出し先のx座標、y座標、幅、高さ&lt;br /&gt;MODEはADDの他にも色々あるけどビットシフトはない。イラストレーターとかフォトショップのエフェクトと同じようなもの。試してみると面白い。&lt;br /&gt;&lt;br /&gt;ということで、今後この辺は使いそうな気がする。&lt;br /&gt;勿論pixels使って1ピクセル単位で操作することもできるし、ビットシフトはblend()じゃできないからいずれ使うことになるけど、とりあえず簡単な方法から。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-6811167702293872055?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/6811167702293872055/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=6811167702293872055' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/6811167702293872055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/6811167702293872055'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2008/02/glitch-alike-for-vjs-2.html' title='glitch (alike) for vjs 2'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-4556651213655309315</id><published>2008-02-08T05:55:00.000+09:00</published><updated>2008-02-11T13:38:56.141+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='code composition'/><category scheme='http://www.blogger.com/atom/ns#' term='processing(p5)'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>glitch (alike) for vjs</title><content type='html'>&lt;a href="http://abstrakt.vade.info/?p=48"&gt;vade » Blog Archive » Real World Max/MSP/Jitter 1 - Glitch (alike) for VJs&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;glitchっぽい映像を、jitterで作るチュートリアル。&lt;br /&gt;glitchの特徴はfragmentation, repetition, linearity and complexityだそう。&lt;br /&gt;随分前にブックマークしておいたんだけど、今になってprocessingでやってみようと思った。&lt;br /&gt;&lt;br /&gt;まずイメージと、ブロックノイズを組み合わせてるんだけど、ブロックノイズの作り方。&lt;br /&gt;2通り思いつく。&lt;br /&gt;&lt;br /&gt;普通にrect()で作る。&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Noiser noiser;&lt;br /&gt;int colNumber = 5;&lt;br /&gt;int rowNumber = 5;&lt;br /&gt;&lt;br /&gt;void setup() {&lt;br /&gt;  size(200, 200);&lt;br /&gt;  noiser = new Noiser(colNumber, rowNumber);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void draw() {&lt;br /&gt;  noiser.drawNoise();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;class Noiser {&lt;br /&gt;  int col;&lt;br /&gt;  int row;&lt;br /&gt;  public Noiser(int col, int row) {&lt;br /&gt;    this.col = col;&lt;br /&gt;    this.row = row;&lt;br /&gt;  }&lt;br /&gt;  void drawNoise() {&lt;br /&gt;    for(int j=0; j&amp;lt;height; j+=height/row) {&lt;br /&gt;      for(int i=0;i&amp;lt;width;i+=width/col) {&lt;br /&gt;        noStroke();&lt;br /&gt;        fill(random(255),random(255),random(255));&lt;br /&gt;        rect(i, j, width/col, height/row);&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;pixels使う。widthをcolで割った数が整数にならなかったりした時とかに今後の展開感じる。&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Noiser noiser;&lt;br /&gt;color[][] colorTable;&lt;br /&gt;int colIndex = 0;&lt;br /&gt;int rowIndex = 0;&lt;br /&gt;int colNumber = 5;&lt;br /&gt;int rowNumber = 5;&lt;br /&gt;&lt;br /&gt;void setup() {&lt;br /&gt;  size(200, 200);&lt;br /&gt;  noiser = new Noiser(colNumber, rowNumber);&lt;br /&gt;  colorTable = new color[colNumber][rowNumber];&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void draw() {&lt;br /&gt;  noiser.drawNoise();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;class Noiser {&lt;br /&gt;  int col;&lt;br /&gt;  int row;&lt;br /&gt;  public Noiser(int col, int row) {&lt;br /&gt;    this.col = col;&lt;br /&gt;    this.row = row;&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  void drawNoise() {&lt;br /&gt;    for(int j=0; j&amp;lt;height; j+=height/row) {&lt;br /&gt;      for(int i=0; i&amp;lt;width; i+=width/col) {&lt;br /&gt;        if(colIndex&gt;=col) {&lt;br /&gt;          colIndex = 0;&lt;br /&gt;        }&lt;br /&gt;        if(rowIndex&gt;=row) {&lt;br /&gt;          rowIndex = 0;&lt;br /&gt;        }&lt;br /&gt;        colorTable[colIndex][rowIndex] = color(random(255), random(255), random(255));&lt;br /&gt;        colIndex++;&lt;br /&gt;      }&lt;br /&gt;      rowIndex++;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    loadPixels();&lt;br /&gt;    for(int j=0; j&amp;lt;height; j++) {&lt;br /&gt;      for(int i=0; i&lt;width; i++) {&lt;br /&gt;        int pos = i+j*width;&lt;br /&gt;        if(pos%(width/col)==0) {&lt;br /&gt;          colIndex++;&lt;br /&gt;        }&lt;br /&gt;        if(pos%(width*height/row)==0){&lt;br /&gt;          rowIndex++;&lt;br /&gt;        }&lt;br /&gt;        if(colIndex&gt;=col) {&lt;br /&gt;          colIndex = 0;&lt;br /&gt;        }&lt;br /&gt;        if(rowIndex&gt;=row) {&lt;br /&gt;          rowIndex = 0;&lt;br /&gt;        }&lt;br /&gt;        pixels[pos] = colorTable[colIndex][rowIndex];&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;    updatePixels();&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;次回、画像と合わせる。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-4556651213655309315?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/4556651213655309315/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=4556651213655309315' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/4556651213655309315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/4556651213655309315'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2008/02/glitch-alike-for-vjs.html' title='glitch (alike) for vjs'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-3420330078332376659</id><published>2008-02-01T22:36:00.000+09:00</published><updated>2008-02-01T23:40:50.568+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='processing(p5)'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><title type='text'>MAX_FLOAT, MIN_FLOAT</title><content type='html'>visualizing data読み始めて、知った。&lt;br /&gt;最小値とか最大値を比べて取得する場合、初期値を代入する時に&lt;br /&gt;&lt;br /&gt;float dataMax = MIN_FLOAT;&lt;br /&gt;float dataMin = MAX_FLOAT;&lt;br /&gt;&lt;br /&gt;としておく。&lt;br /&gt;読んで字のごとくMIN_FLOATはfloatで一番小さい値で、MAX_FLOATはfloatで一番大きい値。&lt;br /&gt;どんな数値もこれより小さくて大きい。&lt;br /&gt;&lt;br /&gt;sonicodeでは文字をビットマップにして黒いところに順番に番号つけて、縦のセルで大きさを比べて最大値と最小値を出してるんだけど、最大値を入れるための変数の初期値を0にしてた。これだと負の値がきたときに動かない。&lt;br /&gt;設計上負の値がくることはないからいいや、と思ってたけど、気持ち悪かったんだよね。&lt;br /&gt;MIN_INT, MAX_INTもある。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://processing.org/download/revisions.txt"&gt;0126から追加されたみたい。&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-3420330078332376659?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/3420330078332376659/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=3420330078332376659' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/3420330078332376659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/3420330078332376659'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2008/02/maxfloat-minfloat.html' title='MAX_FLOAT, MIN_FLOAT'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-61117662896954637</id><published>2008-01-04T00:17:00.000+09:00</published><updated>2008-01-04T00:59:04.530+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='processing(p5)'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>recursion</title><content type='html'>&lt;a href="http://hobagoogle.blogspot.com/"&gt;it's hoba&lt;/a&gt;&lt;br /&gt;シンプルなコードで、視覚的に強い。&lt;br /&gt;&lt;br /&gt;血が滴るみたいなやつ。&lt;br /&gt;&lt;a href="http://hobagoogle.blogspot.com/2007/12/processing-13.html"&gt;it's hoba: Processing 13&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;再帰を使って書き直してみた。&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;//based on hoba's code(http://hobagoogle.blogspot.com/2007/12/processing-13.html)&lt;br /&gt;//rewrite by using recursion&lt;br /&gt;void setup() {&lt;br /&gt;  size(800, 450);&lt;br /&gt;  background(152);&lt;br /&gt;  noStroke();&lt;br /&gt;  smooth();&lt;br /&gt;  colorMode(HSB);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;float e, r, var, posx, posy, a, dex, lengh, bri;&lt;br /&gt;int cnt;&lt;br /&gt;&lt;br /&gt;void draw() {&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void mousePressed() {&lt;br /&gt;  e = HALF_PI/180*30;&lt;br /&gt;  a = 1-sin(e);&lt;br /&gt;  r = random(30, 150);&lt;br /&gt;  var = random(0.6, 0.9);&lt;br /&gt;  dex = random(-0.15, 0.15);&lt;br /&gt;  lengh = random(0.8, 1.2);&lt;br /&gt;  bri = random(0, 1);&lt;br /&gt;  posx = mouseX;&lt;br /&gt;  posy = mouseY;&lt;br /&gt;  cnt = int(random(30, 200));&lt;br /&gt;  fill(2, 247, 80+50*bri);&lt;br /&gt;  ellipse(posx, posy+r*HALF_PI/180*var, r/20+r, r/20+r);&lt;br /&gt;  blood(posx, posy, r, var, dex, lengh, bri, cnt);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void blood(float posxU, float posyU, float rU, float varU, &lt;br /&gt;           float dexU, float lenghU, float briU, int cnt) {&lt;br /&gt;  fill(2, 247, 80+50*briU, 100-100*a);&lt;br /&gt;  ellipse(posxU+dexU*rU, posyU+rU*e*varU, rU/20+rU*a*a, rU/20+rU*a*a);&lt;br /&gt;  e += HALF_PI/180;&lt;br /&gt;  a = 1-sin(e);&lt;br /&gt;  if(cnt&amp;gt;0 &amp;&amp; e&amp;lt;=HALF_PI*lenghU) {&lt;br /&gt;    blood(posx, posy, r, var, dex, lengh, bri, cnt-1);&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void keyPressed() {&lt;br /&gt;  if (key == 'r' || key == 'R') {&lt;br /&gt;    background(152);&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-61117662896954637?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/61117662896954637/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=61117662896954637' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/61117662896954637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/61117662896954637'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2008/01/recursion.html' title='recursion'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-275893246901169844</id><published>2007-12-28T23:18:00.000+09:00</published><updated>2007-12-31T13:45:38.964+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='work'/><category scheme='http://www.blogger.com/atom/ns#' term='diary'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>20071228</title><content type='html'>卒展のwebがローンチしました。第一弾。今後トピックとか作品情報とか充実していきます。わざわざwordpressで作ったので利点を最大限活かしたいところ。&lt;br /&gt;&lt;a href="http://exhibit.iamas.ac.jp/"&gt;IAMAS 2008 » 情報科学芸術大学院大学第6期生修了研究発表会岐阜県立国際情報科学芸術アカデミー第11期生卒業制作展&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;情けないことにブラウザごとで変わる見た目に2日ほど泣かされてました。ブラウザのせいっていうか、自分のコードが間違ってたんだけど。毎回本番に一番勉強してしまうのは何とかしたい。春から社会人なのに...。firebugとか、自作のbookmarkletが意外と役立った。デバッグ重要。ガチのプロがガイド作ってくれてたのでスムーズにコーディングできた。&lt;br /&gt;&lt;br /&gt;次は印刷物。これもひとひねり効かせてるので、大変だけど、いいものになると思う。&lt;br /&gt;&lt;br /&gt;バイト先のwebのこともあって、jquery調べてたんだけど、面白い。というか、javascriptもっと使わなきゃと思う。locationオブジェクトとか駆使すれば、かなりクライアント側でも頑張れる。&lt;br /&gt;&lt;br /&gt;で、ユーザビリティ(アクセシビリティ?)とかweb標準的にはどうかわかんないけど、自分のページで色々試してみた。&lt;br /&gt;&lt;a href="http://www.iamas.ac.jp/~ugyaa-03/ysk/"&gt;hysysk&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;linkのとこで、liタグの中にリンクがある場合、css側でcursor:pointer;になるようなclassを用意しておいて、クリックしたらaタグ内のリンク先を解析して飛ぶようにしてある。クリッカブルな領域が広くとれるので使いやすいのでは、と思う。かなり視覚的な作り。workでの画像の見せ方も、dtタグにタイトルと拡張子入れといて、クリックしたらcss書き換えて背景画像にしてる。まぁ、見にくいのはわかってるけど、楽しんでやってる。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-275893246901169844?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/275893246901169844/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=275893246901169844' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/275893246901169844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/275893246901169844'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/12/20071228.html' title='20071228'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-7343608990416801142</id><published>2007-12-20T05:30:00.000+09:00</published><updated>2007-12-20T06:58:23.536+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='processing(p5)'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='sketch'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='nodebox'/><title type='text'>Reading newsfeeds</title><content type='html'>&lt;a href="http://gainer.cc/"&gt;Gainer&lt;/a&gt;でおなじみアカデミーDSPの小林さんがnodeboxワークショップやってる。&lt;br /&gt;&lt;a href="http://dsp.iamas.ac.jp/?author=14"&gt;DSP&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;天気情報のrssを取得して表示。webライブラリを使う。&lt;br /&gt;&lt;a href="http://nodebox.net/code/index.php/Web"&gt;NodeBox | Web&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;text()メソッドに渡す際にstr()メソッドを使うんだけど、utf-8にdecodeしないとエラーになる。デフォルトのエンコーディングがutf-8になってないから？&lt;br /&gt;&lt;a href="http://www.python.jp/doc/nightly/tut/node5.html"&gt;3. 形式ばらない Python の紹介&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;文字コードは常に悩みの種。いつも何となく解決してるので、ちゃんと理解せねばと思う。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;web = ximport("web")&lt;br /&gt;fontsize(10)&lt;br /&gt;news = web.newsfeed.parse("http://weather.livedoor.com/forecast/rss/21/40.xml") &lt;br /&gt;y=0&lt;br /&gt;xoff=10&lt;br /&gt;yoff=10&lt;br /&gt;for i in news.items:&lt;br /&gt;    s = str(i.description).decode('utf-8')&lt;br /&gt;    text(s, xoff, y*30+yoff)&lt;br /&gt;    y+=1&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;同じことをprocessngでやるとこうかな。もっと泥臭い感じ。&lt;br /&gt;関係ないけど文字表示する場合PFont.list()で一覧とって配列の一番最初のを指定してあげればいちいちメニューからCreate Font...しなくて済む。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;import processing.xml.*;&lt;br /&gt;XMLElement xml;&lt;br /&gt;XMLElement[] siteData;&lt;br /&gt;xml = new XMLElement(this, "http://weather.livedoor.com/forecast/rss/21/40.xml");&lt;br /&gt;XMLElement site = xml.getChild(0);&lt;br /&gt;siteData = site.getChildren();&lt;br /&gt;PFont font;&lt;br /&gt;String[] fontlist = PFont.list();&lt;br /&gt;font = createFont(fontlist[0], 10);&lt;br /&gt;textFont(font);&lt;br /&gt;size(400, 400);&lt;br /&gt;int y = 0;&lt;br /&gt;for(int i=0;i&amp;lt;siteData.length;i++) {&lt;br /&gt;  if(siteData[i].getName().equals("item")) {&lt;br /&gt;    XMLElement[] items = siteData[i].getChildren();&lt;br /&gt;    for(int j=0;j&amp;lt;items.length;j++) {&lt;br /&gt;      if(items[j].getName().equals("description")) {&lt;br /&gt;        text(items[j].getContent(), 10, y*30);&lt;br /&gt;        println(items[j].getContent());&lt;br /&gt;        y++;&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-7343608990416801142?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/7343608990416801142/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=7343608990416801142' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7343608990416801142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7343608990416801142'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/12/reading-newsfeeds.html' title='Reading newsfeeds'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-1917120161678295893</id><published>2007-12-15T03:02:00.001+09:00</published><updated>2007-12-16T02:38:44.226+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='idea'/><category scheme='http://www.blogger.com/atom/ns#' term='diary'/><title type='text'>20071215</title><content type='html'>14日&lt;br /&gt;プレゼン終了。2日目は他の人のも見て回れてよかった。&lt;br /&gt;皆ちゃんとできてるし、今日的な問題意識持ってやってる。&lt;br /&gt;&lt;br /&gt;昼ご飯食べてる時にカメラの機能の話になって、笑顔検出だとか、eye-fiだとか。&lt;br /&gt;笑顔検出機能使って写真撮ったらすごくきもいのができそうで、やってみたい。しっかり照明当てて、高解像度で。やってる人いそうだけど。&lt;br /&gt;&lt;a href="http://journal.mycom.co.jp/articles/2005/10/28/canon1/index.html"&gt;【レポート】SEDテレビで見る写真、笑顔を逃さないカメラ - キヤノンの新技術 | 家電 | マイコミジャーナル&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;カメラって変な機能がついては結構消えてる印象があるんだけど、あんましそういうこと言ってる人いないんじゃないかな。「つかわねー」っていうエフェクトとか、録音機能とか。ポジティブに使ってみたい訳なんだけど。&lt;br /&gt;&lt;br /&gt;15日&lt;br /&gt;テクノロジーとは何か、みたいな話で、以前聞いて面白かったのは、川に橋をかけるのはテクノロジーではないが、ダムを造るのはテクノロジーである、という話。ダムは「川」を「水源」に変えてしまう、という点でテクノロジーだそう。正しい正しくないはおいといて、ひとつの世界の切り取り方。&lt;br /&gt;&lt;br /&gt;こういうアクロバットには惹かれるものがあって、藤幡さんはデジカメについてる液晶ディスプレイによって、カメラがポインティングデバイスとして機能してる点をあげてた。最近論文執筆態勢を整えるにあたって寝袋をリサーチしてるのだけど、-20度まで耐えられるやつが1万3000円以下とか、足が分かれてて動けるやつとかあって、そういうの考えれば、建築とか家のあり方も変わって良さそう。&lt;br /&gt;&lt;br /&gt;多分だけど自分が求めてるものってのはそういうものの本質を変えてしまうような何かで、単なる概念じゃなくて実際に動くもの。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.bnn.co.jp/books/title_index/design/logo_a_lot.html"&gt;LOGO A LOT&lt;/a&gt;&lt;br /&gt;注文した。collect.apply載ってる。opnsdoのロゴも載ってるらしいので嬉しい。クリスマスギフトにどうぞ。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-1917120161678295893?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/1917120161678295893/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=1917120161678295893' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/1917120161678295893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/1917120161678295893'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/12/20071215.html' title='20071215'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-7119810425979452894</id><published>2007-12-13T01:10:00.000+09:00</published><updated>2007-12-13T01:18:06.090+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='thesis'/><category scheme='http://www.blogger.com/atom/ns#' term='diary'/><category scheme='http://www.blogger.com/atom/ns#' term='snap'/><title type='text'>sonicode1212</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_oxc4970ZOdY/R2AIhdX2u3I/AAAAAAAAAOU/bfyuNC7U5LI/s1600-h/fin.gif"&gt;&lt;img style="display:block; margin:0px 0px 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_oxc4970ZOdY/R2AIhdX2u3I/AAAAAAAAAOU/bfyuNC7U5LI/s400/fin.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5143120145370495858" /&gt;&lt;/a&gt;&lt;br /&gt;プレゼンは14日。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-7119810425979452894?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/7119810425979452894/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=7119810425979452894' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7119810425979452894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7119810425979452894'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/12/sonicode1212.html' title='sonicode1212'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_oxc4970ZOdY/R2AIhdX2u3I/AAAAAAAAAOU/bfyuNC7U5LI/s72-c/fin.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-1175438519340591548</id><published>2007-11-22T14:36:00.000+09:00</published><updated>2007-11-22T15:15:59.558+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='supercollider3'/><category scheme='http://www.blogger.com/atom/ns#' term='sound'/><category scheme='http://www.blogger.com/atom/ns#' term='note'/><title type='text'>AudioIn with MacBook built-in-microphone</title><content type='html'>MacBook Proに移行して、SuperCollider3も3.1にして、&lt;a href="http://www.erase.net/projects/p5_sc/"&gt;processingと連携させて遊んだり&lt;/a&gt;したんだけど、&lt;br /&gt;ある時マイクを使おうとしたら入力ができなかった。&lt;br /&gt;解決法をwebで発見したので記録しておく。&lt;br /&gt;&lt;br /&gt;アプリケーション&gt;ユーティリティ&gt;Audio MIDI設定を起動して、メニューから機器セットエディタを開く&lt;br /&gt;+ボタンで機器セット追加。名前をsupercolliderとでもつけておく&lt;br /&gt;内蔵マイク、内蔵出力にチェックして、完了&lt;br /&gt;デフォルトの入力と出力をsupercolliderにしておく&lt;br /&gt;&lt;br /&gt;で、SC3起動(既に起動してる場合は再起動)。&lt;br /&gt;Serverをbootするとこんなメッセージが出るはず。&lt;br /&gt;&lt;blockquote&gt;Number of Devices: 4&lt;br /&gt;   0 : "Built-in Microphone"&lt;br /&gt;   1 : "Built-in Input"&lt;br /&gt;   2 : "Built-in notification is on&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;"supercollider" Input Device&lt;br /&gt;   Streams: 1&lt;br /&gt;      0  channels 2&lt;br /&gt;&lt;br /&gt;"supercollider" Output Device&lt;br /&gt;   Streams: 1&lt;br /&gt;      0  channels 2&lt;/blockquote&gt;&lt;br /&gt;新規ファイルを開いて、&lt;br /&gt;&lt;br /&gt;{Out.ar(0,AudioIn.ar(1))}.play;&lt;br /&gt;&lt;br /&gt;で無事左チャンネルから音が聞こえて録音もできましたとさ。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-1175438519340591548?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/1175438519340591548/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=1175438519340591548' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/1175438519340591548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/1175438519340591548'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/11/audioin-with-macbook-built-in.html' title='AudioIn with MacBook built-in-microphone'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-668509274048165680</id><published>2007-11-19T08:05:00.001+09:00</published><updated>2011-08-19T03:57:45.472+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='processing(p5)'/><category scheme='http://www.blogger.com/atom/ns#' term='note'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='sketch'/><title type='text'>today's glitch 3</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_oxc4970ZOdY/R0DJfdeFaOI/AAAAAAAAANs/P0VhMU3FxMA/s1600-h/tg3.jpg"&gt;&lt;img style="display:block; margin:0px 0px 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_oxc4970ZOdY/R0DJfdeFaOI/AAAAAAAAANs/P0VhMU3FxMA/s400/tg3.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5134325117526304994" /&gt;&lt;/a&gt;&lt;br /&gt;この間、youpyさんに教えてもらったOSXで超簡単にglitchする方法で、&lt;br /&gt;&lt;br /&gt;cat ファイル名 | sed 's/9/1/g' &gt; ファイル名&lt;br /&gt;&lt;br /&gt;てのがある。&lt;br /&gt;sedコマンドで&lt;br /&gt;&lt;br /&gt;s/検索文字列/置換文字列/g&lt;br /&gt;&lt;br /&gt;って感じで数値を置換してる。数値を変えると結果も変わる。ファイルはmp3とかもいける。&lt;br /&gt;&lt;br /&gt;同じようにprocessingでも単純にバイナリ形式で開いて、if文で置換。&lt;br /&gt;数値は色々試さないとできたファイルがうまく開けなかったりする。finderのプレビューで見るのと、アプリケーションのプレビューで見るのと、photoshopで見るので結果が違ってたりする。&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;byte[] b = loadBytes("hysysk.jpg");&lt;br /&gt;for(int i=0;i&amp;lt;b.length;i++) {&lt;br /&gt;  //println(b[i]);&lt;br /&gt;  if(b[i]==18) {&lt;br /&gt;    b[i]=1;&lt;br /&gt;  } else {&lt;br /&gt;    b[i]=b[i];&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;saveBytes("glitch.jpg", b);&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-668509274048165680?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/668509274048165680/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=668509274048165680' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/668509274048165680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/668509274048165680'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/11/todays-glitch-3.html' title='today&apos;s glitch 3'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_oxc4970ZOdY/R0DJfdeFaOI/AAAAAAAAANs/P0VhMU3FxMA/s72-c/tg3.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-5831412875632764213</id><published>2007-11-17T22:12:00.000+09:00</published><updated>2007-11-17T22:47:03.735+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jython'/><category scheme='http://www.blogger.com/atom/ns#' term='processing(p5)'/><category scheme='http://www.blogger.com/atom/ns#' term='note'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>jython + p5#2</title><content type='html'>後半。本当にやりたかったのはここから。&lt;br /&gt;irbでやってるみたいに、インタラクティブにコードを書き換える。&lt;br /&gt;&lt;a href="http://d.hatena.ne.jp/dewdrop/20070513/p5r"&gt;Processing by Ruby #2 - Quietstar&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;コードはrubyとほとんど同じ。下のコードをSketchTest2.pyとか名前付けて、保存。&lt;br /&gt;jythonを起動して、&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt; from SketchTest2 import *&lt;br /&gt;&lt;br /&gt;これでjrubyのloadと同じなのかな。&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt; applet = Sketch()&lt;br /&gt;&lt;br /&gt;で、Sketchクラスのインスタンスを作る。&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt; run(applet)&lt;br /&gt;&lt;br /&gt;とするとアプレットが動きます。ランダムな位置に四角が描かれては消される。&lt;br /&gt;jrubyでの例と同じように&lt;br /&gt;&lt;br /&gt;applet.stop()&lt;br /&gt;&lt;br /&gt;とかすれば止まるし、&lt;br /&gt;&lt;br /&gt;applet.strokeWeight(5)&lt;br /&gt;&lt;br /&gt;とかすれば線が太くなる。これは楽しい。&lt;br /&gt;GUIもCUIもPhysical Computingも全部組み込みたいものだ。&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;from javax.swing import JFrame&lt;br /&gt;from processing.core import PApplet&lt;br /&gt;&lt;br /&gt;class Sketch(PApplet):&lt;br /&gt; def __init__(self):&lt;br /&gt;  pass&lt;br /&gt; def setup(self):&lt;br /&gt;  self.size(200, 200)&lt;br /&gt;  self.rect(0, 0, 100, 100)&lt;br /&gt; def getField(self, name):&lt;br /&gt;  return self.class.superclass.getDeclaredField(name).get(self)&lt;br /&gt; def draw(self):&lt;br /&gt;  self.background(255);&lt;br /&gt;  self.rect(self.random(self.width), self.random(self.height), 10, 10)&lt;br /&gt;&lt;br /&gt;def run(applet):&lt;br /&gt; frame = JFrame(title="Processing",&lt;br /&gt;  resizable = 0,&lt;br /&gt;  defaultCloseOperation=JFrame.EXIT_ON_CLOSE)&lt;br /&gt; frame.contentPane.add(applet)&lt;br /&gt; applet.init()&lt;br /&gt; frame.pack()&lt;br /&gt; frame.visible = 1&lt;br /&gt;&lt;br /&gt;if __name__ == '__main__':&lt;br /&gt; run(Sketch())&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-5831412875632764213?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/5831412875632764213/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=5831412875632764213' title='1 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/5831412875632764213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/5831412875632764213'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/11/jython-p52.html' title='jython + p5#2'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-4000980654916201668</id><published>2007-11-17T21:02:00.000+09:00</published><updated>2007-11-17T22:46:38.985+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jython'/><category scheme='http://www.blogger.com/atom/ns#' term='processing(p5)'/><category scheme='http://www.blogger.com/atom/ns#' term='note'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>jython + p5#1</title><content type='html'>jrbでprocessingっていうこの記事読んで同じことがjythonでもできないかと思った。&lt;br /&gt;&lt;a href="http://d.hatena.ne.jp/dewdrop/20070506/p5r"&gt;Processing by Ruby - Quietstar&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;jythonのインストール&lt;br /&gt;&lt;a href="http://www.jython.org/Project/installation.html"&gt;Installation&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ここからリンク先をクリックしてjarファイルをダウンロード&lt;br /&gt;&lt;a href="http://www.jython.org/Project/download.html"&gt;Downloads&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;jarファイルをダブルクリックするか、terminalで&lt;br /&gt;&lt;br /&gt;java -jar jython_installer-2.2.1.jar&lt;br /&gt;&lt;br /&gt;と打ち込む。&lt;br /&gt;GUIが出てきて色々聞いてくるので、色々答える。Installation typeはStanderdにした。&lt;br /&gt;あとはひたすら光ってるとこをクリックしてくと、jython2.2.1というフォルダが作られる。&lt;br /&gt;&lt;br /&gt;PATHを通す(コマンドサーチパスに加える、というのか)。terminalで&lt;br /&gt;&lt;br /&gt;open .bash_profile&lt;br /&gt;&lt;br /&gt;して、bash profileを開く。jython2.2.1フォルダ内にjython実行ファイルがあって、ホーム(hysysk)のすぐ下に置いたので、&lt;br /&gt;&lt;br /&gt;export PATH="/Users/hysysk/jython2.2.1:${PATH}"&lt;br /&gt;&lt;br /&gt;とすればよい。他に色々ある場合は:でつないでいく。${PATH}は忘れずに。&lt;br /&gt;これでterminalから&lt;br /&gt;&lt;br /&gt;jython&lt;br /&gt;&lt;br /&gt;と打ち込むだけで起動するようになる。&lt;br /&gt;&lt;br /&gt;Processingの方。&lt;br /&gt;.bash_profileにprocessingのCLASSPATHを書いておくと実行する時に楽。&lt;br /&gt;ここを参考に。&lt;br /&gt;&lt;a href="http://blog.tkmr.org/tatsuya/show/327-jruby-irb-proce55ing"&gt;JRuby上のirbでインタラクティブにProce55ingを動かす:TKMR.blog.show&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;export P5_HOME=/Applications/Processing¥ 0133&lt;br /&gt;export CLASSPATH=$CLASSPATH:$P5_HOME/lib/core.jar&lt;br /&gt;&lt;br /&gt;こんな感じで。exportってのは変数の宣言みたいなものか。&lt;br /&gt;Processing 0133じゃなくてProcessing¥ 0133。\か¥を入れる。フォルダ名変えればいいのか？試さない。&lt;br /&gt;&lt;br /&gt;jythonでの書き方はここを参考に(via koyachiさん。いつもありがとうございます！)。&lt;br /&gt;&lt;a href="http://backspaces.net/hacks/30/processing-with-jython"&gt;Backspaces: Processing: .. with Jython&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ただ四角を描くだけのコード。SketchTest.pyとか名前付けて保存して、&lt;br /&gt;&lt;br /&gt;jyhton SketchTest.py&lt;br /&gt;&lt;br /&gt;で実行される、はず。上のサイトの人もあんましいいコードじゃないけどとりあえず動くからいいよね的なこと言ってるけど、僕もそんな感じです(僕の場合、どこがどう悪いかもわからない)。ご了承下さい。&lt;a href="http://hysysk.blogspot.com/2007/11/jython-p52.html"&gt;後半へ続く&lt;/a&gt;。&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;from javax.swing import JFrame&lt;br /&gt;from processing.core import PApplet&lt;br /&gt;&lt;br /&gt;class Sketch(PApplet):&lt;br /&gt; def __init__(self):&lt;br /&gt;  pass&lt;br /&gt; def setup(self):&lt;br /&gt;  self.size(200, 200)&lt;br /&gt;  self.rect(0, 0, 100, 100)&lt;br /&gt; def getField(self, name):&lt;br /&gt;  return self.class.superclass.getDeclaredField(name).get(self)&lt;br /&gt;&lt;br /&gt;if __name__ == '__main__':&lt;br /&gt; frame = JFrame(title="Processing",&lt;br /&gt;  resizable = 0,&lt;br /&gt;  defaultCloseOperation=JFrame.EXIT_ON_CLOSE)&lt;br /&gt; panel = Sketch()&lt;br /&gt; frame.add(panel)&lt;br /&gt; panel.init()&lt;br /&gt; while panel.defaultSize and not panel.finished:&lt;br /&gt;  pass&lt;br /&gt; frame.pack()&lt;br /&gt; frame.visible = 1&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-4000980654916201668?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/4000980654916201668/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=4000980654916201668' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/4000980654916201668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/4000980654916201668'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/11/jython-p51.html' title='jython + p5#1'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-2574047323781017336</id><published>2007-11-16T02:42:00.000+09:00</published><updated>2007-11-16T03:40:08.774+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='idea'/><category scheme='http://www.blogger.com/atom/ns#' term='processing(p5)'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='thesis'/><title type='text'>dial</title><content type='html'>本審査まであと1ヶ月を切った。泣いても笑ってもと言う感じ。数年前に比べれば情報も増えたし、環境も良くなってる分、求められるレベルは上がっている。&lt;br /&gt;&lt;br /&gt;音楽機材のインターフェースと、テキストエディタのインターフェースを組み合わせたものを作るのに、ダイアル必要でしょ、ということでDialクラス自作。controlP5あるけど、基本的にSpringGUI使ってるので最終的な見た目を調整する際にもう少しフレキシブルにする必要があると思ったので。casey&amp;benのp5本を参考に。基本的にはスクロールバーと同じ。まだまだ最適化できると思うけど、とりあえず。&lt;br /&gt;ダイアルの中心部から離れれば離れるほど分解能が下がるのは、仕様ってことで。。。&lt;br /&gt;&lt;a href="http://www.iamas.ac.jp/~poki06/dialtest/"&gt;dial : Built with Processing&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;使い方は、&lt;br /&gt;Dial d = new Dial(x位置, y位置, 大きさ, 最小値, 最大値)&lt;br /&gt;でインスタンス作って、&lt;br /&gt;&lt;br /&gt;d.update(mouseX, mouseY)&lt;br /&gt;でマウスオーバー検出、&lt;br /&gt;&lt;br /&gt;d.press(mouseX, mouseY)&lt;br /&gt;でロックして、&lt;br /&gt;&lt;br /&gt;d.getVal()で値を取得。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-2574047323781017336?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/2574047323781017336/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=2574047323781017336' title='1 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/2574047323781017336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/2574047323781017336'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/11/dial.html' title='dial'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-5704475039657658153</id><published>2007-11-11T21:56:00.001+09:00</published><updated>2007-12-13T01:24:47.116+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='thesis'/><category scheme='http://www.blogger.com/atom/ns#' term='snap'/><title type='text'>20071111</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_oxc4970ZOdY/Rzb8OkgF6wI/AAAAAAAAANk/_3OYbUuhMuo/s1600-h/IMG_3256.JPG"&gt;&lt;img style="display:block; margin:0px 0px 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_oxc4970ZOdY/Rzb8OkgF6wI/AAAAAAAAANk/_3OYbUuhMuo/s400/IMG_3256.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5131566152681908994" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-5704475039657658153?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/5704475039657658153/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=5704475039657658153' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/5704475039657658153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/5704475039657658153'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/11/20071111.html' title='20071111'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_oxc4970ZOdY/Rzb8OkgF6wI/AAAAAAAAANk/_3OYbUuhMuo/s72-c/IMG_3256.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-7325805014690723965</id><published>2007-11-11T00:20:00.000+09:00</published><updated>2007-12-13T01:21:12.008+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='idea'/><category scheme='http://www.blogger.com/atom/ns#' term='processing(p5)'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>today's glitch 2</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_oxc4970ZOdY/RzXQvUgF6vI/AAAAAAAAANc/ewSalxx2SFY/s1600-h/glitch2.jpg"&gt;&lt;img style="display:block; margin:0px 0px 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_oxc4970ZOdY/RzXQvUgF6vI/AAAAAAAAANc/ewSalxx2SFY/s400/glitch2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5131236861834291954" /&gt;&lt;/a&gt;&lt;br /&gt;今日もglitch。&lt;br /&gt;&lt;br /&gt;最初のものはグリッチを起こすタイミングをランダムに設定していたんだけど、周期的にずれ具合を変えるという風に変えてみた。koyachiさんが参考にしてたmikrosophtみたいに。&lt;br /&gt;&lt;a href="http://flickr.com/photos/mikrosopht"&gt;Flickr: Photos from mikrosopht&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;マウスのx位置とって何ピクセル目にグリッチさせるかってのを設定してる。どれくらいずらすかは毎回変わるので、同じ位置で何回かクリックしてみてもいい。preタグだと&amp;lt;があれなのでインデントこんなんですが、OSXだとprocessingIDEでコマンドキー+T(Toolsメニュー&gt;Auto Format)で自動でインデントつけてくれるので、コピー&amp;ペーストして試してみてください。&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;inspired by HSYNC Glitch t.koyachi&lt;br /&gt;http://d.hatena.ne.jp/koyachi/20071107&lt;br /&gt;hysysk&lt;br /&gt;*/&lt;br /&gt;int interval= 1;&lt;br /&gt;void setup() {&lt;br /&gt;  size(500, 375);&lt;br /&gt;  PImage imgsrc;&lt;br /&gt;  background(255);&lt;br /&gt;  noStroke();&lt;br /&gt;  int slideX = 0;&lt;br /&gt;  int slideY = 0;&lt;br /&gt;  int randSlideX = int(random(15));&lt;br /&gt;  int randSlideY = int(random(5));&lt;br /&gt;  imgsrc = loadImage("cXHwYYMtm1he27ib375S4A0e_500.jpg");&lt;br /&gt;  int glit=0;&lt;br /&gt;&lt;br /&gt;  loadPixels();&lt;br /&gt;  for(int j=0; j&amp;lt;height; j++) {&lt;br /&gt;    if(glit%interval==0) {&lt;br /&gt;      randSlideX = int(random(10));&lt;br /&gt;      randSlideY = int(random(5));&lt;br /&gt;    }&lt;br /&gt;    else {&lt;br /&gt;      slideX += randSlideX;&lt;br /&gt;      slideY += randSlideY;&lt;br /&gt;    }&lt;br /&gt;    for(int i=0; i&amp;lt;width; i++) {&lt;br /&gt;      int current = j * width + i;&lt;br /&gt;      int src = current +  slideY * height + slideX;&lt;br /&gt;      if(src&gt;=height*width) {&lt;br /&gt;        src = current - width;      &lt;br /&gt;      }&lt;br /&gt;      pixels[current] = imgsrc.pixels[src];&lt;br /&gt;      glit++;&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;  }&lt;br /&gt;  updatePixels();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void draw() {&lt;br /&gt;  interval = max(1,mouseX);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void keyPressed() {&lt;br /&gt;  saveFrame("glitch.jpg");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void mousePressed() {&lt;br /&gt;  setup();&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-7325805014690723965?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/7325805014690723965/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=7325805014690723965' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7325805014690723965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7325805014690723965'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/11/todays-glitch-2.html' title='today&apos;s glitch 2'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_oxc4970ZOdY/RzXQvUgF6vI/AAAAAAAAANc/ewSalxx2SFY/s72-c/glitch2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-3366029067930008259</id><published>2007-11-10T00:41:00.000+09:00</published><updated>2007-12-13T01:22:04.777+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='idea'/><category scheme='http://www.blogger.com/atom/ns#' term='processing(p5)'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>today's glitch</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_oxc4970ZOdY/RzSOxkRPTMI/AAAAAAAAANU/QjAhXDzBIoo/s1600-h/palitch.jpg"&gt;&lt;img style="display:block; margin:0px 0px 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_oxc4970ZOdY/RzSOxkRPTMI/AAAAAAAAANU/QjAhXDzBIoo/s400/palitch.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5130882857682554050" /&gt;&lt;/a&gt;&lt;br /&gt;koyachiさんが作ってたglichを元に僕もやってみた。&lt;br /&gt;&lt;a href="http://d.hatena.ne.jp/koyachi/20071107/1194413657"&gt;きょうのglitch - koyachiの日記&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;jrubyでの書き方がよくわかってないのでところどころ書き換えてます。&lt;br /&gt;&lt;a href="http://www.iamas.ac.jp/~poki06/hysncglitch/"&gt;hysncglitch : Built with Processing&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;マウスクリックで描画し直します。&lt;br /&gt;コメントアウトしてるけど、キーを押すと画像の保存。&lt;br /&gt;&lt;br /&gt;ポイントとしては外側のfor文の中の変数glitに入る乱数の値(1行読むごとに再設定される)が、&lt;br /&gt;&lt;br /&gt;0の場合　&lt;br /&gt;x軸方向にrandSlideX分、y軸方向にrandSlideY分ずれたところをソースにする&lt;br /&gt;&lt;br /&gt;1の場合　&lt;br /&gt;randSlideX、randSlideYの値を再設定&lt;br /&gt;&lt;br /&gt;それ以外の場合　変化なし&lt;br /&gt;&lt;br /&gt;という風に分岐してるとこかな。画像変える場合はsize()の大きさを画像の大きさに合わせてね。&lt;br /&gt;色々試す。&lt;br /&gt;&lt;br /&gt;(追記:試した結果、縦の方が長いの画像の場合、配列のエラーが出ます。原因究明中。眠い。)&lt;br /&gt;(さらに追記:直しました。int current = j * width + i;としなければならないところ、widthがheightになってました。koyachiさんありがとうございます！)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-3366029067930008259?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/3366029067930008259/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=3366029067930008259' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/3366029067930008259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/3366029067930008259'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/11/todays-glitch.html' title='today&apos;s glitch'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_oxc4970ZOdY/RzSOxkRPTMI/AAAAAAAAANU/QjAhXDzBIoo/s72-c/palitch.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-3317919591717150892</id><published>2007-11-09T11:27:00.000+09:00</published><updated>2007-12-13T01:25:27.158+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='thesis'/><category scheme='http://www.blogger.com/atom/ns#' term='review'/><category scheme='http://www.blogger.com/atom/ns#' term='diary'/><title type='text'>pre presentation</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_oxc4970ZOdY/RzPPeURPTLI/AAAAAAAAANM/D_di1_-U4NA/s1600-h/sonicode_pre.jpg"&gt;&lt;img style="display:block; margin:0px 0px 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_oxc4970ZOdY/RzPPeURPTLI/AAAAAAAAANM/D_di1_-U4NA/s400/sonicode_pre.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5130672520249167026" /&gt;&lt;/a&gt;&lt;br /&gt;修士制作予備審査終了。前日に受けたアドバイス(とにかくでかくプロジェクションしろ、でかい音を出せ、今何やってるかわかるようにしろ)が効いて何とか乗り切った感じ。素早い変更ができるのはprocessingとかmax/mspの最大の利点。&lt;br /&gt;&lt;br /&gt;複数行の入力を可能にして、回転を加えたところ、波形は面白くなった。&lt;br /&gt;テキスト操作の結果、音響合成の理論ではどういう効果に位置づけられるのかというところを丁寧に調べていく必要がある。文字の幅を調整して周波数を変えるとか、90度回転させて打ち込むと普通の波形テーブルの編集みたいになるとか。&lt;br /&gt;&lt;br /&gt;今回はキーボードでテキスト編集、マウスで形状変化、という風にしたけど、tex/tspでやってたみたいにコマンドっぽい機能をつければまた変わると思う。マウスじゃなくてフェーダーとかツマミで操作もしたい。最初はグリッチだったりエラーを利用して楽しむ感じだったけど、次の段階はそれをオーガナイズすること。耳を頼りに操作してかっこいいグラフィックができてるとか夢。&lt;br /&gt;&lt;br /&gt;アカデミーの高桑教授が本気でプログラム書く時はモニタ見ないでうなだれた状態で目を閉じてキーボードをタイプするそうだ。大度君も本気で演奏する時は目を閉じるとか言ってたし、触覚的なインターフェースについてももっと考察してもいい。視覚的にいくらリッチにしたところで越えられない壁ってのはやっぱりある。&lt;br /&gt;&lt;br /&gt;去年思い描いていた通りGUIもCUIもフィジカルコンピューティングもデザインも音響もグリッチも全部広く浅く盛り込んだ作品になりそう。&lt;br /&gt;&lt;br /&gt;解放感というよりは、上記のようなブラフをどれくらい実現できるのかってとこの重圧。&lt;br /&gt;とはいえ進むべき方向が見えつつあるのはいい。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-3317919591717150892?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/3317919591717150892/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=3317919591717150892' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/3317919591717150892'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/3317919591717150892'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/11/pre-presentation.html' title='pre presentation'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_oxc4970ZOdY/RzPPeURPTLI/AAAAAAAAANM/D_di1_-U4NA/s72-c/sonicode_pre.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-5218161679668341555</id><published>2007-11-04T21:37:00.000+09:00</published><updated>2007-11-04T21:57:22.601+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pcomp'/><category scheme='http://www.blogger.com/atom/ns#' term='processing(p5)'/><category scheme='http://www.blogger.com/atom/ns#' term='gainer'/><title type='text'>gnu.io.PortInUseException: Unknown Application</title><content type='html'>gainer使うのに一苦労してしまった。&lt;br /&gt;まずファームウェアとライブラリのバージョンが合ってなかったのと、シリアルを使う際のこのエラー。&lt;br /&gt;&lt;br /&gt;答えはfaqにあった。&lt;br /&gt;&lt;a href="http://processing.org/reference/libraries/serial/"&gt;Serial \ Libraries \ Processing 1.0 (BETA) \ Processing 1.0 (BETA)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Processing/libraries/serialフォルダ内のmacosx_setup.commandをダブルクリックすると、terminalが起動する。シリアルを使えるようにするプロンプトが出て、Do you want to continue?と聞かれるので、yを入力してエンター。アカウントのパスワードを入力して、そのままOSを再起動。無事使えるようになった。&lt;br /&gt;&lt;br /&gt;さらによく見てみると、Gainer公式サイトにしっかり載ってました。&lt;br /&gt;&lt;a href="http://gainer.cc/Tutorial/HowToUseGainerWithProcessing?p=4"&gt;GAINER.cc | Tutorial / Processingで使う&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;慣れたつもりでやってると痛い目見るので注意が必要ですね。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-5218161679668341555?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/5218161679668341555/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=5218161679668341555' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/5218161679668341555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/5218161679668341555'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/11/gnuioportinuseexception-unknown.html' title='gnu.io.PortInUseException: Unknown Application'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-5259235233110795636</id><published>2007-11-04T17:34:00.000+09:00</published><updated>2007-11-26T06:02:38.631+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='idea'/><category scheme='http://www.blogger.com/atom/ns#' term='diary'/><title type='text'>20071104</title><content type='html'>まだ何もないけど(正確にはあるが、リンクを貼ってない)、webちょっとずつ作り直してる。自分の作品を見せるというよりは今後のため。&lt;br /&gt;&lt;br /&gt;jquery使ってみたら非常に便利だった。最初メニューを定義リストで作ってて、dtをクリックしたらddの中身が表示されるようにしてたんだけど、コンテンツが増えると最初の読み込みが重くなりそうな予感がしたので書き換えた。innerHTMLにhtmlを動的に読み込む形式。何かでもこれもパーマリンク力弱そう。うまいやり方ないかなー。この人のページのこの画像(とか文章)っていうのにすぐアクセスできるようにしたいんだけど。栞とかポストイットみたいな感じで、そのページにいくと自分が気に入ってるところをすぐ見られる仕組み。&lt;br /&gt;&lt;br /&gt;見た目も、構造も、ちょっと変わっててかっこよくて便利な物を作りたい。&lt;br /&gt;&lt;br /&gt;でもまずは修士制作だろ。8日予備審査。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-5259235233110795636?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/5259235233110795636/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=5259235233110795636' title='1 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/5259235233110795636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/5259235233110795636'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/11/20071104.html' title='20071104'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-7252472112031069981</id><published>2007-10-18T22:48:00.000+09:00</published><updated>2007-10-19T02:01:41.542+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='scons'/><category scheme='http://www.blogger.com/atom/ns#' term='sound'/><category scheme='http://www.blogger.com/atom/ns#' term='sndobj'/><title type='text'>build sndobj app</title><content type='html'>ありがとうございます！&lt;br /&gt;&lt;a href="http://cutuplog.cocolog-nifty.com/videolog/2007/10/sndobj_ecc8.html"&gt;Xヶ所村: すでにsndobjをインストールしていて、てっとりばやく自分アプリを作りたい場合。&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;sconsはmakeみたいなもので、ソースから実行可能ファイルを生成するのに使うコマンド。SConstructファイルがmakefileにあたる。&lt;br /&gt;&lt;br /&gt;sconsの解説&lt;br /&gt;&lt;a href="http://sh1.2-d.jp/b/2006-09-07-01-28.html"&gt;sh1.2 pyblosxom : SConsについてちょっと調べてみた。Part.1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;makeの解説&lt;br /&gt;&lt;a href="http://www.unixuser.org/~euske/doc/makefile/index.html"&gt;Make と Makefile の説明&lt;/a&gt;&lt;br /&gt;&lt;a href="http://lagendra.s.kanazawa-u.ac.jp/ogurisu/manuals/make-intro/index.html"&gt;MAKEの第一歩(入門)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;miujunさんがおっしゃる通り、既にSndObjフォルダのsrcフォルダ内にexamplesというフォルダがあり、ソースファイルが置かれている。srcフォルダと同じ階層にはbinフォルダがあって、実行可能なファイルがいくつかできている。試しにsinusというのを実行する。&lt;br /&gt;&lt;br /&gt;d242204:~/SndObj/bin hysysk$ ./sinus&lt;br /&gt;&lt;br /&gt;とエラーが出る。&lt;br /&gt;&lt;br /&gt;./sinus infile.wav outfile.wav timestr pitch thresh intracks outracks&lt;br /&gt;&lt;br /&gt;このエラーとソースを読めば、実行ファイルに加えて引数を7つ指定する必要があることがわかる。サウンドファイルを読み込んで、タイムストレッチとかピッチチェンジするのかな。その時に綺麗に補完するアルゴリズムって感じ？&lt;br /&gt;&lt;br /&gt;色々試す。&lt;br /&gt;&lt;br /&gt;miujunさんのここのソースをビルドしてみる。&lt;br /&gt;&lt;a href="http://cutuplog.cocolog-nifty.com/videolog/2007/06/cygwinsndobj_d156.html"&gt;Xヶ所村: CygwinでSndObjなど&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;インクルード部分を&lt;br /&gt;&lt;br /&gt;#include &amp;lt;SndObj/AudioDefs.h&amp;gt;&lt;br /&gt;&lt;br /&gt;に書き直す(blogに貼る際にhtmlが書き換えられてる？)。あと、30秒は長い気がするので&lt;br /&gt;&lt;br /&gt;int dur = 5;&lt;br /&gt;&lt;br /&gt;にした。&lt;br /&gt;&lt;br /&gt;で、example以下にsin.cppとか名前つけて保存。&lt;br /&gt;&lt;br /&gt;次、Sconstructファイルの編集。&lt;br /&gt;&lt;br /&gt;493行目の&lt;br /&gt;&lt;br /&gt;# realtime IO examples&lt;br /&gt;if rtio:&lt;br /&gt;&lt;br /&gt;以下に他の既にあるexampleと同じような形式で書く。その上480行目で定義されてるBuildExampleメソッドに渡す処理を書けばいいのかな。何となくやってることは分かる。&lt;br /&gt;&lt;br /&gt;sin = BuildExample('./bin/sin', './obj/sin.o', 'src/examples/sin.cpp')&lt;br /&gt;Depends(sin, deplibs)&lt;br /&gt;&lt;br /&gt;Sconstructファイルはpythonスクリプトなので、インデントなどちゃんと合わせておくこと。&lt;br /&gt;&lt;br /&gt;terminalで/SndObjに移動して、sconsコマンド実行。こんな感じ。&lt;br /&gt;&lt;br /&gt;d246112:~/SndObj hysysk$ scons&lt;br /&gt;scons: Reading SConscript files ...&lt;br /&gt;Building the Sound Object Library&lt;br /&gt;Checking for Realtime IO support...&lt;br /&gt;OS is MacOSX&lt;br /&gt;Checking for C header file jack/jack.h... (cached) no&lt;br /&gt;Host is little endian&lt;br /&gt;swig doesn't exist&lt;br /&gt;Python version is 2.3&lt;br /&gt;Checking for C header file m_pd.h... (cached) no&lt;br /&gt;Checking for C header file ladspa.h... (cached) yes&lt;br /&gt;scons: done reading SConscript files.&lt;br /&gt;scons: Building targets ...&lt;br /&gt;g++ -o obj/sin.o -c -O3 -DMACOSX -Iinclude -Iinclude/rfftw -I/system/library/Frameworks/CoreAudio.framework/Headers src/examples/sin.cpp&lt;br /&gt;g++ -o bin/sin -framework coreaudio obj/sin.o -Llib -lsndobj&lt;br /&gt;scons: done building targets.&lt;br /&gt;&lt;br /&gt;確かにgccでコンパイルする時のオプションはここからわかりそう。makeもsconsもコンパイルの詳しい仕組みもよくわかってないのでまだうまくいってないけど。要勉強。とりあえずはこれで。&lt;br /&gt;&lt;br /&gt;ワークショップ形式で適宜説明受けながらのこういう授業があれば。。。てかIAMASの場合は直接先生のとこに行って聞くのが主体なんだから、もっと積極的になれよ僕、という話なんだけど。&lt;br /&gt;&lt;br /&gt;miujunさん本当にありがとうございます！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-7252472112031069981?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/7252472112031069981/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=7252472112031069981' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7252472112031069981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7252472112031069981'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/10/build-sndobj-app.html' title='build sndobj app'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-4201747188750746121</id><published>2007-10-18T01:00:00.000+09:00</published><updated>2007-10-18T01:50:56.083+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pil'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>20071017</title><content type='html'>画像から波形をpysndobjでできるようにした。&lt;br /&gt;&lt;br /&gt;画像を扱うためのライブラリであるPython Image Libraryを導入するのに手間取ってしまった。OSXの場合、ソースからビルドしなければならない。諸悪の根源はPILというか、デコーダのlibjpegなんだけど。&lt;br /&gt;&lt;a href="http://zope.jp/documents/how-to/pil-install"&gt;PIL(Python Image Library)の導入 — JZUG&lt;/a&gt;&lt;br /&gt;&lt;a href="http://slashdot.jp/~Cube/journal/363553"&gt;libjpeg.dylib のコンパイル方法 - Cube の日記&lt;/a&gt;&lt;br /&gt;&lt;a href="http://d.hatena.ne.jp/mitszo/20070817/p3"&gt;PIL のエラー解決編 - mitszoの日記&lt;/a&gt;&lt;br /&gt;&lt;a href="http://journal.mycom.co.jp/column/osx/042/index.html"&gt;【コラム】OS X ハッキング! (42) OS XでGIMPを使おう! part4 | パソコン | マイコミジャーナル&lt;/a&gt;&lt;br /&gt;あと海外でインストーラ作ってくれてた人もいたな。&lt;br /&gt;&lt;br /&gt;この辺全部試して、&lt;br /&gt;jpeg-6bフォルダ内で./configureとかmake installとかひたすら打ち込み、文字列をずらーっと眺める。&lt;br /&gt;&lt;br /&gt;Imaging-1.1.6フォルダ内でsetup.py buildしたらちゃんと&lt;br /&gt;--- JPEG support ok&lt;br /&gt;が出るにも関わらず、pythonを起動してImageをインポート、jpegファイルを読み込もうとすると、&lt;br /&gt;IOError: decoder jpeg not available&lt;br /&gt;となる。&lt;br /&gt;&lt;br /&gt;で、エラーログで検索したら、setup.pyを2回以上行う場合はbuildフォルダを消しておく必要があることが判明。無事解決。とは言え、どれが決め手だったのかは不明...。&lt;br /&gt;&lt;a href="http://d.hatena.ne.jp/rougeref/20070921"&gt;decoder jpeg not available - あるシステム管理者の日常&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;sudo setup.py install&lt;br /&gt;&lt;br /&gt;PILさえ入れてしまえば画像表示は超簡単で、&lt;br /&gt;&lt;br /&gt;import Image&lt;br /&gt;Image.open("kaho001.jpg").show()&lt;br /&gt;&lt;br /&gt;だもんね。&lt;br /&gt;P型フーリエ記述子とかいうのを試してみたいんだけど、できるかしら。僕に。&lt;br /&gt;&lt;br /&gt;本当、こんなにわかってないものをよく毎日使ってるなぁと思った。ちょっと普段と違うことしようとすると途端に困ったことになる。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-4201747188750746121?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/4201747188750746121/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=4201747188750746121' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/4201747188750746121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/4201747188750746121'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/10/20071017.html' title='20071017'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-7700162491695913461</id><published>2007-10-17T01:33:00.000+09:00</published><updated>2007-11-26T06:03:18.534+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='diary'/><category scheme='http://www.blogger.com/atom/ns#' term='sndobj'/><title type='text'>20071016</title><content type='html'>OSXでc++でSndObj使ってみようとか思った。&lt;br /&gt;&lt;a href="http://music.nuim.ie//musictec/SndObj/main.html"&gt;SndObj Library Homepage&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;sconsが必要なのでインストール。&lt;br /&gt;&lt;a href="http://www.scons.org/"&gt;SCons: A software construction tool&lt;/a&gt;&lt;br /&gt;scons-0.97フォルダへ移動しsetup.py install&lt;br /&gt;permission deniedが出たのでsudo python setup.py install&lt;br /&gt;&lt;br /&gt;sconsのインストール先は&lt;br /&gt;/System/Library/Frameworks/Python.framework/Versions/2.3/bin/scons&lt;br /&gt;&lt;br /&gt;.bash_profileのPATH編集。&lt;br /&gt;export PATH="/System/...(略).../2.3/bin/:${PATH}"&lt;br /&gt;&lt;br /&gt;:${PATH}つけとかないとosxのコマンド読まなくなるので注意。&lt;br /&gt;&lt;br /&gt;sndobjインストール。&lt;br /&gt;SndObjフォルダへ移動しscons&lt;br /&gt;&lt;br /&gt;多分入った。SWIGがないとか出るけど、これはpythonとかrubyとかのスクリプトから使いたい時に必要みたいなので、問題ないだろう。&lt;br /&gt;&lt;br /&gt;で、あとはコード書くだけのはずなんだけど、こっから先、わからず！&lt;br /&gt;&lt;br /&gt;何でコンパイルの仕方とかってあんましwebにないのかな。本は本でwindowsだったりそもそもコンパイルの方法は載ってなかったり。。。g++に渡すオプションだとか、Xcodeで外部ライブラリ使ってビルドする方法とか。。。&lt;br /&gt;&lt;br /&gt;とりあえずはpysndobjで様子見。todoとしてはfftしてifftした音を作ること。&lt;br /&gt;教授陣とガチで向き合ってみるべきか。&lt;br /&gt;&lt;br /&gt;開発の始め方、調べ方、コンピュータの仕組み、まだまだわかってない。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-7700162491695913461?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/7700162491695913461/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=7700162491695913461' title='1 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7700162491695913461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7700162491695913461'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/10/20071016.html' title='20071016'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-6962281320446592052</id><published>2007-10-11T01:08:00.000+09:00</published><updated>2007-10-11T01:57:37.040+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='typography'/><category scheme='http://www.blogger.com/atom/ns#' term='idea'/><category scheme='http://www.blogger.com/atom/ns#' term='sound'/><category scheme='http://www.blogger.com/atom/ns#' term='processing(p5)'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='thesis'/><category scheme='http://www.blogger.com/atom/ns#' term='sketch'/><category scheme='http://www.blogger.com/atom/ns#' term='minim'/><title type='text'>sonic typeface interactive</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_oxc4970ZOdY/Rw0ChX5pmXI/AAAAAAAAANE/_Fw02M_Yygo/s1600-h/hello.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_oxc4970ZOdY/Rw0ChX5pmXI/AAAAAAAAANE/_Fw02M_Yygo/s400/hello.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5119751123764877682" /&gt;&lt;/a&gt;&lt;br /&gt;processingでは、例えばPImage型の変数imgを作って、&lt;br /&gt;img = get();&lt;br /&gt;とすればスクリーンをキャプチャできるので、テキスト入力しながら音を出すことは簡単にできた。&lt;br /&gt;画像はHello worからHello worlになるところ。波形エディタでこれくらいにまで拡大して、再生するとアニメーションみたいなものにもなる。再生ポイントに合わせて動いてくれないと駄目だけど。&lt;br /&gt;&lt;a href="http://www.iamas.ac.jp/~poki06/sonictype2.wav"&gt;hello world.wav&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;波形エディタは&lt;a href="http://audacity.sourceforge.net/?lang=ja"&gt;audacity&lt;/a&gt;ってソフト使ってます。&lt;br /&gt;フォント変えると音も違う。Helvetica Neue UltraLightとか音も細いよ。&lt;br /&gt;&lt;br /&gt;最初気づかなかったけど、波形エディタでみると音の始めにずっと1.0が入ってた(ヘッドフォンしてるとバツッときてあと無音で圧迫感)。なんだろうと思ってたんだけど、setup()メソッドの中でbackgroundを明示的に初期化してなかったせいで、デフォルトの値がマッピングされちゃってた。processingのwindowを目で見ただけではわかんなかったけど、耳ではバツッてのがわかって、波形エディタで確認するとよくわかるのが面白い。&lt;br /&gt;&lt;br /&gt;スポイルされちゃう部分もあるから絶対最強最高って訳じゃないし、方向性もぶれちゃったりするけど、とにかくものができると色々発見もあるし考えられる。&lt;br /&gt;&lt;a href="http://www.iamas.ac.jp/~poki06/sonictypeinteractive/"&gt;&lt;br /&gt;applet&lt;/a&gt;&lt;br /&gt;テキストエディタ感覚で文字打てる。文字数多いとピッチも上がる。deleteで消せる。領域内をクリックしないと動かないかも。アルファベットのみ。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-6962281320446592052?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/6962281320446592052/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=6962281320446592052' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/6962281320446592052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/6962281320446592052'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/10/sonic-typeface-interactive.html' title='sonic typeface interactive'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_oxc4970ZOdY/Rw0ChX5pmXI/AAAAAAAAANE/_Fw02M_Yygo/s72-c/hello.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-5640426497814889041</id><published>2007-10-10T00:57:00.001+09:00</published><updated>2007-10-10T00:59:30.831+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='illustrator'/><category scheme='http://www.blogger.com/atom/ns#' term='trash'/><title type='text'>trash0003</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_oxc4970ZOdY/RwulFn5pmWI/AAAAAAAAAM8/2coPvtEcMys/s1600-h/pegraph.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_oxc4970ZOdY/RwulFn5pmWI/AAAAAAAAAM8/2coPvtEcMys/s400/pegraph.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5119366917465413986" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://peg.gabocoy.com/"&gt;peg&lt;/a&gt;は楽しかったまたやりたい。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-5640426497814889041?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/5640426497814889041/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=5640426497814889041' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/5640426497814889041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/5640426497814889041'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/10/trash0003.html' title='trash0003'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_oxc4970ZOdY/RwulFn5pmWI/AAAAAAAAAM8/2coPvtEcMys/s72-c/pegraph.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-2102752726836272712</id><published>2007-10-10T00:52:00.000+09:00</published><updated>2007-10-10T00:54:54.662+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='trash'/><category scheme='http://www.blogger.com/atom/ns#' term='photoshop'/><title type='text'>trash0002</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_oxc4970ZOdY/RwukHn5pmVI/AAAAAAAAAM0/WGC67vwJ4Uc/s1600-h/man.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_oxc4970ZOdY/RwukHn5pmVI/AAAAAAAAAM0/WGC67vwJ4Uc/s400/man.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5119365852313524562" /&gt;&lt;/a&gt;&lt;br /&gt;僕は絵が描きたかったのだった。これも2年前くらい。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-2102752726836272712?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/2102752726836272712/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=2102752726836272712' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/2102752726836272712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/2102752726836272712'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/10/trash0002.html' title='trash0002'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_oxc4970ZOdY/RwukHn5pmVI/AAAAAAAAAM0/WGC67vwJ4Uc/s72-c/man.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-6748525393424206065</id><published>2007-10-10T00:45:00.000+09:00</published><updated>2007-10-10T00:47:58.323+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='trash'/><category scheme='http://www.blogger.com/atom/ns#' term='jitter'/><category scheme='http://www.blogger.com/atom/ns#' term='photoshop'/><title type='text'>trash0001</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_oxc4970ZOdY/Rwuip35pmUI/AAAAAAAAAMs/ZjdqC3Wz83Q/s1600-h/nica.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_oxc4970ZOdY/Rwuip35pmUI/AAAAAAAAAMs/ZjdqC3Wz83Q/s400/nica.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5119364241700788546" /&gt;&lt;/a&gt;&lt;br /&gt;2年前くらいに作ったやつ。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-6748525393424206065?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/6748525393424206065/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=6748525393424206065' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/6748525393424206065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/6748525393424206065'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/10/trash0001.html' title='trash0001'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_oxc4970ZOdY/Rwuip35pmUI/AAAAAAAAAMs/ZjdqC3Wz83Q/s72-c/nica.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-3949664320525706987</id><published>2007-10-08T00:32:00.000+09:00</published><updated>2007-10-11T23:23:16.845+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='typography'/><category scheme='http://www.blogger.com/atom/ns#' term='idea'/><category scheme='http://www.blogger.com/atom/ns#' term='sound'/><category scheme='http://www.blogger.com/atom/ns#' term='processing(p5)'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='thesis'/><category scheme='http://www.blogger.com/atom/ns#' term='minim'/><category scheme='http://www.blogger.com/atom/ns#' term='review'/><title type='text'>sonic typeface src</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_oxc4970ZOdY/RwqA7H5pmTI/AAAAAAAAAMk/dreadfpaZ0o/s1600-h/soty.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_oxc4970ZOdY/RwqA7H5pmTI/AAAAAAAAAMk/dreadfpaZ0o/s400/soty.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5119045679681476914" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;minimで任意の波形テーブルを作るのはすごく簡単で、AudioSignalインターフェースを実装すればいい。exampleにあるので、参考に。&lt;br /&gt;&lt;br /&gt;generate()メソッドに渡されるsamp[]の中に-1から1の値を突っ込む。&lt;br /&gt;512サンプルの波形テーブルにするため、512ピクセルの画像を用意して、上から下、左から右にスキャン。&lt;br /&gt;&lt;br /&gt;解説というか、自分でちゃんとわかってるか確認のためメモ(下のリンク先にあるソース参照)。&lt;br /&gt;まずピクセル全てに番号を振る。&lt;br /&gt;&lt;br /&gt;色が閾値以下の値を持っている場合(元画像を黒で作ってあるので、適当に赤成分が50以下、としました)、その番号。それ以外は0にして、sndArrayに入れる。&lt;br /&gt;&lt;br /&gt;sndArrayの中で最大値と最小値を出す。最小値は0が最初に0でない数値を受け取ったときの値になるはず。boolean型の変数startで判別。&lt;br /&gt;&lt;br /&gt;0の数はoffsetという変数に入れて最終的に振幅をそんだけ分持ち上げる。&lt;br /&gt;&lt;br /&gt;次のif文でまずsndArray内に0でない値が入っているか(描画すべきピクセルがあるか)を判別し、&lt;br /&gt;x%2==1が真のときに下のエッジ(highとlowの差+offset)、偽のときに上のエッジ(offset)をプロット。&lt;br /&gt;(10/10訂正:上下が逆だったので直しました。)&lt;br /&gt;&lt;br /&gt;あとはmap関数に任せれば、0から1の間で適当に補完してくれる。lowを1に、highを0にすることで、元画像と書き出された波形を一致させることができた。&lt;br /&gt;&lt;br /&gt;タイポグラフィの専門用語で言うところのカウンター(counter)、文字の中の閉じられて中空になっている部分とか、入り組んだ部分、つまりhighとlowの間に0が入ってるところは潰されてしまう。描画の密度に差を持たせれば擬似的に空間を見せることは可能かもしれない。&lt;a href="http://cutuplog.cocolog-nifty.com/videolog/2007/09/post_8e76.html"&gt;miujunさんの&lt;/a&gt;は多分そういう感じ。&lt;br /&gt;&lt;br /&gt;今のところ画像読み込んでるだけだけど、テキスト編集する感じで音に直結できればいいなと。カーニングとか、長体とか、フォントを変えることによって音が変化する。それでプログラミングができて、さらにその音の解析からまたコードが生成されて、フィードバックする。&lt;br /&gt;&lt;br /&gt;sourceの方はprocessingで実行してクリックすると画像と音を書き出します。色々試してみて下さい。&lt;a href="http://code.compartmental.net/tools/minim"&gt;minim&lt;/a&gt;ライブラリが必要です。&lt;br /&gt;&lt;a href="http://www.iamas.ac.jp/~poki06/sonitype/"&gt;applet&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.iamas.ac.jp/~poki06/sonictypeface.zip"&gt;source(zip file)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-3949664320525706987?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/3949664320525706987/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=3949664320525706987' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/3949664320525706987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/3949664320525706987'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/10/sonic-typeface-src.html' title='sonic typeface src'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_oxc4970ZOdY/RwqA7H5pmTI/AAAAAAAAAMk/dreadfpaZ0o/s72-c/soty.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-5108979629104017301</id><published>2007-10-06T23:58:00.000+09:00</published><updated>2007-10-07T02:01:52.914+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='diary'/><title type='text'>20071006</title><content type='html'>今月号のstudio voiceにcollect.applyの作品載ってます。55ページ。&lt;br /&gt;2000年代に発売された200枚のディスクガイドで、アルバムの長さを線の長さに変換して、円形に並べた。僕はそのためのコード書いた。もらったリストからxmlファイル作って、processingでグラフィックにして、svg形式で書き出したやつを渡した。データビジュアライズものなんだけど、手作業が加わってて、あんまし硬質な感じじゃなくてピタゴラスとか、ダヴィンチとか、そういう人らの物理とか数学の図っぽい感じに仕上がってて、結構いいんじゃないかと思う。&lt;br /&gt;&lt;br /&gt;studio voiceを知ったのは東京で浪人してた時で、初めて買ったのが2001年9月号のwhole earth catalog 2001 in japanてやつ。今も持ってる。本当に高校卒業するまでは現代美術もデザインもクラブカルチャーも全く知らなかったし、多分そのまま一般大学に進んでたら一生知らずにいたんじゃないかと思う。とにかく書かれてることのほとんどが意味わからず、語り口もそれまでの自分が知ってるものとは明らかに違ってた。冒頭の宇川直宏とヤマタカEYEとYUKIの対談なんて、この人達一体何者でどこの世界の話してるんだって感じだった。そっから一気にわかりやすい文系サブカル少年みたいになっていく訳だけど、多分一般的にはかなりそういうのに目覚めるのにしては遅かったと思う。予備校ではその辺はリテラシーとして当然になってるから、やべーってなってどっぷりそっち浸かっちゃって、皆が普通に空気みたいに触れてるものを知識ベースで入れ込みすぎたせいで逆にださくなる現象に陥ってまた悩む訳だけど。&lt;br /&gt;&lt;br /&gt;そんなことをバイトの後に本屋寄った帰り道で思ってたんだけど、今日見つけた道がすごくよかった。揖斐川はドナウ側説をより強固にした。夏にスイス村ってとこ行って来て、スイス的な要素はゼロだと思うんだけど、何かそこをスイスだと呼びたくなる気持ちはすごくわかったのと同じ。&lt;br /&gt;&lt;br /&gt;何年か前の卒展で、森岡って先生が大垣のブラジル人向けスーパーの色とか造りとか、店員のお姉さんが無駄に美人だとか、商店街に売ってる変な生活用品とかの雰囲気を指して「グランドゥール」って言ってたのが結構気に入ってて、小手先で真似できない本物(必ずしも良いとは限らない)から滲み出る質感っていうか、蓄積された時間とか文化とか圧倒的な力の働きによって作り上げられたもの、どうしてもそうなってしまうものみたいなのを僕はそう呼ぶようになったんだけど、そんな感じ。いつかこれうまく説明できるようになるかなー。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-5108979629104017301?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/5108979629104017301/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=5108979629104017301' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/5108979629104017301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/5108979629104017301'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/10/20071006.html' title='20071006'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-8513915163678205173</id><published>2007-10-06T01:54:00.000+09:00</published><updated>2007-10-06T02:15:02.169+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='idea'/><category scheme='http://www.blogger.com/atom/ns#' term='sound'/><category scheme='http://www.blogger.com/atom/ns#' term='processing(p5)'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><category scheme='http://www.blogger.com/atom/ns#' term='thesis'/><category scheme='http://www.blogger.com/atom/ns#' term='sketch'/><category scheme='http://www.blogger.com/atom/ns#' term='minim'/><title type='text'>sonic typeface</title><content type='html'>先日衝撃を受けたオシロスコープに猫及びポルノ画像。&lt;br /&gt;&lt;br /&gt;これはtex/tspの音響生成エンジンに使えるのではと思い試してみた。とりあえず文字の画像データを用意して、そいつを2値化して振幅に変換。とりあえず読めるレベルにはなってるのではないだろうか。詳しい解説はまた後で公開します。このアルゴリズムは多分最終成果物にはしない感じなので...。&lt;br /&gt;Helvetica Neue 75 Boldを240ptで使用。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_oxc4970ZOdY/RwZs1X5pmPI/AAAAAAAAAME/Y5cSuQxmgKA/s1600-h/ktkr_audacity.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_oxc4970ZOdY/RwZs1X5pmPI/AAAAAAAAAME/Y5cSuQxmgKA/s400/ktkr_audacity.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5117897690757830898" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;オシロスコープで出したいなー。&lt;br /&gt;&lt;br /&gt;元画像。コード書き換えて反転なしでできるようにしよう。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_oxc4970ZOdY/RwZuq35pmQI/AAAAAAAAAMM/byo9jKMCBR0/s1600-h/ktkr.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_oxc4970ZOdY/RwZuq35pmQI/AAAAAAAAAMM/byo9jKMCBR0/s400/ktkr.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5117899709392460034" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;processingではこんな画像ができる。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_oxc4970ZOdY/RwZvmn5pmRI/AAAAAAAAAMU/Cjjix1E_VKI/s1600-h/ktkrp5.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_oxc4970ZOdY/RwZvmn5pmRI/AAAAAAAAAMU/Cjjix1E_VKI/s400/ktkrp5.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5117900735889643794" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;音はこんな感じ。ご家庭の波形エディタなどで読めるかどうか試してみて下さい。&lt;br /&gt;&lt;a href="http://www.iamas.ac.jp/~poki06/ktkr.wav"&gt;ktkr.wav&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-8513915163678205173?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/8513915163678205173/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=8513915163678205173' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8513915163678205173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8513915163678205173'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/10/sonic-typeface.html' title='sonic typeface'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_oxc4970ZOdY/RwZs1X5pmPI/AAAAAAAAAME/Y5cSuQxmgKA/s72-c/ktkr_audacity.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-3890083698348611058</id><published>2007-09-26T21:41:00.000+09:00</published><updated>2007-09-26T21:53:50.830+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='processing(p5)'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><category scheme='http://www.blogger.com/atom/ns#' term='sketch'/><title type='text'>sketch20070926</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_oxc4970ZOdY/RvpURn5pmNI/AAAAAAAAAL0/VFlwFKRjt-E/s1600-h/tunes.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_oxc4970ZOdY/RvpURn5pmNI/AAAAAAAAAL0/VFlwFKRjt-E/s400/tunes.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5114492988577913042" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;itunesのlibraryの一部を視覚化。綺麗に見せる方法はもっと考える必要あり。&lt;br /&gt;この辺参考に。&lt;br /&gt;&lt;a href="http://design.yahoo.com/index.php#home"&gt;Yahoo! Design Innovation Team&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/37143263@N00/sets/"&gt;QQ!'s photosets on Flickr&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-3890083698348611058?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/3890083698348611058/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=3890083698348611058' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/3890083698348611058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/3890083698348611058'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/09/sketch20070926.html' title='sketch20070926'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_oxc4970ZOdY/RvpURn5pmNI/AAAAAAAAAL0/VFlwFKRjt-E/s72-c/tunes.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-7200412678669475048</id><published>2007-09-26T01:33:00.000+09:00</published><updated>2007-09-26T02:05:37.254+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='diary'/><title type='text'>20070925</title><content type='html'>深夜、ひと仕事終えて就寝。&lt;br /&gt;&lt;br /&gt;朝起きてアルバイト。給料日で皆ちょっと明るい気がする。&lt;br /&gt;職場の人達は皆本当に優しい。だから僕も皆に優しい。&lt;br /&gt;&lt;br /&gt;帰りの日差しがかなりきてて、ヨーロッパみたいだった。揖斐川がドナウ川みたいだった。カリッとした描写。&lt;br /&gt;空がでかい分、気分への影響もでかい。今日はいい。&lt;br /&gt;&lt;br /&gt;住んでる環境の影響は大きくて、ツルツルのフューチャリスティックなイメージを&lt;br /&gt;追い求めるのが辛くなったのもボーボーの草むらと野焼きの煙とジャージ姿の若者のせいだろう。&lt;br /&gt;ここから21エモンみたいな未来...はないな。と。&lt;br /&gt;&lt;br /&gt;未来は来ないから未来だ、って話もある。未だ来ざるもの。&lt;br /&gt;予想通りになるってことは、未来は来なかったということ。&lt;br /&gt;&lt;br /&gt;夜は夜で名月だし、夕方から夜へのつなぎは完璧。&lt;br /&gt;深夜自販機までのつもりがコンビニまで歩いてしまった。少し寒かった。&lt;br /&gt;多分同じような人もいることだろう。経済効果。&lt;br /&gt;&lt;br /&gt;明日あたり近い将来について話す。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-7200412678669475048?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/7200412678669475048/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=7200412678669475048' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7200412678669475048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/7200412678669475048'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/09/20070925.html' title='20070925'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-3217811898730923716</id><published>2007-09-21T03:09:00.000+09:00</published><updated>2007-09-22T00:39:30.988+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='processing(p5)'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='sketch'/><title type='text'>sketch20070921</title><content type='html'>図書館で借りた奥村晴彦著『C言語による最新アルゴリズム辞典』読みながらprocessingでsketch。&lt;br /&gt;&lt;br /&gt;最新っても8年前のだけど。&lt;br /&gt;&lt;br /&gt;lorenzアトラクタを描くアルゴリズムに、色々変な値突っ込んで遊んだ。繰り返しをめちゃめちゃに増やしたり、xとy入れ替えたり。&lt;br /&gt;&lt;br /&gt;ドラゴンカーブとかも試したんだけど、どっか間違ってるらしくちゃんと描けてなくておもろい。&lt;br /&gt;いかにもカオス系っぽい感じをなくしつつ、調整すればそれはそれでありなんじゃないかと思いました。視覚効果的には。アルゴリズムグリッチ。&lt;br /&gt;&lt;br /&gt;...真面目に勉強します。&lt;br /&gt;&lt;br /&gt;python版とかやってる人もいます。&lt;br /&gt;&lt;a href="http://f59.aaa.livedoor.jp/~ookini/pukiwiki.php?Python%A4%C7%A5%A2%A5%EB%A5%B4%A5%EA%A5%BA%A5%E0"&gt;Pythonでアルゴリズム - Konnichiwa, A doumo&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_oxc4970ZOdY/RvPjSH5pmMI/AAAAAAAAALs/zDddyQstGIY/s1600-h/lorenz.gif"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_oxc4970ZOdY/RvPjSH5pmMI/AAAAAAAAALs/zDddyQstGIY/s400/lorenz.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5112679902493644994" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;これは割と素直な描画のコード。元になってるCのコードみたいに表示位置をうまく指定する関数とか書けなかったので結果見ながら調整してます...。&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;float a = 10.0;&lt;br /&gt;float b = 28.0;&lt;br /&gt;float c = (8.0/3.0);&lt;br /&gt;float d = 0.01;&lt;br /&gt;&lt;br /&gt;float xpen = 0;&lt;br /&gt;float ypen = 0;&lt;br /&gt;&lt;br /&gt;int h = 0;&lt;br /&gt;int alp = 0;&lt;br /&gt;int dir = 1;&lt;br /&gt;&lt;br /&gt;void setup() {&lt;br /&gt;  size(400, 400);&lt;br /&gt;  background(255);&lt;br /&gt;  smooth();&lt;br /&gt;  strokeWeight(0.05);&lt;br /&gt;  int k;&lt;br /&gt;  float x, y, z, dx, dy, dz;&lt;br /&gt;  &lt;br /&gt;  x = y = z = 1;&lt;br /&gt;  &lt;br /&gt;  scale(14);&lt;br /&gt;  translate(14, -20);&lt;br /&gt;  &lt;br /&gt;  for(k = 0; k &lt; 3000; k++) {&lt;br /&gt;    dx = a * (y - x);&lt;br /&gt;    dy = x * (b - z) -y;&lt;br /&gt;    dz = x * y - c * z;&lt;br /&gt;    x += d * dx;&lt;br /&gt;    y += d * dy;&lt;br /&gt;    z += d * dz;&lt;br /&gt;    if(k &gt; 100) {&lt;br /&gt;      plot(x, z);&lt;br /&gt;    } &lt;br /&gt;    else {&lt;br /&gt;      move(x, z);&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;  saveFrame("lorenz.tif");&lt;br /&gt;}&lt;br /&gt;void move(float x, float y) {&lt;br /&gt;  xpen = x;&lt;br /&gt;  ypen = y;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void plot(float x, float y) {&lt;br /&gt;  if(alp&lt;0 || alp&gt;100) {&lt;br /&gt;    dir = -dir;&lt;br /&gt;  }&lt;br /&gt;  alp = alp + dir;&lt;br /&gt;  println(alp);&lt;br /&gt;  stroke(0,alp);&lt;br /&gt;  //point(x, y);&lt;br /&gt;  line(xpen, ypen, x, y);&lt;br /&gt;  xpen = x;&lt;br /&gt;  ypen = y;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-3217811898730923716?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/3217811898730923716/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=3217811898730923716' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/3217811898730923716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/3217811898730923716'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/09/sketch20070921.html' title='sketch20070921'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_oxc4970ZOdY/RvPjSH5pmMI/AAAAAAAAALs/zDddyQstGIY/s72-c/lorenz.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-1740015042442258274</id><published>2007-09-15T00:29:00.000+09:00</published><updated>2007-09-15T01:12:26.207+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='max/msp'/><category scheme='http://www.blogger.com/atom/ns#' term='processing(p5)'/><category scheme='http://www.blogger.com/atom/ns#' term='diary'/><category scheme='http://www.blogger.com/atom/ns#' term='book'/><title type='text'>20070914</title><content type='html'>久しぶりにprocessingで作業してた。XMLを解析してグラフィックに。まだ途中なので公開しないけど、いずれ。&lt;br /&gt;&lt;br /&gt;ちょっとjavascriptに行ってる間(やっと「初めてのJavascript」終わった)に、色々動きがあったようだ。&lt;br /&gt;個人的に興味深いのが徳井さん。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sonasphere.com/lab/"&gt;Music 2.* Lab&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;タイミングのためにスレッドのとこきっちりやったり、processingのライブラリを使わないでjavaで実装したりできるあたり、さすが。本当に音系のプログラミング(で、ちょっと今までにないものを作ろうという志向)の話題はほとんどないので心強い。&lt;br /&gt;&lt;br /&gt;ほとんどないっていうか、あったらあったでド変態。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cutuplog.cocolog-nifty.com/videolog/2007/09/post_8e76.html"&gt;Xヶ所村: オシロスコープに猫を&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;最高過ぎる。&lt;br /&gt;&lt;br /&gt;で、processing本もまた出てます。開発者のben flyとcasey reasが書いたもの。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://processing.org/learning/books/"&gt;Books \ Processing 1.0 (BETA)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;サンプルも落とせます。ちょっと動かしただけだけどオプアートっぽいのからゲームから物理シミュレーション(昔のsodaplayのソースコードもある!)から、グラフィック的にも洗練されてて、かなりいいんじゃないかなー。まずグラフィックとかから入って、それがどういう規則で作られてるかってのを、ちゃんと興味持って勉強できる気がする。ソースコードちょっと変えるだけでも面白そうなもの作れると思うし。こんなのとか。本当にパラメータちょっと変えてアニメーションにして適当にキャプチャしただけ。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_oxc4970ZOdY/RuqynDik7gI/AAAAAAAAALk/sJ4pxQYk6ls/s1600-h/Synthesis-2--1.gif"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_oxc4970ZOdY/RuqynDik7gI/AAAAAAAAALk/sJ4pxQYk6ls/s400/Synthesis-2--1.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5110093111240224258" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;max/msp night schoolとかもあるんだよねー。&lt;br /&gt;&lt;a href="http://alimomeni.net/MMNS-2007"&gt;2007 CNMAT MaxMSP Night School, taught by Ali Momeni | Ali Momeni&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ここに来て宿題どっさりって感じだ。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-1740015042442258274?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/1740015042442258274/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=1740015042442258274' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/1740015042442258274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/1740015042442258274'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/09/20070914.html' title='20070914'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_oxc4970ZOdY/RuqynDik7gI/AAAAAAAAALk/sJ4pxQYk6ls/s72-c/Synthesis-2--1.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-483533565294472325</id><published>2007-09-07T02:15:00.000+09:00</published><updated>2007-09-07T02:20:41.064+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='snap'/><title type='text'>snap20070906</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://flickr.com/photos/hysysk/1336424651/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px;" src="http://farm2.static.flickr.com/1370/1336424651_4b2b3700fd.jpg?v=0" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-483533565294472325?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/483533565294472325/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=483533565294472325' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/483533565294472325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/483533565294472325'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/09/snap20070906.html' title='snap20070906'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-4335462052952986109</id><published>2007-09-03T01:05:00.000+09:00</published><updated>2007-09-03T02:12:29.813+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='image'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>ppm</title><content type='html'>画像研究入門してみた。色々入門ばっかりしてる。入門のプロになりたい。&lt;br /&gt;&lt;a href="http://image.onishi-lab.jp/001.html"&gt;画像研究入門&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;portable pixelmapて名前がいい。&lt;br /&gt;&lt;br /&gt;とりあえずCでppm形式の画像を作ってみたはいいが、開けないのでImageMagickを入れる。&lt;br /&gt;&lt;a href="http://moog.blog3.fc2.com/blog-entry-318.html"&gt;Happy KARATE Mac OSX Tiger へのImage::Magick インストール&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;相変わらず不安になる文字がずらーっと。&lt;br /&gt;unixにも慣れていきたい。&lt;br /&gt;&lt;br /&gt;convert filename.ppm filename.gif&lt;br /&gt;&lt;br /&gt;でgifに変換。&lt;br /&gt;&lt;br /&gt;ToyViewerでいい気もする。&lt;br /&gt;&lt;a href="http://www7a.biglobe.ne.jp/~ogihara/software/OSX/toyv-jpn.html"&gt;ToyViewer for Mac OS X&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;cのソースを元にpythonでsketch。200*200ピクセルの画像で、1ピクセルにそれぞれr g bの値が入るので3をかけてる。最後に改行入れないとfile errorになるってとこにはまった。多次元リストでうまいことやればもっと色々描けるはず。要勉強。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_oxc4970ZOdY/Rtrucacve1I/AAAAAAAAALc/JDcQ_sC3EW4/s1600-h/test.gif"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_oxc4970ZOdY/Rtrucacve1I/AAAAAAAAALc/JDcQ_sC3EW4/s400/test.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5105655299481500498" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;size = 200*200*3&lt;br /&gt;try:&lt;br /&gt;        f = open('test.ppm', 'wb')&lt;br /&gt;        f.write('P6\n200 200\n255\n')&lt;br /&gt;        for i in range(0, size):&lt;br /&gt;                f.write(chr(i%255))&lt;br /&gt;        f.write('\n')&lt;br /&gt;        f.close()&lt;br /&gt;        print "Done."&lt;br /&gt;except:&lt;br /&gt;        print "file error"&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-4335462052952986109?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/4335462052952986109/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=4335462052952986109' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/4335462052952986109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/4335462052952986109'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/09/ppm.html' title='ppm'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_oxc4970ZOdY/Rtrucacve1I/AAAAAAAAALc/JDcQ_sC3EW4/s72-c/test.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-8915274375277184300</id><published>2007-09-02T00:16:00.000+09:00</published><updated>2007-09-02T02:27:44.497+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='typography'/><category scheme='http://www.blogger.com/atom/ns#' term='review'/><title type='text'>Electrical Tape Sign Art</title><content type='html'>修悦体、騒ぎ過ぎじゃないかと思う。&lt;br /&gt;&lt;a href="http://trio4.at.infoseek.co.jp/life/index.html"&gt;修悦体で新宿駅が便利に（佐藤修悦さんのガムテープフォントドキュメント）　トリオフォー[34]&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;独特な形に洗練された文字がガムテープで作られていたこと、それが特に専門的なデザインを学んだ訳でもない駅員の手によるものであったこと、何より好意からであったこと、は確かに驚きだったし、心温まる話であった。&lt;br /&gt;&lt;br /&gt;けど、展覧会が開かれたり、皆が駅で写真撮るようになったり、装飾が過剰になってきたり、グッズが作られていったりすると、違うんじゃないかと思う。&lt;br /&gt;&lt;br /&gt;サインとしてアイキャッチと可読性は重要だと思うし、見ていて楽しくなったりその場の雰囲気を演出してたりすれば尚いいと思う。話のインパクトとしてはそりゃあ素人が誰に頼まれた訳でもなくあんなものを作り出した方が強いとは思うんだけど、「デザイン」という観点からすれば、今の持ち上げられ方は偏ってると思う訳です。&lt;br /&gt;&lt;br /&gt;そもそもテープでサインを作ること自体は他でもやってる人はいる。勿論これらは職業デザイナーが費用対効果を考えた上で作ってるものではあるのだけど。&lt;br /&gt;&lt;a href="http://vier5.de/10/museum2.html"&gt;Vier5&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.fulguro.ch/pages/urbaines_interventions1.html"&gt;Fulguro&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;『情報デザイン 分かりやすさの設計』という本の中に、「公共情報デザインの落とし穴」というタイトルで興味深いコラムがある。&lt;br /&gt;&lt;br /&gt;"汎用のデザインは、地域固有の習慣に足下をすくわれる。しかも周囲の環境の変化に合わせて成長する余地も想定されていない。"&lt;br /&gt;&lt;br /&gt;"デザイン上の課題に直面している人々、能力のあるなしにかかわらず、維持管理の必要と欲求に突き動かされて手を下した人々から学ぶべきなのである。"&lt;br /&gt;&lt;a href="http://www.iidj.net/id-reader/"&gt;情報デザイン&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;普段使っている駅の過剰な貼紙やアナウンスは、本当に不快で排除すべきだと僕は思う。が、おそらく必要だからやっている訳で、つまりは元々のデザインが成功していないということ。それは見直されるべき問題なんじゃないか。修悦体も、公共空間におけるデザインの、ひとつの批評として受け取りたいと思う。&lt;br /&gt;&lt;br /&gt;こんな凄い人がいる、とか調べてみるとこんな面白いことがある、というのを伝えたいとか、広めることは悪いことではないと思うし、興奮を抑えるのは大変だし、受け取る側のリアクションにまではなかなか責任もとれないとは思うけど、単なる面白看板発見みたいな感じで終わるのは勿体無いと思う。マスメディアじゃないところから発信、というところも良かったのに、結局マスメディアによる報道と同じようにツーリズム的な消費がされてしまうのは残念だ(沢山見たい気持ちはわかる。Tシャツとか欲しくなるのもわかるけど、そこは大人になりましょうという話)。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-8915274375277184300?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/8915274375277184300/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=8915274375277184300' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8915274375277184300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8915274375277184300'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/09/electrical-tape-sign-art.html' title='Electrical Tape Sign Art'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-505648521607767771</id><published>2007-09-01T00:54:00.000+09:00</published><updated>2007-09-01T01:23:21.534+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='nodebox'/><title type='text'>a digital remake</title><content type='html'>&lt;a href="http://www.progetto-exp.org/?page_id=97"&gt;» A Digital Remake&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;装飾イニシャル文字をプログラムで生成。洒落た論文だな。&lt;br /&gt;これぐらいやってみたい。&lt;br /&gt;&lt;br /&gt;で、装飾に使われてるのがCornuってライブラリ。それっぽいのが簡単に作れそう。&lt;br /&gt;NodeBoxのライブラリの使い方は&lt;br /&gt;&lt;br /&gt;~/Library/Application Support/NodeBox/&lt;br /&gt;&lt;br /&gt;にフォルダごと入れてしまえばいい。もしくはスケッチと同じ階層。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://nodebox.net/code/index.php/Core_Image"&gt;Core Imageライブラリ&lt;/a&gt;とか使ったら結構簡単に面白おかしいことができるんじゃないだろうか？&lt;br /&gt;今何となくjavaでフィルタとかやってる(完全に趣味)んだけど、こっちにしようかな。python覚えたいし。&lt;br /&gt;&lt;a href="http://www.jhlabs.com/ip/blurring.html"&gt;Java Image Processing - Blurring for Beginners&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;cornuをほんの少し触ってみた。リストを入れ子にして位置指定すれば簡単。&lt;br /&gt;あとは一発でjpgなりgifに書き出せたらなー。&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;cornu = ximport("cornu")&lt;br /&gt;&lt;br /&gt;size(400, 400)&lt;br /&gt;&lt;br /&gt;path = [[(0.1,0.1),(0.15,0.3),(0.4,0.2),(0.6,0.6),(0.4,0.4),(0.5,0.4)],&lt;br /&gt;        [(0.1,0.1),(0.15,0.25),(0.4,0.2),(0.8,0.6),(0.35,0.2),(0.5,0.4)],&lt;br /&gt;        [(0.1,0.1),(0.15,0.35),(0.4,0.2),(0.8,0.6),(0.2,0.4),(0.5,0.4)]]&lt;br /&gt;nofill()&lt;br /&gt;stroke(0)&lt;br /&gt;for i in range(0, 3):&lt;br /&gt;    cornu.drawpath(path[i], tweaks=20, points=False)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_oxc4970ZOdY/Rtg_3acve0I/AAAAAAAAALU/0PcpmlYoI68/s1600-h/cornutest.gif"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_oxc4970ZOdY/Rtg_3acve0I/AAAAAAAAALU/0PcpmlYoI68/s400/cornutest.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5104900398849686338" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-505648521607767771?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/505648521607767771/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=505648521607767771' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/505648521607767771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/505648521607767771'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/09/digital-remake.html' title='a digital remake'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_oxc4970ZOdY/Rtg_3acve0I/AAAAAAAAALU/0PcpmlYoI68/s72-c/cornutest.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-4950615573531220325</id><published>2007-08-29T16:24:00.000+09:00</published><updated>2007-08-30T06:35:25.088+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='note'/><category scheme='http://www.blogger.com/atom/ns#' term='actionscript'/><category scheme='http://www.blogger.com/atom/ns#' term='opengl'/><title type='text'>note20070829</title><content type='html'>eclipse + flex 2(actionscript 3)&lt;br /&gt;&lt;a href="http://www.aaronspjut.com/mind/index.php/2007/04/24/continuous-integration-with-flex-2-actionscript-3-flexunit-cruisecontrol-apollo-and-subversion-on-os-x/"&gt;Aaron Spjut » Blog Archive » Continuous Integration with Flex 2 (Actionscript 3), FlexUnit, CruiseControl, Apollo and subversion on OS X&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;build.xmlのfailonerror="true"をなくしたらビルド通った。&lt;br /&gt;&lt;br /&gt;eclipse + CDT(C/C++)&lt;br /&gt;HelpからSoftware UpdatesのFind and Install...&lt;br /&gt;Search for new features to ins...をチェックして、Next&gt;&lt;br /&gt;New Remote Site...でNameにCDTとか名前付ける、&lt;br /&gt;URLはhttp://download.eclipse.org/tools/cdt/releases/europa&lt;br /&gt;&lt;br /&gt;OpenGL&lt;br /&gt;ProjectのPropertiesでTool settingsのMacOSX C++ LinkerからMiscellaneousを選び、Linker Flagsに&lt;br /&gt;-framework OpenGL -framework GLUT&lt;br /&gt;と追加。&lt;br /&gt;あとはこの辺で遊ぶ。&lt;br /&gt;&lt;a href="http://www.videotutorialsrock.com/index.php"&gt;OpenGL Video Tutorial - Home&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;OpenALもこんな感じでやってこう。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-4950615573531220325?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/4950615573531220325/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=4950615573531220325' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/4950615573531220325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/4950615573531220325'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/08/note20070829.html' title='note20070829'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-5167584760914682809</id><published>2007-08-20T23:22:00.000+09:00</published><updated>2007-08-31T03:34:40.551+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sound'/><category scheme='http://www.blogger.com/atom/ns#' term='openframeworks'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>pink noise</title><content type='html'>最近全く音沙汰無しとなってる&lt;a href="http://www.openframeworks.cc/"&gt;openframeworks&lt;/a&gt;を動かしてみる。&lt;br /&gt;色々面倒なことを先に設定しといてくれてて、Xcodeなど統合開発環境の使い方も慣れていないためフルスクラッチで書く時どうするのか全くノーアイディアなんだけど、サンプルからソースを読んで何かしら勉強するのと、使うとこだけに減らして何かやってみようと思った。&lt;br /&gt;&lt;br /&gt;audioOutputExampleてフォルダのプロジェクトを使います。&lt;br /&gt;サイン波とホワイトノイズを生成するサンプルで、これのソースを読めばサイン波の作り方とホワイトノイズの作り方はわかる。&lt;br /&gt;&lt;br /&gt;lAudio = new float[256];&lt;br /&gt;rAudio = new float[256];&lt;br /&gt;&lt;br /&gt;ってfloat型の配列を256個作って、audioRequested関数内のfor文で全てに値を入力してる。&lt;br /&gt;サンプルではboolean型の変数bNoiseがtrueならホワイトノイズ、falseならサイン波という感じで指定されているが、式の形は同じ。右辺をsample * volume * leftScale;とすればサイン波(すぐ上のところでphaseの値を変えつつsin()関数で値を取得しsampleに入れている)で、ofRandomf() * volume * leftScale;とすればホワイトノイズが鳴る。単にofRandomf()関数で乱数を作ってるだけ。&lt;br /&gt;&lt;br /&gt;で、今回はofRandomf()でなく、自分で関数を用意して、ピンクノイズを作ってみようと。&lt;br /&gt;&lt;br /&gt;lAudio[i] = output[i*nChannels] = pinkNoise() * volume * leftScale;&lt;br /&gt;rAudio[i] = output[i*nChannels + 1] = pinkNoise() * volume * rightScale;&lt;br /&gt;&lt;br /&gt;こんな感じでofRandomf()のように呼び出したら値を返してくれる関数を作ればいい。が、そんなものを僕が自分で作り出せる訳もないので、googleでアルゴリズムを探す。こんなん見つける。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nslij-genetics.org/wli/1fnoise/"&gt;pubs on one-over-f (1/f) noise&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;pink noiseが1/fの揺らぎでなんとかかんとかで作業に集中できるとかいう話は聞いていたが、色々変なノイズを研究してる人達がいる。&lt;br /&gt;&lt;br /&gt;そっからここに飛ぶ。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.firstpr.com.au/dsp/pink-noise/"&gt;DSP Generation of Pink Noise&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;SuperColliderの開発者であるJames McCartneyも何やらやってますね。&lt;br /&gt;The Voss algorithmてやつを使ってopenframeworksでピンクノイズを鳴らす。ホワイトノイズをソースにして低いオクターヴの連続を作っていく(?)手法。&lt;br /&gt;&lt;br /&gt;C++のクラスとかその辺のことがまだわかっておらず、processing感覚でこのままクラスを作ってインスタンス作ってpn.pinkNoise()って感じで値をとろうとしたら、errorになった。値を生成するだけのコードから移植した際に何か見落としてるのかもしれない。&lt;br /&gt;&lt;br /&gt;という訳で、特にクラスは作らずGetNextValue()関数をpinkNoise()関数として値を返してくれるような設計にする。PinkNumberクラス内のprivate変数をopenframeworksのプロジェクト内のtestApp.hのtestAppクラスにコピー&amp;ペースト。コンストラクタの中身はtestApp.cppのsetup()関数の中に。&lt;br /&gt;&lt;br /&gt;で、int GetNextValue()関数を一番下にでもコピー&amp;ペーストしてpinkNoise()って名前にしてofRandomf()をpinkNoise()にすればいけるかな。あといらないとこ消して、いるとこ残して。pinkNoise()関数はそのままだと0〜128で数値が帰ってくるので0.05fをかけてます。これは単に、音がいい感じだからってだけ。testApp.hにint pinkNoise()を宣言しておくこと。&lt;br /&gt;&lt;br /&gt;で、ビルドしたもの(build&gt;Release&gt;openFrameworks)とソースをzipで圧縮してここに置きました。キーボードの+と-で音量変えられます。&lt;br /&gt;&lt;a href="http://www.iamas.ac.jp/~poki06/noise.zip"&gt;&lt;br /&gt;noise.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;何かインタラクション仕込みたかったらmouseMoved()関数などに書けばいいかな。ドキュメントなど参照しつつ。&lt;br /&gt;&lt;a href="http://www.openframeworks.cc/documentation"&gt;openFrameworks: documentation&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ビルドしたものとソースは音に関係するとこをint型からfloat型にしてあります。グラフィックもつけてるから試せばわかるし当たり前だと思いますが、縦軸の解像度が上がって音が綺麗です。int型だと小さくブツブツ鳴ってる音がある。&lt;br /&gt;&lt;br /&gt;オーディオマニア的な世界は足を踏み入れると電源が...とか水晶が...とかこの機械で地球の磁場の歪みを補正して...みたいな世界であれですが、プログラムソースの部分でも色々言ってる人いそう...もっと深い部分でだろうけど。&lt;br /&gt;&lt;br /&gt;「ノイズの中にクリスマスソングが聴こえるんだけど聴こえる？」とか言って単なるホワイトノイズを聴かせるとほとんどの人が「聴こえる」って答えるらしい。人間はノイズの中から何らかのパターンを見いだしてしまうとか何とか。そういう傾向が強い人は何かと何かを組み合わせたり、思いもよらぬ新しい使い道を発見したりする水平思考に向いてるんだって。ピンクノイズを聴いてると作業が捗るってのはそういう意味でもあるのかも。&lt;br /&gt;&lt;br /&gt;細かい話は今後また勉強するとして、とりあえず何かしらのアルゴリズムを使ってopenframeworksでピンクノイズ(本当にそうなのか不安になってきたけど、音的にはそれっぽい)が鳴ってよかったなと。&lt;br /&gt;&lt;br /&gt;これを元に次はminimのPinkNoiseクラス作る。&lt;br /&gt;&lt;br /&gt;あと、色々な色のノイズ。&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Colors_of_noise"&gt;Colors of noise - Wikipedia, the free encyclopedia&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-5167584760914682809?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/5167584760914682809/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=5167584760914682809' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/5167584760914682809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/5167584760914682809'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/08/pink-noise.html' title='pink noise'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4293901047397216563.post-8015856818146796778</id><published>2007-08-19T00:20:00.000+09:00</published><updated>2007-08-19T02:18:08.112+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='creative commons'/><category scheme='http://www.blogger.com/atom/ns#' term='sound'/><category scheme='http://www.blogger.com/atom/ns#' term='diary'/><title type='text'>20070818</title><content type='html'>バイト先のwebができつつある。真のweb標準野郎からしたら大量失血しそうな感じかもしれないけど...。帰りにプリンもらった。いつもおいしい差し入れをいただけるので嬉しい。社食をちゃんと食べてればそこそこ野菜も採れるし。生活リズムを改善するにはちょうどよかったと思う。25分の自転車通勤もいい運動。今日は帰り道ハックがうまくいって、静かで安全な道を発見できた。ipodの音量を無駄に上げ過ぎることなく、しかも歌いたくなったら歌える。&lt;br /&gt;&lt;br /&gt;学校着くと春成さんのDVDが置いてある。東京展の前にコンペとか色々諸々あれしてるらしく曲を調整する時間がなくてどーんと提供しただけになってしまったけど、今後また何かできるといいな。&lt;br /&gt;&lt;br /&gt;早速観ようと思ったんだけど僕のマシンは壊れててDVDを読み込めないので、共有のmac miniで鑑賞しようと思ったらこんなことになってた。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_oxc4970ZOdY/RscSSKcvexI/AAAAAAAAAK4/yg_jCniQkbg/s1600-h/IMG_3184.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_oxc4970ZOdY/RscSSKcvexI/AAAAAAAAAK4/yg_jCniQkbg/s400/IMG_3184.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5100065206272228114" /&gt;&lt;/a&gt;&lt;br /&gt;マウスを動かすとこのでっかい白い四角(しかも半透明)が動く。誰かの作品かと思ったけど、何かmac本体はあれな音してるし、再起動してもまたこれがでちゃうので、一通り撮影したら仕方なく別のマシンで観ることに。&lt;br /&gt;&lt;br /&gt;で、観た！音とアニメは付かず離れずの感じで、逆に色々しなくて良かった気もする。絵がかわいいんだー。東京展(通称いまからだもんで展)行く人は観て下さい。&lt;br /&gt;&lt;br /&gt;ちょっと前に&lt;a href="http://collectapply.jp/"&gt;collect.apply&lt;/a&gt;のwebがリニューアルしてる。サーバエラー出たときとか、かっこいいんだ！しかも&lt;br /&gt;&lt;br /&gt;"Do we have to tell you not to take or use anything without asking first?&lt;br /&gt;We’re reasonable people and more than likely to help and share if we can."&lt;br /&gt;&lt;br /&gt;「事前の承諾もなしにコンテンツを持ってったり使ったりするなって僕らは君に言わなきゃなんないの？&lt;br /&gt;僕らは理解ある人間だし、それよりもっと役に立ったり分け合ったり、できることならしたいと思ってるよ。」&lt;br /&gt;&lt;br /&gt;ってね。やるー。webページ自体もナンバリングされてるし。&lt;br /&gt;&lt;br /&gt;例えば&lt;a href="http://cruel.org/jindex.html"&gt;山形浩生&lt;/a&gt;さんとか、&lt;a href="http://hippocamp.net/"&gt;hippocamp&lt;/a&gt;(久々に見たらv3.0になってた)とか、すげーと思うのは、売られてるものより質が高いんじゃないかっていうものを無料で配ること。単にお金節約できて嬉しいってんじゃなくて、お金で計れない価値を突きつけられてる気がする。何か、いいものを見たり、いい体験をする。それに対して、お金を払う。それはそれで良い。けど、そこでお金別にいらないよって言われた時に、どうすればいいんだって思う。&lt;br /&gt;&lt;br /&gt;レーベルオーナーでもあるblue sky researchのSommerbokkenはオールタイムベスト。本人は消したがってるみたいだけど...。&lt;br /&gt;&lt;a href="http://ia300131.us.archive.org/1/items/hc008/08_bsr_-_sommerbokken.mp3"&gt;Sommerbokken&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;bsrの他のお気に入り集。昔processingでsonia使って音響解析した映像作品とかもいち早く作ってたな。どうやって生活してるんだろ...。&lt;br /&gt;&lt;a href="http://ia300110.us.archive.org/3/items/hc009/01_greenishyellow.mp3"&gt;Greenish Yellow&lt;/a&gt;&lt;br /&gt;&lt;a href="http://ia300110.us.archive.org/2/items/hc015/04_northern_rainy_city.mp3"&gt;Northern Rainy City&lt;/a&gt;&lt;br /&gt;&lt;a href="http://ia300111.us.archive.org/2/items/hc015/happy_samantha_live.mp3"&gt;Happy Samantha Live Version&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;さすがに時代を感じる音ではあるけど、僕は未だにほわーんて感じのシンセ、ビート、ちょっとボイスサンプルってのに弱いみたいです。Happy Samantha Live Versionはアルス行った時に調子乗ってバーで人生で初めてDJ(itunesのプレイリストかけただけ)した時にかけて盛り上がった。daito君がめっちゃ酔ってHow deep is donau? How deep is my love?とかいうラブレター書いた可愛い店員さんが踊ってたのを思い出す(確かにすげー可愛かった!)。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4293901047397216563-8015856818146796778?l=hysysk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hysysk.blogspot.com/feeds/8015856818146796778/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4293901047397216563&amp;postID=8015856818146796778' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8015856818146796778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4293901047397216563/posts/default/8015856818146796778'/><link rel='alternate' type='text/html' href='http://hysysk.blogspot.com/2007/08/20070818.html' title='20070818'/><author><name>hysysk</name><uri>http://www.blogger.com/profile/02719992301768245669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_oxc4970ZOdY/SxkSN7W3xPI/AAAAAAAAAX8/lgFeKheBeRI/S220/h.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_oxc4970ZOdY/RscSSKcvexI/AAAAAAAAAK4/yg_jCniQkbg/s72-c/IMG_3184.JPG' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
