可視化情報シンポジウム(7/24(火)~26(木),工学院大学新宿校舎)
http://www.visualization.jp/event/detail/2007.html
のOS2 「サイエンティフィックアート」
武居昌宏(日大),藤沢延行(新潟大),白山晋(東大)
にて講演を募集しています.
なお,サイエンティフィックアートとは,
http://www.vsj.or.jp/scivis/
にある研究会の趣旨を読んでも,模索段階にあることがわかります.また,適用分野だけではなく,従来の可視化,あるいはCGとは異なる,新しい何かが必要な気がします.
芸術は,http://ja.wikipedia.org/wiki/%E8%8A%B8%E8%A1%93に,「表現者あるいは表現物と,鑑賞者とが相互に作用し合うことなどで,精神的・感覚的な変動を得ようとする活動」とあります.中でもArt(アート)は人工のもの,そして技術に近い言葉であったことは知られていることです.
また,ダビンチを持ち出すまでもなく,科学と芸術は渾然一体であるという側面があります.またどちらかに目を転じたとしても,科学と芸術の狭間が存在しつつも明確な仕切り線を見出すことはできないのではないか(分析が難しい相互作用が存在する),と思われます.モデリングの立場では,科学は客観的,芸術は主観的で区別されますが,モデリングの起点となる仮説には主観が入ることもしばしばあります.
そのような主観の存在と,相互作用というのが鍵になるのでしょう.実際のところは,ボトムアップ的にサイエンティフィックアートという領域が形成されていくのではないかと考えています.
是非,加担してください.
PS3のプログラミング記事を続けようと思ってはいるのですが.
諸般の事情(ブログでプログラムを例示することには限界がある,この時期はとても忙しい,ネタ切れ・・・etc)のため,プログラムはHPで紹介します.
http://www.race.u-tokyo.ac.jp/~DVE1/lecture/
実は講義用のHPなのですが,Javaは一般的なものにしてほしいという想いもこめられています.
PS3でプログラミングが楽しめる→ユーザが増える,というようなシナリオにおいて問題となるのは,独自プログラミング言語の提供の是非です.
教育の現場でプログラミングを教えるものとしては,ベースは既存の言語を用いて,ハードウェアに依存する部分をクラスライブラリのような形で提供してくれるのが有り難いのです.
例えば,Javaでのマウス操作の基本となるプログラムに以下のようなものがあります.MouseAdaptorに相当するところを提供してくれるのが望ましいのです.ただ,下のプログラムは,応用性に乏しいので,もう少し遊べるものを次回紹介します.
(PS3から離れつつありますが・・・,続く)
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//
public class Mouse extends JFrame{
MyPanel mp = null;
Mouse(){
mp = new MyPanel();
Container c = this.getContentPane();
c.add(mp);
}
public static void main(String args[]){
Mouse jf = new Mouse();
jf.setSize(640,480);
jf.setTitle("swing demo2");
jf.addWindowListener(
new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
);
jf.show();
}
//inner class P
class MyPanel extends JPanel{
int ixo,jyo;
int ixm,jym;
MyPanel(){
setBackground(Color.lightGray);
ixo = 320;
jyo = 240;
ixm = ixo;
jym = jyo;
MyMouse mm = new MyMouse();
addMouseListener(mm);
}
public void paintComponent(Graphics g){
super.paintComponent(g);
myDrawing(g);
}
public void myDrawing(Graphics g){
g.setColor(new Color(255,250,0));
g.drawLine(ixo,jyo,ixm,jym);
g.setColor(new Color(128,50,255));
g.drawString("M",ixm,jym);
}
//inner class P-M
class MyMouse extends MouseAdapter{
MyMouse(){
}
public void mousePressed(MouseEvent e){
ixm=e.getX();
jym=e.getY();
mp.repaint();
}
}
}
}
作り方の基本や,基本文法を覚えることは重要ですが,実のところ,講義(90分程度の座学と90分程度の慣れのための演習)としては4回分くらいで十分ではないかとも考えています.その後,何が必要か?
応用であることは確かです.ですが,応用にはプログラミング以外の知識が必要になります.このため,適当に題材を決めて進めることになりますが,教えられる側は通常は混乱します.応用する対象自身がわからないというのが主な理由です.結局,様子をみながら,基本的な4回分の内容を,演習を中心に3~4回繰り返すことになるのです.しかし,基本文法を覚えるための演習では,本当の面白さを伝えるには限界があります.正直教えていても疑問に感じていることでもあります.
前置きが長くなってしまいました.
言いたいことは,基本的な書き方や基本文法は必要である,それに,「プログラミングという遊び」の要素を加えるためには,ゲーム機を対象としたプログラムが適しているのではないかということです.
確かに,デバイスに関連する部分をプログラムで扱うことは難しいのですが(プログラミングの基礎を逸脱する),その部分を,クラスライブラリのようなもので提供してもらえると,「遊びの中にプログラミングが入っていく」のではないかと考えています.機種に特化すればなんとかなるのではないでしょうか.例えば,コントローラであれば,マウスと同じ仕様のクラスにできるような気がします.
(続く)

計算できるものが出れば,それを使ってみようと思うのは計算屋の本能のようなもので,新しいゲーム機が出ればそれで,携帯でも計算を行うという人がいます.遊びの部分,あるいはシャレのようなところがあって,実用に供するというようなものは少ないのですが.
PS3に関しては,ちょっと期待しているところがあります.計算のためというよりは,映像制作用としてです(ハイビジョン映像を作って,大画面TVでみるということです). 15年以上前になりますが,当時いた会社で,ハイビジョンのシステムを導入しました.そのときのインパクトは大きかった.それが手軽にできるとなれば,ということです. 展開があれば,可能な範囲で報告します.

第20回数値流体力学シンポジウム
<2006年12月18日(月)~20日(水) @名古屋大学>
にて,小紫@日大さんと「物体周りの流れ」というOSを企画しました.
http://www.nagare.or.jp/cfd/cfd20/
可視化も重要なテーマです.是非スケジュールに加えてください.
計算格子というOSもあるのですが,物体周りの流れ場を解くための工夫と,その結果といった,格子生成法+流れ場の解析のようなものも,OS「物体周りの流れ」の方への投稿も考えていただけるとうれしいです.
このOSに関するご意見等ありましたら,コメントに書いていただけると助かります.
なお,スパム対策のため,すぐに反映されない場合もありますがご容赦ください.
さて,大規模性に起因する問題や,協調的な処理を,情報工学や知識工学からみたときの現状を一言でいえば,「未来に託す」という言葉が思い浮かびます.消極的な意味ではなく,積極的にです.
とにかく,使えそうなデータは,できるだけきれいな形で残そう,という気運があります.きれいな形(主として機械処理し易いということ)で残すこと,これが意外と難しく,かつ面白いのです.
書籍・知的可視化の中では,データ→情報→知識への変換ということを述べたのですが,これには注意が必要です.データの中には,思いも寄らぬ知識になる種が含まれているということです.
例えば,データを可視化ソフトに受け渡し,可視化ソフトの機能を使い,可視化を行ったとします.いくら自動化が進んでいるとはいえ,何も考えずにやることはないと思います.また,仮に何も考えずに可視化したとします.出てきた可視化結果の評価はどうか(どうだったのか),判定は単純ではないと思います.データ処理の裏側,可視化結果の判断等に,可視化対象となるデータ以外のデータ・情報・知識が存在するということです.
そういったものを,どうやって取得し,どうやって残すのか? 可視化対象となるデータが存在する分野(領域)の知見が必要になるでしょう.可視化研究の種の一つがここにあります.