ハードウエアに依存する部分はNorman Franke氏の作ったSoundAppやSteve Bird氏のSoundViewでしのいできた(両氏に感謝!)が、VIとしてはつぎはぎの感が除ききれない。振り返ってみると、まとまったVIはできなかったが、23話から9回にわたって続けてきた成果として次のような小物ができあがった。
グラフからカーソルで興味のある部分のみを切り出す方法(第24話)
グラフ表示の間引き方の例(CompactGraph.vi-第25話)
.auファイルのread/writeに関連してヘッダー付きのバイナリファイルの読み書きの方法(AU_Sound.llb-第26話から第28話)
FFTの窓関数(第29話)
データのスムージング(smoother.vi-第30話)
自動ピーク検出の方法(PeakFinder.vi-第31話)
さて、気分を変えてみよう。
LVと他のアプリケーションの関係を考えると、データ収集と解析はLVでやって、表示やレポート作成はエクセルにデータを渡すというのが一般的な使い方だろう。データの表示方法のなかで2次元データの立体表示はデータ全体の様子を視覚化する上で有効というだけでなく、なにかすごいことをしてるんだぞ、と威嚇する効果もある。少しうっとおしさを我慢する必要があるが、ビルゲーツの指示にしたがえば簡単に作ることができる。
とはいえ、たまにはLVで立体表示する必要があるかもしれない。そんなときは3D_Graph.llbを使ってみよう。これは、3年前に大橋が作ったVIだが、LVUG-Jで配付されていた。その当時に比べてCPUパワーが格段に強力になっているから腕づくのVIでも気持ちよく動くようになっている。
CPUパワーに余裕がでてくると無駄遣いしたくなるのがプログラマーの本能か! 作られてから3年以上たっているし、LV4でのプロファイル機能でぜい肉を取り去って、作者も気にしていたメッシュのほころびを繕ってみようと思う。サウンドは未完のまま投げ出したばかりだから、どこまでできるか分からないが、、、
3D_Graph.llbでは特に変わったことはしていない。BasicやCなどでのプログラム例はゴロゴロしている。このVIの機能をReadMeファイルから紹介してみよう。
(機能)
データを2方向に回転して表示することが可能です。
単純表示と隠線処理を行った表示の選択が可能です。隠線処理とは表示されているものの裏側で本来見えない部分は描画しないように工夫した処理のことです。68030/25MHzのMacでの表示時間は、単純表示の場合は17sec、隠線処理表示の場合は118secでした。
描画色を選択することができます。LVのデフォルトは白なので、赤を選択すると一度白で描画した後で赤に塗り替えるため、なんと3分40秒余分にかかることになります。(やり方がまずいかもしれません。うまい方法を知っている方がいらしたら教えてください。)ただし、2回目以降はグラフをクリアしない限り描画色の書き換え時間はかかりません。(時間測定は50×50のSinc関数データを使用しました。)
さて、次回はこのVIの構成を調べてみよう。