2008-03-27[n年前へ]
■MacBookの加速度センサをMathematicaで使う
Ver.6 では、ノート型 Macintoshの傾斜センサ値を Manipulate 関数の入力として 使うことができる、という話。
下記を評価して,表示される出力セルをマウスで選択してから,MacBook を傾けるとリアルタイムで反応します。加速度センサの情報は、
pt = v = {0, 0};
rng = 10;
rad = 3;
k = 0.7;
ControllerManipulate[ v += -0.03 {Sin[px Pi/4], Sin[py Pi/4]};
pt += v;
{pt, v} = Transpose[MapThread[ If[#1 >= rng, {rng - k (#1 - rng), -k #2}, If[#1 <= -rng, {-rng + k (-rng - #1), -k #2}, {#1, #2}]] &, {pt, v}]]; Graphics[{Circle[{0, 0}, rad], If[Norm[pt] < rad, Hue[0.65], Hue[0]], PointSize[0.04], Point[pt]}, ImageSize -> 200, PlotRange -> rng], "X" -> {{px, 0}, -1, 1}, "Z" -> {{py, 0}, -1, 1}, ControllerMethod -> "Absolute", ControllerPath -> "Sudden Motion Sensor"]
ControllerInformation[]でわかるという。
■Powered
by yagm.net