link

1/9/2012
21 notes Permalink

radiumsoftware:

navgrid

Digesting Duck: Loose Navigation Grid

NavMesh ではない、「ナビゲーション・グリッド」による経路探索の可能性について。

レベルを適切な大きさのボクセルに分割し、その各々のボクセルの中でハイトフィールドによる移動可能範囲の特定を行う。あとはボクセル同士の接続情報を構築することによって、ナビゲーション情報が完成するというわけ。

Mac で動作するデモ付き。現状ではナビゲーション情報の生成まで実装が済んでいて、これを使った経路探索処理については今後実装する予定とのこと。

この手法は NavMesh…

photo

10/11/2011
436 notes Permalink

ruiueyama:

ベジェ曲線をHTMLのCanvasタグを使って自分で描画してみた。上の画像はそれをGIFアニメーションにしたもの。
ベジェ曲線というとコンピュータ上で見かける滑らかな曲線の代表的なもので、3次ベジェ曲線では4つの制御点でひとつの曲線が定義される。最初と最後の制御点は始点と終点を表していて、残りの二つの点の置く場所によって曲線の向かう方向とその勢いを制御することができる。
いままでベジェ曲線の理解はあやふやだったのだけど、Wikipediaの説明を読んで自分で描画してみたら意外と簡単だった。

ruiueyama:

ベジェ曲線をHTMLのCanvasタグを使って自分で描画してみた。上の画像はそれをGIFアニメーションにしたもの。

ベジェ曲線というとコンピュータ上で見かける滑らかな曲線の代表的なもので、3次ベジェ曲線では4つの制御点でひとつの曲線が定義される。最初と最後の制御点は始点と終点を表していて、残りの二つの点の置く場所によって曲線の向かう方向とその勢いを制御することができる。

いままでベジェ曲線の理解はあやふやだったのだけど、Wikipediaの説明を読んで自分で描画してみたら意外と簡単だった。

(via kei-28)

video

10/3/2011
6 notes Permalink

link

9/30/2011
157 notes Permalink

radiumsoftware:

データの視覚化に色を使うなら、HSV色空間よりもL*A*B*色空間がオススメ、という話。このページで見比べてみるとよく分かるけれど、HSV色空間だと知覚される明暗にムラができてしまう。なるほど。

link

9/27/2011
57 notes Permalink

radiumsoftware:

Soft maximum 関数というものがある。簡単に言えば「なだらかな max 関数」だ。下のグラフのような曲線を描く(角張っているのが普通の max 関数)。

Soft maximum

式も簡単だ。次のようなシンプルな式で表される。

softmax(x, y) = log(exp(x) + exp(y))

これをちょっといじくって次のようにすれば “soft minimum” 関数も実現できる。

softmin(x, y) = -log(exp(-x) + exp(-y))

Soft minimum

更にこのふたつを組み合わせれば “soft clamp” 関数も可能だ。

...
link

7/24/2011
51 notes Permalink

radiumsoftware:

Software exoskeletons - The Endeavour

Dr Octopus

「科学者」の書くプログラムと、「プログラマー」の書くプログラムの間には、ある考え方の違いがある。

科学者にとってのプログラムとは、自分の力を増強するためにある外骨格のようなものだ。あくまでも作業の中心には自分が関わることを前提としており、その道具としてプログラムを書く。

プログラマーにとってのプログラムは、それ自体がある種の知性を含んでおり、他人に引き渡せるような状態のものだ。それはプログラマーにとっての外骨格ではなく、自立して動くロボットのようなものだ。

photo

7/23/2011
Permalink

picgames:

ついに EagleUp がver4で神アプリ領域に!! Eagleのボードでulpを動かして SketchUp で読み込むだけでここまでOK! あとはパーツを載せるだけだ。これからはガーバービューワーじゃなくて SketchUp で確認しよう。基板の裏表の間違いが多いから、これで一発でわかるよ!!

picgames:

ついに EagleUp がver4で神アプリ領域に!! Eagleのボードでulpを動かして SketchUp で読み込むだけでここまでOK! あとはパーツを載せるだけだ。これからはガーバービューワーじゃなくて SketchUp で確認しよう。基板の裏表の間違いが多いから、これで一発でわかるよ!!

(via garamoba)

link

6/18/2011
59 notes Permalink

radiumsoftware:

(この記事にはProcessing.jsによるスケッチがいくつか組み込まれています。環境によっては正しく再生されないかもしれません。Chrome, Safari, Firefox等の使用をおすすめします。)

「丸が1秒おきに左右に滑らか動く」というプログラムを書いてみよう。いちばん簡単なのは、線形移動を使う方法だ。

まあ、これでも十分っちゃ十分なんだけれど、動きとしてはちょっと味気ない。

いわゆるイーズアウト(ease out)を使えば、これを滑らかにすることができる。

上のスケッチでは、漸化式を使ったイーズアウトを実装している。こんな感じの式だ。

link

6/18/2011
20 notes Permalink

radiumsoftware:

http://polycode.org/

Polycodeはクリエイティブ・コードのためのフレームワーク……要するにProcessingのようなものだ。基本はC++で作られているのだけれど、Luaによるスクリプティングも使うことができるという点が、大きな特徴としてあげられる。

一通りの2D, 3D描画の機能を備えているほかに、Box2D, Bulletによる2D, 3D物理シミュレーションも使うことができる。ボーンアニメーションやパーティクルシステムなど、凝った効果を作り出すのに必要な機能を備えているのも魅力だ。

photo

6/18/2011
58 notes Permalink

radiumsoftware:

Rutt-Etra-lzer: Airtight Interactive
画像をドラッグ&ドロップするだけでRutt/Etraビデオ・シンセ風のエフェクトを作り出してくれるページ。WebGLを使って実装されている(ゆえにWebGL対応のブラウザじゃないと動かせない)。カッコイイ。
セットアップは少し重いけれど、その後の動きは快適。JavaScript/WebGLと言えども、いったんVBOを作ってしまえば、あとのパフォーマンスなんてどうとでもなる、といった感じか。
これを作るのに使われているthree.jsというエンジンも面白そうだ。
(via CreativeApplications.Net)

radiumsoftware:

Rutt-Etra-lzer: Airtight Interactive

画像をドラッグ&ドロップするだけでRutt/Etraビデオ・シンセ風のエフェクトを作り出してくれるページ。WebGLを使って実装されている(ゆえにWebGL対応のブラウザじゃないと動かせない)。カッコイイ。

セットアップは少し重いけれど、その後の動きは快適。JavaScript/WebGLと言えども、いったんVBOを作ってしまえば、あとのパフォーマンスなんてどうとでもなる、といった感じか。

これを作るのに使われているthree.jsというエンジンも面白そうだ。

(via CreativeApplications.Net)