2000年5月31日更新(新規作成)
  関谷トップページへ CGトップページへ   作者へのメッセージ

図形処理・計算処理実習No.7 Javaでのグラフィックス(2)MoveとTurn

2000.5.31 KPC 情報技術科  関谷

1. 前回のJavaグラフィックス(1)の復習とコメント

1.Java言語とそのグラフィックスの使用例

1.1 Java言語

 テキスト(中山茂著、Java2グラフィクスプログラミング入門、技報堂出版)の「はじめに」、第1章,第2章を参照のこと。

1.2 Java言語のグラフィックス

 テキストの3.3節Javaグラフィックスの基礎と6章 Javaグラフィックスを参照のこと。
 アプレットについては、Webページを参照のこと。

1.3 Java言語での正規分布曲線のプログラム

slsでのWindowsグラフィックス用正規分布曲線のプログラムを,javaに移植したものを紹介する。なお、Javaでは図の描画で対称な両側を描くようにしている。
 アプレット プログラムの実行はここをクリックする。

1.4 〔javaのプログラムのコマンドラインでの開発,実行〕

1.5 「実習」 サンプルプログラムを改造して、実験する。

[ 提出するWebレポートの内容]

Javaのプログラム例(Gnorm.java, gnorm.html)を解析したこと、実験したことについて, 考察のこと。

 レポートの提出方法

 Webページとして、今回分のhtmlファイルを作り、それに対するハイパーリンクを付けること。実行画面は、前述のとおり、イメージ貼り付けでなく、アプレット起動htmlファイルへのリンクすること。

1.6 学習とレポートについてのコメント

Java言語は、これまでのオブジェクト指向言語の最新のものでプラットフォームを選ばない。

Visual Basicは、Windowsでしか動かないオブジェクト指向言語だが、それを学習しているので、なじみやすいのではないでしょうか。 クラスAppletの継承により、ブラウザで見れるアプレット・プログラムが簡単に書ける。
描画などの処理は、対象(オブジェクト).メソッドとなる。

レポートのWeb提出が遅れている

就職活動で忙しいとは思いますが、未提出が半数もいます。溜めないで、その週内にアップロードしてください。

Webでのappletのレポートについて

 イメージの貼り付けでなく、htmlファイルへのハイパーリンクによること。



2.今日の学習-Javaグラフィックス(2)(Glibwvクラス、イベント処理)

今日は、slsでの渦巻き模様(MoveとTurnでの練習問題56)をJavaに移植して、イベント処理によるグラフィックスを実習する。

2.1 Glibwvクラス

 slsを使ってのWindowsC言語グラフィックスでは、グラフィックスライブラリとして「河西のGlib.h」を移植して利用した。
 このグラフィックスライブラリをJava言語では、クラスGlibwv.classとして、移植した。(C言語で言えば、分割コンパイルに近い。)
移植では、メソッド名の中で組み合わせた単語の頭文字を大文字にしたものがあるので、変更には注意が必要である。  引数は、View()関数の引数を整数intにしたほかは、すべて倍精度浮動小数点型double型に変更している。
 なお、Window() とView()を使ってスケーリングをしているので、このクラスのメソッドを使用するまえに、この両者が指定されていること。
 ソースプログラムGlibwv.javaは、こちらを参照のこと。
 このクラスファイルGlibwv.classが、クラスを使用するJavaソースのコンパイルと実行時に必要となる。(カレントのフォルダ)

 (注)Window() とView()を使って、パラメータの異なる描画を3つ並べられるようにする。
パラメータの入力は、次に説明するAWT部品を使ってのイベント処理による。

2.2 イベント処理

 アプレットで、ボタンやテキストフィールド、チョイスボタンなどを使用したい。
 中山のテキストの以下を参照のこと
 4章GUIとレイアウトマネージャ(1.GUIとAWT 2.レイアウトマネージャなど)
 5章 イベント処理(1.イベント階層 2.イベント処理2.1アクションイベント処理など)

2.3 C言語から移植した渦巻き模様appletプログラム

 ソースプログラムka_cap56.javaは、こちらを参照のこと。

 C言語のプログラムでは、キー入力をMS-DOSプロンプトの窓でscanf()関数で行っていたが、appletでは、GUI部品の テキストフィールド、チョイスボタンなどを使用する。
 3つの図を同時に表示するように改造した。(パラメータの配列での保存とviewの変更など)
(パラメータは3つまでを順番に更新するようにした。)
 再描画のボタンを追加し、このボタンをクリックしたときに再描画する。
(但し、起動時は、同じ図を3枚並べている。)

2.4 実習の課題

 渦巻き模様appletプログラムをまず、動かしてみる。次に中身を解析して、改造を行う。
このプログラムの動作確認や解析だけならば、このWebページから、できる。
改造するには、ファイルサーバからコピーして、編集・コンパイルなどをして各自のフォルダで動作させること。
ソースプログラムka_cap56.java, Glibwv.java、クラスファイルGlibwv.class、HTMLファイルka_cap56.htmlはファイルサーバr:\sekiya\図形処理にあるので、コピーして,氏名など編集する。

各自のフォルダでの起動は、ka_cap56.htmlをダブルクリックするか、このhtmlファイルをappletviewerで起動する。
チョイスボタンが、IE5で使えるかどうか、確かめる。
移植したグラフィックスライブラリGlibwv.class(ソースはGlibwv.java)についても、解析する。
ブラウザで、描画した画面の印刷が出来るか、確認する。
印刷をするには、どうしたらよいか?

2.5 Webページでのレポート提出

 前回と同様である。特に、今回はイメージの貼り付けは不可とする。

注) Webページの作り方については、関谷のWebページの「個人ホームページの作成と更新」のページを参照のこと。