タグ

ブックマーク / kzr-2.hatenadiary.org (6)

  • openFrameworksでiPadアプリを作る - Radium Software

    openFrameworksは、なんだかごちゃごちゃっとしているけれど、使って楽しいフレームワークだ。Processingの思想を受け継ぎつつも、「もしProcessingがC++だったら、もっと色々なことが派手にできるぜ!」という奔放さを持ち合わせているような感じがする。 openFrameworksにはWindows版、Mac版、Linux版の他に、iPhone版が用意されている。iPhone版は少しビルド設定を変更すればiPadアプリの制作に利用することもできる。 上のビデオは、試しにopenFrameworksを利用して作ってみたiPadアプリの例だ。オーディオ入力レベルを算出し、それに比例した量で画面上のテキストを歪ませている。openFrameworksを使ってこんな感じのスケッチを作るのは非常に簡単だ。このスケッチのソースコードも60行程度しかない。 ごちゃっとしていて、ふわ

    openFrameworksでiPadアプリを作る - Radium Software
  • 最新Cコンパイラーの最適化事情 - Radium Software

    State of the art C compiler optimization tricks, Felix von Leitner, Linux Kongress 2009. 最近のCコンパイラーの最適化能力についてまとめたプレゼンテーション。定数の扱いやインライン展開などの基的な項目から始まって,分岐の削除やベクトル化, SIMD 化など,最新のコンパイラーに搭載されている様々な機能について調べている。 この手の分岐の削除はほとんどのコンパイラーで有効らしい。 ベクトル化については gcc がだいぶ頑張っている印象。 「gcc は全プラットフォームにおいてビデオコーデックプログラマーより賢い」 これらの最適化が実際のコードでどのように機能するか気になって逆アセンブリコードを覗いてみる人も少なくないと思うけれど,それを代わりにやってくれた感じだ。この手の話題に興味がある人ならば,目を通

    最新Cコンパイラーの最適化事情 - Radium Software
    Watson
    Watson 2009/12/27
  • JavaScript によるオーディオ&ビジュアルプログラミング - Radium Software

    僕は JavaScript が好きだ。できるだけ多くのことを JavaScript で済ませてしまいたいと考えている。 以前は JavaScript では絵や音を扱うことができないという点がボトルネックになって,応用の幅を狭めていた。これが最近になると, Canvas 要素のおかげで絵を扱うことができるようになったり, Flash を代行役にすることによって音を出せるようになったりと,いろいろ状況が変わってきている。 そこで今回は,以前から機会があれば触ってみたいと思っていた Processing.js と SoundManager 2 を使って, JavaScript によるオーディオ&ビジュアルプログラミングに挑戦してみた。 Processing.js とは Processing.js は,ビジュアルデザイン向けプログラミング言語 Processing を模して作られた JavaScr

    JavaScript によるオーディオ&ビジュアルプログラミング - Radium Software
  • アポロ11号のソースコード - Radium Software

    Google Code Blog - Apollo 11 mission's 40th Anniversary: One large step for open source code... アポロ11号の月面着陸から40周年ということで,最近やたらとアポロ計画関連の話題を見かける。そんな中,アポロ計画にちなんだ話題として Google Code Blog に投稿されたのが上のエントリー。 Google Code 上で公開されている Virtual AGC and AGS プロジェクトの中に, NASA のハードコピーから転記された物の AGC (アポロ誘導コンピュータ)のソースコードがありますよ……とのこと。 このソースコードには,オリジナルのアセンブリコードに記されていたラベルやコメントまでしっかり転記されている。それらの記述に目を通していると,そのコードを書いた人の考えや気持ちが伝

    アポロ11号のソースコード - Radium Software
    Watson
    Watson 2009/07/28
  • オーディオプログラミング言語 ChucK - Radium Software

    オーディオプログラミング言語 ChucK を使って組んでみたサンプルプログラムの映像。 最初のプログラムは,1度,短3度,5度,短7度の音(つまりマイナーセブンスコードの構成音)からなるランダムなシーケンスを延々と鳴らし続けるもの。 二番目のプログラムは,構成音は最初のプログラムと同じだけど,ただランダムに鳴らし続けるのではなく,簡単な繰り返し構造を持たせるようにしたもの。最初のプログラムよりも,いくぶん音楽的な要素が加えられていると思う。 ChucK は,こういった類の実験を行うには非常に適した言語だと思う。上の二番目の例では,プログラムを動かしている最中に変更を加え(繰り返しの構成を変えてみている),それを「オン・ザ・フライ」で再実行している。同様のことは SuperCollider などでもできるけれど, ChucK は仕様の簡潔さと,統合環境 (miniAudicle) の手軽さが

    オーディオプログラミング言語 ChucK - Radium Software
  • 未初期化メモリを使う方法 - Radium Software

    research!rsc: Using Uninitialized Memory for Fun and Profit N個のフラグを扱う場面があるとする。まず,こんな感じで書き始めることになると思う。 bool flags[N]; for (int i=0; i<N; ++i) flags[i]=false; もしこのとき,Nがものすごく大きかったら……フラグをクリアする処理だけで,結構な時間をってしまうかもしれない。 そんなときのために編み出されたのが,上のエントリーで紹介されているアルゴリズム。二つのテーブルを組み合わせて使うことにより,メモリを未初期化のまま使うことを可能にしている。 未初期化のメモリへのアクセスなんて,それ自体が不正なことのように感じられるかもしれないけれど,たまには未初期化のまま使ってみるのもオツなものですよ……という話。実用性については,正直なところあまり無

    未初期化メモリを使う方法 - Radium Software
  • 1