2009-08-06[n年前へ]
■エクセル2007で綺麗なグラフ動画を作る テクスチャマッピング円グラフ(リベンジ)編
「エクセル2007で綺麗なグラフ動画を作る テクスチャマッピング円グラフ編」では、作成した円グラフ動画の縦横比・大きさが変化してしまい、綺麗な動画になりませんでした。そこで、今回は再度チャレンジし、今度こそ、綺麗なテクスチャ付き円グラフ動画を作ってみることにしました。それが下に張り付けた2つの動画です。
最初(上側)の動画は、普通にテクスチャマッピングして、円グラフの各要素を切り離して回してみたものです(この動画はYoutubeに上手くアップロードできなかったせいか、途中画面の下側が変になっているようです)。そして、次(下側)の動画は、各要素をくっつけた状態で各要素に透過度をつけ透けさせてみた円グラフになります。
今回は、ようやく綺麗な「テクスチャマッピング円グラフ動画」を作ることができたような気がします。
(私がエクセルを使い慣れていないため、こう感じるのかもしれませんが)エクセルは繰り返し作業を簡単に効率化することができないため、私はあまり好きではありません。けれど、Excel 2007のグラフ機能を眺めていると、どれだけ綺麗なグラフを簡単に作ることができるか、これからも引き続き挑戦してみたくなります。
参考までに、テクスチャマッピング付き棒グラフ動画もExcel 2007で作ってみました。それが下に張り付けた動画です。結構綺麗で見とれてしまったりしますね。
2009-09-13[n年前へ]
■エクセルで「ランダム・ウォーク」アニメーション
「Excelでランダム・ウォークを計算させ、アニメーションさせる」と結構気持ちが良いものです。下の動画は、Excelで50個の粒子をランダム・ウォークさせている動画です。動画が始まって数秒した辺りから、計算が始まり、粒子がブルブル振動しながら拡散していきます。
この計算・グラフ表示は、(マクロ機能は使わずに)Excelの反復計算機能を用い、反復計算の回数は1回、計算タイミングは手動し、F9キーを押しっぱなしにすることで、行っています。Excelファイルは、RandomWalk.xls(35kB)としてダウンロードできるようにしてあるので、それで実際に試すことができるようになっています(反復計算の設定は上記通りにしておいてください)。
計算の中身は、各粒子のX,Y座標を示すセルに対し、(単純に書くと)「自分のセル=自分のセル+乱数(-0.5~0.5)」と入力してあるので、反復計算を1回するたびに、各セルの値が少しランダムに動いていく・・・という具合です。
最左上のセルは、計算内容をリセットするためのフラグです。0を入力して、F9を一回押すと、計算内容がリセットされます。ランダムウォークの計算をする時には、この最左上セルに1を入力し、F9を押せば(押し続ければ)刻々と計算が実行され、グラフ上でランダムウォークのアニメーションを眺めることができます。最左上のセルの値を「各粒子のX,Y座標を示すセル」にかけているので、(反復計算を行った後でも)計算内容のリセットを行うことができる、というわけです。
Excel作業につかれたとき、粒子たちに「ランダム・ウォーク」をさせ、プルプル震えながら動いていくようすを眺めてみると、何だか少し疲れがとれるかもしれません。
2009-10-13[n年前へ]
■電界分布の動画撮影用カメラが登場
「駆け出しのアナタにも電波の動きが見える,電界分布の動画撮影用カメラが登場」というニュース。現状の2万フレーム/秒での撮影では、「電波の動き」というと少し違うような気もしてしまうけれど、将来的には面白いニュース。
今回のカメラは,単結晶のZnTe(テルル化亜鉛)の屈折率が電界によって変化することを利用する。その仕組みは以下の通り。ZnTe結晶の上に,観察したい回路を置く。回路に由来する電界により,ZnTe結晶の屈折率が部分的に変化する。ZnTe結晶の窓の下から波長780nmのレーザ光を照射してその反射光をCMOSセンサで撮影することで,ZnTe結晶の屈折率の変化をコントラストの変化として記録し,画像処理してモニタに表示する。デモンストレーションでは,電界(+,-),強度(絶対値),位相を白黒で表示して見せた。
2009-12-04[n年前へ]
■Thinkpad 加速度センサでExcel3次元グラフを未来のディスプレイ風にしよう
Ruby版 Thinkpad 加速度センサ類取得クラスを作ったので、さっそく何か加速度センサを使って遊んでみることにしましょう。まずは、とても簡単に「未来のディスプレイ」を作る風のことを、Ruby+Microsoft Excelで行ってみることにしましょう。
というわけで、Thinkpadを傾けると、それに応じてエクセルの三次元グラフを(傾けた方向に応じた)さまざまな方向から眺めることができるという次のようなスクリプトを書いてみました。
このスクリプトはまずエクセルで(適当な値を代入した)三次元グラフを作成し、(その後の30秒間にあなたがグラフを色々カスタマイズする時間を与えた上で)、30秒経た後にThinkpadの傾きに応じて三次元グラフを好きな方向からリアルタイムにグリグリ動かしながら眺めることができる、というスクリプトです。(動画は「Thinkpad 加速度センサ+RubyによるExcel3次元グラフ動画」で観ることができます)
require 'accelerometer' require 'win32ole' excel=WIN32OLE.new("excel.application") excel['Visible']=TRUE excel.Workbooks.Add() excel.Range("a1")['Value']=1 excel.Range("a2")['Value']=1 excel.Range("a3")['Value']=1 excel.Range("a4")['Value']=1 excel.Range("b1")['Value']=1 excel.Range("b2")['Value']=2 excel.Range("b3")['Value']=2 excel.Range("b4")['Value']=1 excel.Range("c1")['Value']=1 excel.Range("c2")['Value']=3 excel.Range("c3")['Value']=2 excel.Range("c4")['Value']=1 excel.Range("d1")['Value']=1 excel.Range("d2")['Value']=1 excel.Range("d3")['Value']=1 excel.Range("d4")['Value']=1 excel.Range("a1:d4").Select() excelchart=excel.Charts.Add() excelchart['Type']=-4100 sleep 30 # wait time for custumize accelerometer=Accelerometer.new 300.to_i.times do accelerometer.getAccelerometerData x=accelerometer.x y=accelerometer.y r=Math.sqrt(x*x+y*y) elevation=90-r.to_i rot=360-(Math.atan2(y,r)+Math::PI)/(2*Math::PI)*360 excelchart.rotation=rot # 0 to 360 excelchart.elevation=elevation # -90 to 90 sleep(0.2) end excel.ActiveWorkbook.Close(0) excel.Quit()このスクリプトを動かせば、Thinkpadを傾ければ、低い角度からグラフを眺めたり、左右に倒せば左右の異なる方向からグラフを眺めたりする…ということができます。「未来風」かはさておき、現実世界で行う動作に適切に対応した動作、つまりは「実感・体感できる」ソフトウェアを作る、というのは何だかとても面白いものです。
今回作ったスクリプトを動かしているようす、Thinkpad+Ruby+Microsoftエクセルでグラフを未来風にグリグリ動かしている様子を撮影した動画は、「Thinkpad 加速度センサ+RubyによるExcel3次元グラフ動画」として、公開しました。
2009-12-05[n年前へ]
■Thinkpad 加速度センサ+RubyによるExcel3次元グラフ動画
「Thinkpad 加速度センサでExcel3次元グラフを未来のディスプレイ風にしよう」を操作しているようすを、ケータイのカメラで撮影してみました。それが、下の動画になります。Ruby版 Thinkpad 加速度センサ類取得クラスを使い、Excel 2007のグラフを視点を操作している、という具合の動画です。パースペクティブを適切につけておくと、上下方向の視線移動に関してはかなり自然に眺めることができます。(この動画実行のためのRubyソースは上記記事を参照してください)
Excelの三次元グラフが、ElevationとRotationという、天頂近くで精度が低下しやすい座標指定方式なのと、Thinkpadの加速度センサが2軸方式で、鉛直線中心の回転を取得することができなかったりするところが(東芝のPCなどでは3軸取得が可能だったりするのですが)、「少しの変さ」をかもしだしていたりしますが、そこはそれ、Microsoft ExcelのグラフをノートPCの方向を変えると、それに応じた色々な方向から眺めることができる、というのは何だか面白い、とは思いませんか?