2012.01.21 | 

だいぶ遅くなりましたが、ようやくキネクトいじれるようになりました。
とりあえず今回はOpenNiを利用したCinder-Kinectを使用してみました。

getDepthImage()で640x480のグレースケールの深度イメージが取得できます。
getDepthData()で最大0xffffまでの数値が640x480個の配列で取得できます。
有効距離はだいたい1m〜10m程度(?)
近すぎると正確なデータが返ってきません。
getDepthData()で取得したデータを映像化してみました。
.H264のmovをvimeoにアップしてみたんですが、
画質の劣化の凄さにびっくり。
アップするときに設定とかあるのかも。
初vimeoなのでよくわかりませんでした。

2012.01.11 | 

こんばんはmuchoです。
今日知ったんですが、addFrameScriptなる隠しメソッド?
があるとのこと

public function addFrameScript(frame:uint, notify:Function):void

言語バージョン : ActionScript 3.0
Playerのバージョン : Flash Player 9

指定したフレームにスクリプトを追加します。

こんな技が・・・もしかして使うかも?
ラベルでも飛びたいだろうということでクラスを作ってみました。
AddLabelScript.as



package  
{
	import flash.display.FrameLabel;
	import flash.display.MovieClip;
	import flash.display.Scene;

	public function AddLabelScript(mc:MovieClip, label:*, func:Function = null, arg:Array = null):void
	{
		var frms:Array = [];
		var f:Function;
		if(func != null){
			f = function():void{ func.apply(mc, arg); };
		}

		if (label is Number) {
			frms.push(int(label));
		} else if(label is String) {
			var ss:Array = mc.scenes;
			for each(var s:Scene in ss) {
				var ls:Array = s.labels;
				for each(var l:FrameLabel in ls) {
					if (l.name == label) {
						frms.push(l.frame);
					}
				}
			}
		}

		for (var i:int = 0; i < frms.length; i++ ) {
			var frm = frms[i];
			if (frm > 0 && frm <= mc.totalFrames) {
				mc.addFrameScript(frm, f);
			}
		}
	}
}

使うときは
AddLabelScript(this, "label1", function() {
	trace("label1 is "+ currentFrame);
});
とか
AddLabelScript(mc, this.totalFrames, function() {
	trace("last frame");
	this.stop();
	//ここでのthisはfunctionを埋め込んだmc
});


2012.01.07 | 

This movie requires Flash Player 9

今回はいまさら感たっぷりな話です。おとなしくFROCESSING使えよって話です。
そんな話なんですが、こんばんはmuchoです。
RGBを個別に設定したり、16進数で設定したり、
その逆がしたかったりしたのでColorクラスなんぞ作ってみました。
欲を出してついでにHSVで設定したり、
その逆も出来るようにしてみようとしたら
ちょっとはまりました。
はまったのはHSVからRGBに変換するところです。
(続きを読む...)

2011.12.02 | 

こんばんはmuchoです。
FlashPlayer11が出てから、Stage3Dをあれこれいじってます。
そんなこんなでAway3D4.0でjiglibとBulletの速度比較できるような
サンプルを作ってみたのでレポートをば。

[jiglib]


50個


200個



[bullet]


50個


200個



(続きを読む...)

2011.11.28 | 

こんにちはmuchoです。
見つけてきたのはkaminalyなんですが、
Mr.Doobのthree.jsを使ったコンテンツで
「おっ」と目を引くサイトがあったのでご紹介。


Martin's Hopalong Orbits Visualizer
気になるのが、描画アルゴリズム。


(x, y) -> (y - sign(x)*sqrt(abs(b*x - c)), a -x )
where a, b, c are random parameters.

なんと1行!
Hopalong Attractorというアルゴリズムだそうです。