3D 描画 Step1-1 まず O 原子となる球を 1 つ描画する <WaterPanel.java の作成 > 1.Chemical プロジェクトをインポート 共有フォルダから Chemical.zip をコピーして workspace 内にはりつけ パッケージ エクスプローラで右クリック イン

Size: px
Start display at page:

Download "3D 描画 Step1-1 まず O 原子となる球を 1 つ描画する <WaterPanel.java の作成 > 1.Chemical プロジェクトをインポート 共有フォルダから Chemical.zip をコピーして workspace 内にはりつけ パッケージ エクスプローラで右クリック イン"

Transcription

1 GUI プログラミング第 4 回演習 3DChemical ~ OpenGL(JOGL) による 3D 描画 : 水の化学式モデルを書いてみる ~ 実際は背景は黒くする <Eclipse を起動する > 1.eclipse.zip を D: ドライブにコピーし 右クリック ここに解凍 2.workspace を S: ドライブから D: ドライブにコピー 3.eclipse.exe を起動 4.workspace を D:workspace に設定 <ステップ> ステップ 1-1 O 原子となる球を1つ描画ステップ 1-2 水の化学式モデルを描画ステップ 2 マウスで回転できるようにするステップ 3 描画した立体の 2D 上の表示位置を取得し 元素名を 2D 描画する -1-

2 3D 描画 Step1-1 まず O 原子となる球を 1 つ描画する <WaterPanel.java の作成 > 1.Chemical プロジェクトをインポート 共有フォルダから Chemical.zip をコピーして workspace 内にはりつけ パッケージ エクスプローラで右クリック インポート 一般 既存のプロジェクトをワークスペースへ 次へ アーカイブ ファイルの参照から D:workspace Chemical.zip を選択して開く 完了 ボタンを押下 2. パッケージを作成 src フォルダを選択 右クリック 新規 パッケージパッケージ名 water 3.WaterPanel クラスを作成 GLJPanel を継承 (extends) GLEventListener, MouseListener, MouseMotionListener を実装 (implements) したクラス water パッケージを選択 右クリック 新規 クラス クラス名 WaterPanel スーパークラスの参照をクリック GLJPanel とうつと javax.media.opengl の GLJPanel が出てくるので それを選択して OK インターフェースの追加をクリック GLEventListener で出てくるクラスを選択して 追加 MouseListener で出てくるクラスを選択して 追加 MouseMotionListener で出てくるクラスを選択して 追加 OK 完了 ボタンを押下 4. ソースを編集 ( 次ページ以降を参照 ) 変数 コンストラクタ init メソッド reshape メソッド display メソッドの順に記述すると理解しやすい 5.WaterFrame.java の作成へ -2-

3 WaterPanel.java package chemical.water; import java.awt.event.mouseevent; import java.awt.event.mouselistener; import java.awt.event.mousemotionlistener; import javax.media.opengl.gl; import javax.media.opengl.glautodrawable; import javax.media.opengl.gleventlistener; import javax.media.opengl.gljpanel; import javax.media.opengl.glu.glu; import com.sun.opengl.util.glut; public class WaterPanel extends GLJPanel implements GLEventListener, MouseListener, MouseMotionListener { private GL gl; // OpenGL の関数群をもつオブジェクトその1 private GLU glu; // OpenGL の関数群をもつオブジェクトその2 private GLUT glut; // OpenGL の関数群をもつオブジェクトその3 private int div = 20; // 球 円柱の分割数 // 軸と O-H のなす角 ( 水の O-H がなす角は 度 ) private float degree = ( f)/2.0f; /* 光 // 光の位置 {x 座標, y 座標, z 座標, 光源までの距離 (0 は無限円 ) private float[] lposition = { -10.0f, 10.0f, 10.0f, 0.0f ; // 光の色 {R, G, B, アルファ ( 透明度 ) 数値は 0 から 1 まで private float[] lspecular = { 0.8f, 0.8f, 0.8f, 1.0f ; // 鏡面 private float[] ldiffuse = { 0.8f, 0.8f, 0.8f, 1.0f ; // 拡散 private float[] lambient = { 0.4f, 0.4f, 0.4f, 1.0f ; // 環境 /* 物体の反射率 // {R, G, B, アルファ ( 透明度 ) 数値は 0 から 1 まで private float[] mspecular = { 0.3f, 0.3f, 0.3f, 1.0f ; // 鏡面 private float[] mdiffuse = { 0.2f, 0.2f, 0.2f, 1.0f ; // 拡散 // 鏡面係数 : きらめきの度合い (0~128) private float mshininess = 10.0f; /* 色の定義 // {R, G, B, アルファ ( 透明度 ) 数値は 0 から 1 まで private float[] blue = { 0.0f, 0.0f, 1.0f, 1.0f ; // 青 private float[] red = { 1.0f, 0.0f, 0.0f, 1.0f ; // 赤 private float[] green = {0.0f, 1.0f, 0.5f, 1.0f ; // 緑 * コンストラクタ public WaterPanel() { // MouseEvent を受け取れるようにする addmouselistener(this); // MouseMotionEvent を受け取れるようにする addmousemotionlistener(this); // 3D 描画できるようにリスナ登録 addgleventlistener(this); /* 3D 描画 *********************************************************** * GLEventListener のメソッド :3D 描画メソッド -3-

4 WaterPanel.java public void display(glautodrawable drawable) { // 背景色で塗りつぶし gl.glclear(gl.gl_color_buffer_bit GL.GL_DEPTH_BUFFER_BIT); // 現時点のマトリクス (Modelview 行列 ) を保存 必ず glpopmatrix() と対で使用する /* glpushmatrix と glpopmatrix() は 座標を回転したり平行移動したり * したものを する前の状態を覚えておくために使う * これを使わないと 回転などがどんどん重なっていってしまう // z 軸上 15 の位置から原点を見る, 上方向は y 軸 // glulookat( 視点の位置 x,y,z, 視点から見る座標 x,y,z, 上方向ベクトル x,y,z) glu.glulookat(0.0, 0.0, 15.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); // y 軸正方向に少しずらす ( 平行移動 ) gl.gltranslatef(0.0f, 0.4f, 0.0f); /* O 原子を原点に描画 // 色指定 環境光の反射率とは つまり物体の色になる gl.glmaterialfv(gl.gl_front, GL.GL_AMBIENT, red, 0); // 塗りつぶしの球を描画 // glutsolidsphere( 半径, Z 軸まわりの分割数, Z 軸に沿った分割数 ) glut.glutsolidsphere(0.3, div, div); // glpushmatrix() を呼ぶ前の行列の状態に戻す * GLEventListener のメソッド : 表示の切り替えが発生した場合に呼ばれる * 今回は特に記述することはない public void displaychanged(glautodrawable drawable, boolean modechanged, boolean devicechanged) { * GLEventListener のメソッド : 初期化時に呼ばれる public void init(glautodrawable drawable) { // OpenGL の関数群をもつオブジェクトを取得 gl = drawable.getgl(); glu = new GLU(); glut = new GLUT(); // 背景色を黒に設定 gl.glclearcolor(0.0f, 0.0f, 0.0f, 0.0f); // 影に隠れて見えないものは表示しない gl.glenable(gl.gl_depth_test); // 光を有効にする gl.glenable(gl.gl_lighting); gl.glenable(gl.gl_light0); // 光の反射の法線ベクトルを正規化 gl.glenable(gl.gl_normalize); // 光の位置を設定 /* 4 番目の数字はオフセット * JOGL は c++ のソースを JAVA に自動変換している * c++ では配列はポインタなので オフセットの概念がある * JAVA にポインタはないので引数が増やされているのだが * オフセットの数字は 0 でよい gl.gllightfv(gl.gl_light0, GL.GL_POSITION, lposition, 0); // 光の色を設定 gl.gllightfv(gl.gl_light0, GL.GL_SPECULAR, lspecular, 0); // 鏡面 gl.gllightfv(gl.gl_light0, GL.GL_DIFFUSE, ldiffuse, 0); // 拡散 -4-

5 WaterPanel.java gl.gllightfv(gl.gl_light0, GL.GL_AMBIENT, lambient, 0); // 環境 // 物体の反射率を設定 gl.glmaterialfv(gl.gl_front, GL.GL_SPECULAR, mspecular, 0); // 鏡面 gl.glmaterialfv(gl.gl_front, GL.GL_DIFFUSE, mdiffuse, 0); // 拡散 gl.glmaterialf(gl.gl_front, GL.GL_SHININESS, mshininess); // 鏡面係数 * GLEventListener のメソッド : 表示領域が変更されたときに呼ばれる public void reshape(glautodrawable drawable, int x, int y, int width, int height) { // ビューポート ( 描画領域 ) を設定 gl.glviewport(0, 0, width, height); // マトリクスとして Projection 行列を対象にする gl.glmatrixmode(gl.gl_projection); // マトリクスを単位行列で初期化 gl.glloadidentity(); // 視点の設定 ( 参考資料を参照 ) // gluperspactive( 視野角, 縦横比, near, far); glu.gluperspective(10.0, (double)width/(double)height, 1.0, 100.0); // マトリクスとして ModelView 行列を対象にする gl.glmatrixmode(gl.gl_modelview); /* MouseListener のメソッド ************************************************* public void mouseclicked(mouseevent e) { public void mouseentered(mouseevent e) { public void mouseexited(mouseevent e) { public void mousepressed(mouseevent e) { public void mousereleased(mouseevent e) { /* MouseMotionListener のメソッド ************************************************ public void mousedragged(mouseevent e) { -5-

6 WaterPanel.java public void mousemoved(mouseevent e) { <WaterFrame.java の作成 > 1. フレームを作成 chemical パッケージ選択 右クリック 新規 その他を選択 GUI Forms Swing JFrame を選んで 次へ Class Name は WaterFrame として 完了 2.Jigloo のメッセージが出てきたら OK 3.Look&Feel( プログラムの見た目 ) を設定フレームを選択 右クリック Set Look&Feel Windows を選択 4. レイアウトを設定フレームを選択 右クリック Set Layout BorderLayout を選択 5. フレームのサイズを大きめにするソースの方をみて initgui() の中の下の方にあるサイズ指定部分を編集 setsize(400,300); setsize(400,400); 6. フレームのプレビューに戻り パネルを South に追加上部の Containers 右から 5 番目の JPanel を選び フレームに貼り付ける名前は southpanel Constraints の中の direction に South を選択パネルの縦幅はボタンがひとつ入る位にしておく 7.WaterPanel を Center に追加フレームを選択 ( 中央をクリック ) 右クリック Add Add Custom Add custom class or layout を選択 WaterPanel と入力して OK 名前を centerpanel とし Constraints の中の direction が Center になっていることを確認して OK 8.southPanel にボタンを追加 Step2 以降で使うのもだが ここで追加しておく Components の一番左にある JButton を選んで southpanel に貼り付け名前 resetbutton テキスト 元に戻す 9. ボタンが押されたときに実行されるメソッドのひな型を作成 resetbutton を選択し Event Name のリスト中の ActionListner を開いて actionperformed を inline に設定する 10. 実行する 11. 描画を確認 -6-

7 3D 描画 Step1-2 水の化学式モデルを描画する < 円柱の描画 ポリゴンについて > OpenGL において例えば立方体を描画したい場合 glut.glutwirecube(2.0f); のように関数を 1 つ利用すれば描画できる このようにあらかじめ用意されている立体は 立方体 4 面体 8 面体 12 面体 20 面体 円錐 球 ドーナツ型 ティーポット である この中に円柱は含まれていないので ポリゴン で表現する ポリゴンとは 多角形のことで 複雑なモデルを構成するために使う CG では普通 3 角形と 4 角形を要素として組み合わせて物体を表現する どのような曲面も 小さいポリゴンに分割することで擬似的に曲面として描画できる ポリゴンでつくられた曲面の例 今回は 原子を結ぶ線を円柱で表現する この円柱は 円柱を縦に小さく分割するような四角形を連続描画することで疑似的に表現する ポリゴンを使った OpenGL の実際の描画は gl.glbegin( モード ) gl.glend() の構文で書く 主なモードは次の表のようになる モード 意味 GL.GL_POLYGON 凸多角形 ( 頂点を右回りで指定 ) GL.GL_LINE_STRIP 折れ線 ( 頂点を順次指定 ) GL.GL_TRIANGLE_STRIP 隣接した 3 角形 GL.GL_QUAD_STRIP 隣接した 4 角形 GL.GL_TRIANGLE_FAN 隣接した 3 角形 ( 扇形 ) gl.glbegin と gl.glend() の間で glvertex3f(x 1, y 1, z 1 ); を何度もよびだし 頂点を順に指定していく 各モードごとの頂点の指定順は次ページの表のとおり -7-

8 頂点指定の順番 GL_TRIANGLE_STRIP GL_QUAD_STRIP GL_TRIANGLE_FAN < 作成手順 > WaterPanel.java に必要部分を書きたす -8-

9 package chemical.water; import java.awt.event.mouseevent; import java.awt.event.mouselistener; import java.awt.event.mousemotionlistener; import javax.media.opengl.gl; import javax.media.opengl.glautodrawable; import javax.media.opengl.gleventlistener; import javax.media.opengl.gljpanel; import javax.media.opengl.glu.glu; import com.sun.opengl.util.glut; public class WaterPanel extends GLJPanel implements GLEventListener, MouseListener, MouseMotionListener { private GL gl; // OpenGL の関数群をもつオブジェクトその1 private GLU glu; // OpenGL の関数群をもつオブジェクトその2 private GLUT glut; // OpenGL の関数群をもつオブジェクトその3 private int div = 20; // 球 円柱の分割数 // 軸と O-H のなす角 ( 水の O-H がなす角は 度 ) private float degree = ( f)/2.0f; /* 光 // 光の位置 {x 座標, y 座標, z 座標, 光源までの距離 (0 は無限円 ) private float[] lposition = { -10.0f, 10.0f, 10.0f, 0.0f ; // 光の色 {R, G, B, アルファ ( 透明度 ) 数値は 0 から 1 まで private float[] lspecular = { 0.8f, 0.8f, 0.8f, 1.0f ; // 鏡面 private float[] ldiffuse = { 0.8f, 0.8f, 0.8f, 1.0f ; // 拡散 private float[] lambient = { 0.4f, 0.4f, 0.4f, 1.0f ; // 環境 /* 物体の反射率 // {R, G, B, アルファ ( 透明度 ) 数値は 0 から 1 まで private float[] mspecular = { 0.3f, 0.3f, 0.3f, 1.0f ; // 鏡面 private float[] mdiffuse = { 0.2f, 0.2f, 0.2f, 1.0f ; // 拡散 // 鏡面係数 : きらめきの度合い (0~128) private float mshininess = 10.0f; /* 色の定義 // {R, G, B, アルファ ( 透明度 ) 数値は 0 から 1 まで private float[] blue = { 0.0f, 0.0f, 1.0f, 1.0f ; // 青 private float[] red = { 1.0f, 0.0f, 0.0f, 1.0f ; // 赤 private float[] green = {0.0f, 1.0f, 0.5f, 1.0f ; // 緑 * コンストラクタ public WaterPanel() { // MouseEvent を受け取れるようにする addmouselistener(this); // MouseMotionEvent を受け取れるようにする addmousemotionlistener(this); // 3D 描画できるようにリスナ登録 addgleventlistener(this); /* 3D 描画 *********************************************************** * x 軸周りに円柱を描画 -9-

10 r 円柱の半径 length 円柱の長さ offset offset x offset+length に描かれる public void drawcylinder(float r, float length, float offset) { double t; // 要素として連続する四角形を使う gl.glbegin(gl.gl_quad_strip); for (int i=0; i<=div; i++) { // 角度を計算 ( ラジアン ) t = 2.0 * Math.PI * i / div; // 光の反射の法線ベクトル gl.glnormal3f(0, (float)math.cos(t), (float)math.sin(t)); // 頂点を設定 gl.glvertex3f(offset, (float)(r*math.cos(t)), (float)(r*math.sin(t))); gl.glvertex3f(offset+length, (float)(r*math.cos(t)), (float)(r*math.sin(t))); gl.glend(); * GLEventListener のメソッド :3D 描画メソッド public void display(glautodrawable drawable) { // 背景色で塗りつぶし gl.glclear(gl.gl_color_buffer_bit GL.GL_DEPTH_BUFFER_BIT); // 現時点のマトリクス (Modelview 行列 ) を保存 必ず glpopmatrix() と対で使用する /* glpushmatrix と glpopmatrix() は 座標を回転したり平行移動したり * したものを する前の状態を覚えておくために使う * これを使わないと 回転などがどんどん重なっていってしまう // z 軸上 15 の位置から原点を見る, 上方向は y 軸 // glulookat( 視点の位置 x,y,z, 視点から見る座標 x,y,z, 上方向ベクトル x,y,z) glu.glulookat(0.0, 0.0, 15.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); // y 軸正方向に少しずらす ( 平行移動 ) gl.gltranslatef(0.0f, 0.4f, 0.0f); /* 棒 1 を描画 (z 軸周りに-degree 度回転 ) // ModelView 行列保存 // 色指定 環境光の反射率とは つまり物体の色になる gl.glmaterialfv(gl.gl_front, GL.GL_AMBIENT, green, 0); // 座標軸を z 軸周りに-degree 度回転 // 2,3,4 番目の引数は回転軸を表す ( 順に x, y, z) gl.glrotatef(-degree, 0.0f, 0.0f, 1.0f); // 半径 0.07 の円柱を 0 x 1 に描画 drawcylinder(0.07f, 1.0f, 0.0f); // 行列を保存した時の状態に戻す /* 棒 2 を描画 (z 軸周りに degree 度回転 ) gl.glmaterialfv(gl.gl_front, GL.GL_AMBIENT, green, 0); gl.glrotatef(degree, 0.0f, 0.0f, 1.0f); drawcylinder(0.07f, 1.0f, -1.0f); // -1 x 0 /* O 原子を原点に描画 gl.glmaterialfv(gl.gl_front, GL.GL_AMBIENT, red, 0); // 塗りつぶしの球を描画 // glutsolidsphere( 半径, Z 軸まわりの分割数, Z 軸に沿った分割数 ) glut.glutsolidsphere(0.3, div, div); -10-

11 // H 原子 1 を描画 gl.glmaterialfv(gl.gl_front, GL.GL_AMBIENT, blue, 0); gl.glrotatef(-degree, 0.0f, 0.0f, 1.0f); gl.gltranslatef(1.0f, 0.0f, 0.0f); // x 方向に 1 だけ平行移動 glut.glutsolidsphere(0.2, div, div); // H 原子 2 を描画 gl.glmaterialfv(gl.gl_front, GL.GL_AMBIENT, blue, 0); gl.glrotatef(degree, 0.0f, 0.0f, 1.0f); gl.gltranslatef(-1.0f, 0.0f, 0.0f); // x 方向に-1 だけ平行移動 glut.glutsolidsphere(0.2, div, div); // glpushmatrix() を呼ぶ前の行列の状態に戻す ( 以下は変更ないので略 ) -11-

3D 描画 Step2 マウスで回転できるようにする ベクトル (a, b, c) を軸として右回りに rot 度の回転は glrotatef(rot, a, b, c); で実行される 従って 座標軸の回転はそれぞれ x 軸まわり,y 軸まわりの回転量 (degree で表す ) を rotx, roty をとすると x 軸まわりの回転は glrotatef(rotx, 1.0f, 0.0f, 0.0f);

More information

このような 回転や平行移動による座標変換の情報は ModelView 行列 が持っている ModelView 行列は gl.glpushmatrix() でいったん保存しておき 回転や平行移動を重ねて描画した後 gl.glpopmatrix() で保存した状態に戻すことができる ワールド座標系とウィ

このような 回転や平行移動による座標変換の情報は ModelView 行列 が持っている ModelView 行列は gl.glpushmatrix() でいったん保存しておき 回転や平行移動を重ねて描画した後 gl.glpopmatrix() で保存した状態に戻すことができる ワールド座標系とウィ 3D 描画 Step3 元素名を 2D 描画する OpenGL には文字描画の概念がないこと 元素名は回転してほしくないことの 2 点の理由から 元素名は 2D 描画する そのために 原子の 3 次元空間の座標から 文字を描画するウィンドウ上の座標を求める < 座標変換について > 座標変換について まとまった詳しい解説は OpenGL による 3D 描画の基礎知識 の 3 ページ以降に記述してあるので

More information

GUI プログラミング第 4 Graph ~ 手書認識と関数グラフ描画 ~ マウスで数式を書いて認識し 関数グラフを描画する < 手書認識とグラフ描画のステップ> ステップ 1_1 フレームの作成 ステップ 1_2 マウスで自由に線を書く ステップ 2-1 手書認識認識結果を標準出力する ステップ

GUI プログラミング第 4 Graph ~ 手書認識と関数グラフ描画 ~ マウスで数式を書いて認識し 関数グラフを描画する < 手書認識とグラフ描画のステップ> ステップ 1_1 フレームの作成 ステップ 1_2 マウスで自由に線を書く ステップ 2-1 手書認識認識結果を標準出力する ステップ GUI プログラミング第 4 Graph ~ 手書認識と関数グラフ描画 ~ マウスで数式を書いて認識し 関数グラフを描画する < 手書認識とグラフ描画のステップ> ステップ 1_1 フレームの作成 ステップ 1_2 マウスで自由に線を書く ステップ 2-1 手書認識認識結果を標準出力する ステップ 2-2 手書認識認識結果 ( 数式 ) を描画する ステップ 3 認識した数式を元に関数グラフを描画する

More information

ブロック崩し Step1 矢印キーで左右に動かせるパドルを描画する < パドルの表現方法 > パドルは java.awt パッケージの Rectangle という Java が用意しているクラスを使う これは四角形を表すクラスで 左上の点の座標と幅 高さをもっている (x, y) Rectangle

ブロック崩し Step1 矢印キーで左右に動かせるパドルを描画する < パドルの表現方法 > パドルは java.awt パッケージの Rectangle という Java が用意しているクラスを使う これは四角形を表すクラスで 左上の点の座標と幅 高さをもっている (x, y) Rectangle GUI プログラミング第 3 回演習 BlockBreaker ~ かんたんブロック崩しゲーム ~ パドルを左右に操作して落ちてくるボールを反射させ 上のブロックを崩していく ブロック ボール パドル 1.eclipse.zip を D: ドライブにコピーし 右クリック ここに解凍 2.workspace を S: ドライブから D: ドライブにコピー 3.eclipse.exe

More information

Animals サンプル Step 1 動物の種類を指定しておいて クリックした場所に画像を貼り付ける < レイアウトについて > 前回は ラベルやボタンの位置を座標で設定した Absolute Layout を選んだためである レイアウトは どのようにボタンなどのコンポーネントを配置するかを決定す

Animals サンプル Step 1 動物の種類を指定しておいて クリックした場所に画像を貼り付ける < レイアウトについて > 前回は ラベルやボタンの位置を座標で設定した Absolute Layout を選んだためである レイアウトは どのようにボタンなどのコンポーネントを配置するかを決定す GUI プログラミング第 2 回演習 Animals ~ 画像描画と音声再生 : 動物が増える 鳴く ~ 学習キーワード : イベント (ActionEvent, MouseEvent) レイアウト 可変長配列 (List) 継承 例外処理 タイマー処理 ニャー ワン カー 今回のサンプルは ステップ 1 からステップ 3 まで各自順に進めていく Step3

More information

手書認識 グラフ描画 Step2-2 手書認識 : 認識結果を PaintPanel で描画する < 属性付き文字列 AttributedString> 標準出力では分かりにくいうえに認識結果を使えないので 認識するごとに PaintPanel に文字を描画することにする ここで 数式はただの文字列

手書認識 グラフ描画 Step2-2 手書認識 : 認識結果を PaintPanel で描画する < 属性付き文字列 AttributedString> 標準出力では分かりにくいうえに認識結果を使えないので 認識するごとに PaintPanel に文字を描画することにする ここで 数式はただの文字列 手書認識 グラフ描画 Step2-2 手書認識 : 認識結果を PaintPanel で描画する < 属性付き文字列 AttributedString> 標準出力では分かりにくいうえに認識結果を使えないので 認識するごとに PaintPanel に文字を描画することにする ここで 数式はただの文字列ではなく 2 乗などの上付き文字がある これを描画するのに 通常の drawstring を使うと 文字の描画位置の取得が大変なので

More information

以下に java.awt.graphics クラスの主なメソッドを示す (Graphics クラスの ) メソッド drawline(int x1, int y1, int x2, int y2) drawrect(int x, int y, int width, int height) fillr

以下に java.awt.graphics クラスの主なメソッドを示す (Graphics クラスの ) メソッド drawline(int x1, int y1, int x2, int y2) drawrect(int x, int y, int width, int height) fillr 第 5 章グラフィックス, スレッドとマウスイベントによる描画処理 描画処理およびマルチスレッドの基礎についてそれぞれ理解し,Java を用いてイベント処理を組み合わせたプログラムを作成する 5.1 描画処理 最初に, パネル上にグラフィックス描画を行う方法について説明する グラフィックスを表示するにはフレームにパネルを配置し, 処理内容を paintcomponent メソッド内に記述する paintcomponent

More information

Assignment_.java /////////////////////////////////////////////////////////////////////// // 課題 星の画像がマウスカーソルを追従するコードを作成しなさい 次 ///////////////////

Assignment_.java /////////////////////////////////////////////////////////////////////// // 課題 星の画像がマウスカーソルを追従するコードを作成しなさい 次 /////////////////// Assignment_.java 0 0 0 0 0 /////////////////////////////////////////////////////////// // 課題 次のようにマウスのカーソルに同期しメッセージを /////////////////////////////////////////////////////////// class Assignment_ extends

More information

ToDo: 今回のタイトル

ToDo: 今回のタイトル グラフの描画 プログラミング演習 I L03 今週の目標 キャンバスを使って思ったような図 ( 指定された線 = グラフ ) を描いてみる 今週は発展問題が三つあります 2 グラフの準備 値の算出 3 値の表示 これまでは 文字列や値を表示するのには 主に JOptionPane.showMessageDialog() を使っていましたが ちょっとしたものを表示するのには System.out.println()

More information

(Microsoft PowerPoint - \223\306\217KJAVA\221\346\202R\224\ ppt)

(Microsoft PowerPoint - \223\306\217KJAVA\221\346\202R\224\ ppt) 独習 Java 第 3 版 14.1 代行イベントモデル 14.2 イベントクラス 14.3 イベントリスナ 14.1 代行イベントモデル (1/3) アプレットは GUI を提供する GUI ベースのプログラムはイベントドリブンであり コンソールアプリケーションはイベントドリブンでない イベントドリブンとは ユーザや他のプログラムが実行した操作 ( イベント ) に対応して処理を行なうプログラムの実行形式

More information

次の演習課題(1),(2)のプログラムを完成させよ

次の演習課題(1),(2)のプログラムを完成させよ 次の演習課題 (1),(2) のプログラムを作成せよ. 課題 (1) ボタン押下時の処理を追加し以下の実行結果となるようにプログラムを作成しなさい ( ボタン押下時の処理 ) import java.lang.*; class Figure extends JFrame implements ActionListener{ JPanel panel; JScrollPane scroll; JTextArea

More information

HCI プログラミング 5 回目ウィンドウに画像を表示してみよう 今日の講義で学ぶ内容 画像の表示 画像のエフェクト 画像のビューポート指定 画像の表示 1 画像を表示してみましょう 画像の表示はクラス ImageView により管理されます ソースファイル名 :Sample5_1.java //

HCI プログラミング 5 回目ウィンドウに画像を表示してみよう 今日の講義で学ぶ内容 画像の表示 画像のエフェクト 画像のビューポート指定 画像の表示 1 画像を表示してみましょう 画像の表示はクラス ImageView により管理されます ソースファイル名 :Sample5_1.java // HCI プログラミング 5 回目ウィンドウに画像を表示してみよう 今日の講義で学ぶ内容 画像の表示 画像のエフェクト 画像のビューポート指定 画像の表示 1 画像を表示してみましょう 画像の表示はクラス ImageView により管理されます ソースファイル名 :Sample5_1.java // 画像の表示 public class Sample5_1 extends Application //

More information

第1章 ビジュアルプログラミング入門

第1章 ビジュアルプログラミング入門 付録 A 既存のクラスの利用の仕方 第 7 章では フレームクラス (NewJFrame.java) とそこから呼び出されるクラス (Meibo.java など ) を同じプロジェクト内 つまり同じパッケージ内に定義しました しかし 一般には 別のパッケージ ( フォルダ ) に保管されているクラスを利用する場合があります ここでは その方法を説明します なお フォルダは Java の用語ではパッケージに対応するので

More information

ガイダンス

ガイダンス プログラムの 1 行目に以下のように自分の入れること // vm12345 杉崎えり子 情報科学 B 第 10 回 GUI 情報科学 B Info2/3 info10 今日のフォルダー作成 Example10_1.java 1 今日やること Windows などで見られるウィンドウを作 成して (GUI プログラム ) そこに実行結 果を表示させる 2 ウィンドウの作成 Java を使用してウィンドウの作成をしたい

More information

Animals サンプル Step3 張り付けた動物の上をクリックすると それぞれの鳴き声で鳴く その鳴く間 一定時間 ( ここでは 1 秒間 ) 画像が別のものに変わる <アニメーションの基礎 : タイマーについて> アニメーションは アプリケーションが指定する間 一定間隔でどんどん画像をおきかえ

Animals サンプル Step3 張り付けた動物の上をクリックすると それぞれの鳴き声で鳴く その鳴く間 一定時間 ( ここでは 1 秒間 ) 画像が別のものに変わる <アニメーションの基礎 : タイマーについて> アニメーションは アプリケーションが指定する間 一定間隔でどんどん画像をおきかえ Animals サンプル Step3 張り付けた動物の上をクリックすると それぞれの鳴き声で鳴く その鳴く間 一定時間 ( ここでは 1 秒間 ) 画像が別のものに変わる アニメーションは アプリケーションが指定する間 一定間隔でどんどん画像をおきかえていくものである このサンプルでは 動物画像の上をクリックすると画像を切り替え 1 秒後 もとの画像に戻す操作をする

More information

ガイダンス

ガイダンス プログラムの 1 行目に以下のように自分の入れること // vm12345 杉崎えり子 情報科学 B 第 10 回 GUI 情報科学 B Info2/3 info10 今日のフォルダー作成 Example10_1.java 1 今日やること Windows などで見られるウィンドウを作 成して (GUI プログラム ) そこに実行結 果を表示させる 2 ウィンドウの作成 Java を使用してウィンドウを作成をしたい

More information

10/31 Java AWTの基本構造(Frameクラスの継承) 演習課題資料

10/31 Java AWTの基本構造(Frameクラスの継承) 演習課題資料 10/28 Java AWT の基本構造 (Frame クラスの継承 ) 演習課題資料以下のプログラムを完成せよ 共通課題 1.Frame を生成するプログラム // Frame クラスを継承して 終了ボタンのみを定義した クラスの定義 class WhiteWindow 1 { // Frame クラスの継承をする (Frame クラスの拡張 ) WhiteWindow (String title){

More information

PowerPoint Presentation

PowerPoint Presentation ソフトウェア演習 B GUI を持つ Java プログラムの 設計と実装 4.1 例題 :GUI を持った電卓を作ろう プロジェクトCalculator パッケージ名 :example ソースファイル : Calculator.java GUI.java EventProcessor.java 2 4.2 GUI とイベント処理 GUI の構成 :Swing GUI の場合 フレーム JFrame:

More information

問1

問1 2008/12/10 OOP 同演習小テスト問題 問 1. 次のプログラムの出力結果を a~d の中から選べ public class Problem1 { public static void main(string[] args){ int i =2; int j =3; System.out.println( i + j ); a) 23 b) 5 c) ij d) i+j 問 2. 次のプログラムの出力結果を

More information

ガイダンス

ガイダンス プログラムの 1 行目に以下を入れること // vm12345 杉崎えり子 情報科学 B 第 10 回 GUI 情報科学 B Info2/3 info10 今日のフォルダー作成 Example10_1.java 1 今日やること Windows などで見られるウィンドウを作 成して (GUI プログラム ) そこに実行結 果を表示させる 2 ウィンドウの作成 Java を使用してウィンドウの作成をしたい

More information

PowerPoint Presentation

PowerPoint Presentation 上級プログラミング 2( 第 3 回 ) 工学部情報工学科 木村昌臣 今日のテーマ GUI プログラミング入門 AWT Java で GUI を作る方法 (API) AWT Abstract Window Toolkit GUIをつくるクラス群を提供 ( 基本!) OSによらない外観 Swing 逆にいえば OS ネイティブな look and feel ではない AWT をもとに JavaFX JDK1.8

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 独習 Java 第 3 版 13.1 アプレットの概要 13.2 最初の Java アプレット 13.3 アプレットのライフサイクル 13.4 Graphics クラス アプレットの概要 (1/3) Web ページの HTML ソースコードから参照されるプログラム Web サーバーからブラウザに動的にダウンロードされる ダウンロードされたアプレットはブラウザの環境で実行される アプレットビューアなどのツールで実行することもできる

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 3 回継承 オーバーライド インタフェース 前回までのお話 モジュール化 大きなプログラムは部品に分けて設計する オブジェクト指向 モノ中心に考える プログラムでは クラス ( モノの種類 ) を定義する ある特定のモノは インスタンスで表す クラスは型 インスタンスは値 プログラムを書くときも部品ごとに書く モノの部品であるモノはフィールドに書く 手順の部品である手順はメソッドに書く

More information

Microsoft PowerPoint prog1_doc2x.pptx

Microsoft PowerPoint prog1_doc2x.pptx アプレット public class extends Applet { public void paint(graphics g) { // アプレット描画 g.drawstring( Hello World, 10, 20 ); page 1 アプレット : 色 public class extends Applet { Color col; // カラークラス int red, grn, blu;

More information

<4D F736F F F696E74202D AC C8899E D834F E >

<4D F736F F F696E74202D AC C8899E D834F E > Java 簡単な応用プログラム ( その 2) Java は すでにある部品群を上手く使ってプログラムを組み立てます 前回と同様に Frame を使って ウインドウを表示するプログラムを作りましょう. Frameは ウインドウを作るための部品で フレーム ( 枠 ) とタイトルおよび, 決められた仕組みが入っています. java.awt パッケージは, ウインドウ関連の部品が多くあります. javax.swing

More information

Graphical User Interface 描画する

Graphical User Interface 描画する Graphical User Interface 描画する オブジェクト指向プログラミング特論 2016 年度 只木進一 : 工学系研究科 2 描画の基本 javax.swing.jpanel に描画する paint() または paintcomponent() メソッドを上書きすることによって描画する この中で描画対象を描く 基本的図形要素は準備されている しかし 画面の重なりによる再描画の場合

More information

Java講座

Java講座 ~ 第 1 回 ~ 情報科学部コンピュータ科学科 2 年竹中優 プログラムを書く上で Hello world 基礎事項 演算子 構文 2 コメントアウト (//, /* */, /** */) をしよう! インデントをしよう! 変数などにはわかりやすい名前をつけよう! 要するに 他人が見て理解しやすいコードを書こうということです 3 1. Eclipse を起動 2. ファイル 新規 javaプロジェクト

More information

のようにする 上の例では GeneralPath を new するときに コンストラクタに何も指定していないが 直線を表す Line, 四角形を表す Rectangle などを引数に与えてもよい 矢印を作成するメソッドの引数矢印を表す GeneralPath を生成するために getarrowpat

のようにする 上の例では GeneralPath を new するときに コンストラクタに何も指定していないが 直線を表す Line, 四角形を表す Rectangle などを引数に与えてもよい 矢印を作成するメソッドの引数矢印を表す GeneralPath を生成するために getarrowpat 手書認識 グラフ描画 Step3 認識した数式をもとに関数グラフを描画する < 数式の構造解析 > 一般に 1+3 などと文字列で数式をうけとっても コンピュータはそれをそのままで式とは認識しない あくまで 文字列は文字の並びであり そこに数学的な意味は含まれない 数式として計算するためには プログラムによって数式の構造を解析し コンピュータが計算できる形式に変換する必要がある 今回のプログラムでは

More information

第1章 ビジュアルプログラミング入門

第1章 ビジュアルプログラミング入門 第 9 章アプレット 学習内容とねらい 本章では Java 言語で作ったプログラムを Web ブラウザ上で動作させる方法を学習します Java 言語には これまで作成してきた Windows アプリケーションの他に Web ブラウザ上で動作させる事のできるアプレットという形態があります このアプレットを利用すれば Web 上で Java プログラムを公開することもできます アプレットは Java 言語の普及当初は

More information

Microsoft PowerPoint - OOP.pptx

Microsoft PowerPoint - OOP.pptx 第 14 回 第 12 章アプレット 28 8 アプレットとは アプレット : ウェブ上で HTML のソースコードから参照されるプログラム.Web サーバや Web ブラウザ ( アプレットビューア ) から動的にアプレットはダウンロードされる. 289 HelloAp.java アプレットの基本事項 public class HelloAp extends Applet{ public void

More information

Prog2_9th

Prog2_9th 2017 年 11 月 30 日 ( 木 ) 実施 Canvas による描画 Canvas とは Canvas は, 描画コールを保持するためのクラスである 描画には, 次の 4 つの要素が必要である (1) ビットマップピクセル ( 画素 ) を保持 (2) キャンバス描画コール ( ビットマップへの書き出し要請 ) に対応 (3) 描画プリミティブ描画領域, パス, テキスト, ビットマップ等

More information

Java - Visual Editor

Java - Visual Editor Visual Editor で Swing アプリケーションを作成 Swing プログラミングに慣れて居ても ソースコード上丈で思い通りの GUI を作成するのは 可成り骨の折れる作業で有る Visual Editor を使用すれば 試行錯誤し乍ら 非常に簡単に GUI アプリケーションを作成する事が出来る 此処では JFrame を拡張して 簡単なアプリケーションを作成して観る事にする Java

More information

Microsoft PowerPoint prog1_doc2.pptx

Microsoft PowerPoint prog1_doc2.pptx 2011 年 12 月 6 日 ( 火 ) プログラミング Ⅰ Java Applet プログラミング 文教大学情報学部経営情報学科堀田敬介 アプレット Applet public class クラス名 extends Applet { public void paint(graphics g) { // アプレット描画 g.drawstring( Hello World, 10, 20); 10

More information

JOGLによるOpenGL入門

JOGLによるOpenGL入門 OpenGL と GLUT を組み合わせれば UNIX 系 OS(Linux FreeBSD 等を含む ) と Windows と Mac のいずれでも動く リアルタイムに三次元表示を行うプログラムが とっても簡単に書けてしまう という三拍子そろったメリットが得られます org.jogamp.jogl jogl-all-main 2.*.* grep -lr 'javax\.media\.opengl'

More information

データ構造とアルゴリズム論

データ構造とアルゴリズム論 第 1 章.Java による CG 作成方法 2 学習のねらい 1 先週に続いて Java 言語 (Eclipse 環境における ) を用いて CG( コンピュータグラフィックス ) を作成する方法の基礎を学習する 今回は ( 作成した )CG が自動的に再描画される様にするための処理 ( のプログラミング ) を学習する 今回の学習で Java による CG 作成方法を終了し 次週以降は CG 作成のアルゴリズムの学

More information

Microsoft PowerPoint - chap10_OOP.ppt

Microsoft PowerPoint - chap10_OOP.ppt プログラミング講義 Chapter 10: オブジェクト指向プログラミング (Object-Oriented Programming=OOP) の入り口の入り口の入り口 秋山英三 F1027 1 例 : 部屋のデータを扱う // Test.java の内容 public class Test { public static void main(string[] args) { double length1,

More information

Java言語 第1回

Java言語 第1回 Java 言語 第 8 回ウインドウ部品を用いる (1) 知的情報システム工学科 久保川淳司 kubokawa@me.it-hiroshima.ac.jp 前回の課題 (1) マウスを使って, 前回課題で作成した 6 4 のマスの図形で, \ をマウスクリックによって代わるようにしなさい 前回の課題 (2) import java.applet.applet; import java.awt.*;

More information

Java言語 第1回

Java言語 第1回 Java 言語 第 11 回ウインドウ型アプリケーション (2) 知的情報システム工学科 久保川淳司 kubokawa@me.it-hiroshima.ac.jp メニュー (1) メニューを組み込むときには,MenuBar オブジェクトに Menu オブジェクトを登録し, その Menu オブジェクトに MenuItem オブジェクトを登録する 2 つの Menu オブジェクト File New

More information

第1章 ビジュアルプログラミング入門

第1章 ビジュアルプログラミング入門 第 10 章補足 -Java プログラムを一から記述してみようー 学習内容とねらい これまで本テキストで扱ってきたのは主に Windows アプリケーション (Windows 上のボタンクリック等による動作するプログラム ) でした ですから 皆は Eclipse を用いて Windows アプリケーションを作成する方法には習熟したはずです 皆も経験した通り Eclipse( およびそこにプラグインされている

More information

< F2D82518E9F8AD CC95BD8D7388DA93AE2E6A7464>

< F2D82518E9F8AD CC95BD8D7388DA93AE2E6A7464> 2 次関数のグラフの平行移動 [Java アプレット ] [Java アプリケーション ] 1. はじめに 2 2 y=ax のグラフとy=a(x-b) +c のグラフは 位置は違うけれど 形も広がりも全く同じです 2 2 y=a(x-b) +c のグラフは y=ax のグラフをx 軸方向に ( 右方向に ) +b y 軸方向に ( 上方向に ) +c だけ平行移動したものです 2 シミュレーションソフト

More information

ガイダンス

ガイダンス プログラムの 1 行目に自分の名前を入れること // vm12345 杉崎えり子 情報科学 B 第 14 回課題作成 3 情報科学 B Info2/3 info14 今日のフォルダー作成 情報科学 B 第 14 回課題作成 3 Report14_1.java 1 教科書 資料 過去のプログラムを見ながらで OK 課題 3( 提出 ) ボタンとアニメーション ( 第 13 回 ) を組み合わせて オリ

More information

XAML Do-It-Yourself シリーズ 第 12 回 3D グラフィックス -1-

XAML Do-It-Yourself シリーズ 第 12 回 3D グラフィックス -1- XAML Do-It-Yourself シリーズ 第 12 回 3D グラフィックス -1- XAML Do-It-Yourself 第 12 回 3D グラフィックス XAML Do-It-Yourself 第 12 回は 3D グラフィックスについて学習します これまでアプリケーション で 3D グラフィックスを扱うには DirectX のコンポーネントを使用する必要がありましたが WPF (XAML)

More information

コンピュータグラフィックスS 演習資料

コンピュータグラフィックスS 演習資料 コンピュータグラフィックス S 演習資料 第 4 回シェーディング マッピング 九州工業大学情報工学部システム創成情報工学科講義担当 : 尾下真樹 1. 演習準備 今回の演習も 前回までの演習で作成したプログラムに続けて変更を行う まずは シェーディングの演習のため 描画処理で 回転する一つの四角すいを描画するように変更する 画面をクリア ( ピクセルデータと Z バッファの両方をクリア ) glclear(

More information

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード] 第 3 回 Java 基本技術講義 クラス構造と生成 33 クラスの概念 前回の基本文法でも少し出てきたが, オブジェクト指向プログラミングは という概念をうまく活用した手法である. C 言語で言う関数に似ている オブジェクト指向プログラミングはこれら状態と振る舞いを持つオブジェクトの概念をソフトウェア開発の中に適用し 様々な機能を実現する クラス= = いろんなプログラムで使いまわせる 34 クラスの概念

More information

Java 2 - Lesson01

Java 2 - Lesson01 Java2 第 4 回 高度な GUI デザインの作成 キーポイント FocusListener の作成 Exercise 3 and 4 今まで学んだ機能を組み合わせて 高度なデザインの GUI を作成します レイアウトやイベントの作成については各自で考えて 工夫して下さい 作成する GUI の動作を確認したい場合は Java2 コースの Web ページ上にある jar ファイルをダウンロード 起動して動作を確認して下さい

More information

ガイダンス

ガイダンス プログラムの 1 行目に以下を入れること // vm12345 杉崎えり子 情報科学 B 第 14 回課題作成 3 情報科学 B Info2/3 info14 今日のフォルダー作成 情報科学 B 第 14 回課題作成 3 Report14_1.java 1 教科書 資料 過去のプログラムを見ながらで OK 課題 3( 提出 ) ボタンとアニメーション ( 第 13 回 ) を組み合わせて オリ ジナルのウィンドウを作成する

More information

JAVA入門

JAVA入門 JAVA 入門後期 10 情報処理試験例題解説 H14 年度秋問 8 次の Java プログラムの説明及びプログラムを読んで, 設問に答えよ プログラムの説明 ディジタル論理回路シミュレータを作成するためのクラスとテスト用クラスである (1) ゲートを表す抽象クラス Gate のサブクラスとして, NOT ゲートを表すクラス NotGate 及び AND ゲートを表すクラス AndGate を定義する

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション プログラマー勉強会 1 回 basic.h 補足 [ 修飾子 ] const 付けた変数は初期化以外で値を設定することができなくなる 定数宣言に使う unsigned 付けた変数は符号がなくなり 正の値しか設定できない [ 条件コンパイル ] #ifdef M ここ以前に M がマクロとして定義されていれば ここ以下をコンパイルする #ifndef M ここ以前に M というマクロが定義されていなければ

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

Microsoft PowerPoint - OOP.pptx

Microsoft PowerPoint - OOP.pptx 第 5 回 第 3 章継承 91 継承 ( インヘリタンス ): ウインドウシステムを例に説明 図 3.1: ウインドウの中にラベル, ボタン, リストの部品 各部品の属性と操作共通の属性と操作 ウインドウ内の左上を原点として (x, y) で場所指定 : 属性 (width, height) でサイズ指定 : 属性 識別のための名前 (name): 属性 置く位置の指定 (setlocation,

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅱ 4 回目クラスの機能 (2) コンストラクタ クラス変数 クラスメソッド課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) コンストラクタはメソッドと同様に戻り値をもつ (2) コンストラクタはオブジェクトが生成されると最初に実行される (3) コンストラクタはメソッドと同様にオーバーロードができる (4) コンストラクタは常に public メンバとしなければならない

More information

Microsoft PowerPoint - prog11.ppt

Microsoft PowerPoint - prog11.ppt プログラミング言語 3 第 11 回 (2007 年 12 月 10 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/57 1 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 12 月 10 日分と書いてある部分が 本日の教材です

More information

Microsoft PowerPoint - swing3.ppt

Microsoft PowerPoint - swing3.ppt Java/Swing について (3) 2005 年 10 月 19 日 海谷治彦 1 目次 メニューと AbstractAction ダイアログ ファイルダイヤログ Inner Class ( 内部クラス ) Anonymous Inner Class ( 無名内部クラス ) GUI でもちっとはクラス図を使おう. 実行可能アーカイブ (jar) の作り方 エクリプス無しでも実行したい. 2 メニューと

More information

< F2D F B834E2E6A7464>

< F2D F B834E2E6A7464> ランダムウォーク [Java アプレット ] [Java アプレリケーョン ] 1. はじめに 酔っぱらいは前後左右見境なくふらつきます 酔っぱらいは目的地にたどり着こうと歩き回っているうちに何度も同じところに戻って来てしまったりするものです 今 酔っぱらいが数直線上の原点にいるとします 原点を出発して30 回ふらつくとき 30 回目に酔っぱらいがいる位置は 出発点である原点からどれくらい離れてしまっているのでしょうか

More information

< F2D82518E9F8AD CC834F CC8CFC82AB82C68D4C>

< F2D82518E9F8AD CC834F CC8CFC82AB82C68D4C> 2 次関数のグラフの向きと広がり [Java アプレット ] [Java アプリケーション ] 1. はじめに 2 2 y=ax のグラフについて x の係数 aが正のときと負のときでは グラフにどのような違いがあるでしょうか 2 2 y=ax のグラフについて x の係数 aが正のとき 係数 aの値が大きくなるにつれて グラフの広がりはどうなるでしょうか 2 2 y=ax のグラフについて x の係数

More information

2008 e-learning T050050

2008 e-learning T050050 e-learning T050050 e-learning B NintendoDS e-learning html 1 e-learning Java Applet html 2 2008 e-learning T050050 1 1 1.1.................................. 1 1.2............................ 1 2 2 2.1..............................

More information

スライド 1

スライド 1 グラフィックスの世界第 3 回 サイバーメディアセンター サイバーコミュニティ研究部門安福健祐 Processing によるアニメーション setup と draw void setup() size(400, 400); void draw() ellipse( mousex,mousey,100,100); void とか setup とか draw とかはじめて見る が出てきてややこしい ellipseは円描く関数でした

More information

Animals サンプル Step 2 張り付けた動物の上をクリックすると それぞれの鳴き声で鳴く < 例外について > エラーや 通常の処理の中では起こってはいけない事象のことを例外といい 例外が起こる可能性がある場合はその対応処理を記述しなければならない 一般に java.lang パッケージの

Animals サンプル Step 2 張り付けた動物の上をクリックすると それぞれの鳴き声で鳴く < 例外について > エラーや 通常の処理の中では起こってはいけない事象のことを例外といい 例外が起こる可能性がある場合はその対応処理を記述しなければならない 一般に java.lang パッケージの Step2 を始める前に 音声が鳴るかどうかを確かめます 手順 1. 共有フォルダにある SoundTest.jar を適当な場所にコピー 2.PC のミュートを外す 3. ディスプレイのボリュームボタンを 0 以上にする 4. コピーした SoundTest.jar をダブルクリック 5. サウンド再生 1 をクリックしてみる 6.5 で鳴らなかったら サウンド再生 2 をクリックしてみる 7.6

More information

ウィンドウの構成ウィンドウはタイトルバーとウィンドウ枠からなります タイトルバーには最小化 / 最大化ボタンや閉じるボタンがあります また ウィンドウはクライアント領域をもちます クライアント領域にはボタンなど GUI 部品が配置されます GUI 部品配置 ( レイアウト ) ウィンドウ ( ステー

ウィンドウの構成ウィンドウはタイトルバーとウィンドウ枠からなります タイトルバーには最小化 / 最大化ボタンや閉じるボタンがあります また ウィンドウはクライアント領域をもちます クライアント領域にはボタンなど GUI 部品が配置されます GUI 部品配置 ( レイアウト ) ウィンドウ ( ステー HCI プログラミング 3 回目ウィンドウを表示してみよう 今日の講義で学ぶ内容 ウィンドウの表示 ウィンドウの最大/ 最小サイズと半透明化 複数のウィンドウと親子関係 ウィンドウの表示 1 ウィンドウを表示してみましょう ウィンドウアプリケーションは Application クラスを拡張して作成します ソースファイル名 :Sample3_1.java // ウィンドウの表示 public class

More information

awt の主要なクラスを下記に示す クラス Component Container Button Label Panel Frame 説明画面にユーザインターフェイス要素として表示し, ユーザとのやり取りを行うコンポーネントを表すすべてのコンポーネントのスーパークラスになる ほかのコンポーネントを含

awt の主要なクラスを下記に示す クラス Component Container Button Label Panel Frame 説明画面にユーザインターフェイス要素として表示し, ユーザとのやり取りを行うコンポーネントを表すすべてのコンポーネントのスーパークラスになる ほかのコンポーネントを含 第 3 章 GUI による電卓の実装 GUI の基礎とイベント処理について理解し, 前章で作成した演算プログラムを組み込んで電卓を作成 ( 実装 ) する 3.1 インターフェイス 文字などのコマンドだけでやりとりするインターフェイスを CUI(Command User Interface) と呼び, マウスなどでウインドウを操作して行うインターフェイスを GUI(Graphical User Interface)

More information

< F2D B825082CC96E291E82E6A7464>

< F2D B825082CC96E291E82E6A7464> 3x+1 の問題 [Java アプレット ] [Java アプリケーション ] 1. はじめに どんな自然数から始めても良いので その数が偶数ならば2で割り 奇数ならば3 倍して1を加えることを繰り返します そうすると どんな自然数から始めても必ず1になるというのはほんとうなのでしょうか 例えば 11から始めると 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1 となります

More information

C#の基本

C#の基本 C# の基本 ~ 開発環境の使い方 ~ C# とは プログラミング言語のひとつであり C C++ Java 等に並ぶ代表的な言語の一つである 容易に GUI( グラフィックやボタンとの連携ができる ) プログラミングが可能である メモリ管理等の煩雑な操作が必要なく 比較的初心者向きの言語である C# の利点 C C++ に比べて メモリ管理が必要ない GUIが作りやすい Javaに比べて コードの制限が少ない

More information

1 JAVA APPLET 実習 1. はじめに Java フォルダに applet フォルダを作成する 2. 実習問題の作成 J01.java public class J01 extends Applet{ public void paint(graphics kaku){ kaku.drawstring("hello World from Java!",60,70); j01.html

More information

< F2D834F838C A815B A CC>

< F2D834F838C A815B A CC> グレゴリー ライプニッツの公式 [Java アプレット ] [Java アプリケーション ] 1. はじめに 次のグレゴリー ライプニッツの公式を用いて π の近似値を求めてみましょう [ グレゴリー ライプニッツの公式 ] π 4 =1-1 3 + 1 5-1 7 + 1 9-1 + 11 シミュレーションソフト グレゴリー ライプニッツの公式による π の近似 を使って π の近似値が求まる様子を観察してみてください

More information

Microsoft PowerPoint - prog12.ppt

Microsoft PowerPoint - prog12.ppt プログラミング言語 3 第 12 回 (2007 年 12 月 17 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/57 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 12 月 17 日分と書いてある部分が 本日の教材です

More information

< F2D B838A835882CC8CF68EAE2E6A7464>

< F2D B838A835882CC8CF68EAE2E6A7464> ウォーリスの公式 [Java アプレット ] [Java アプリケーション ] 1. はじめに 次のウォーリスの公式を用いて π の近似値を求めてみましょう [ ウォーリスの公式 ] π=2{ 2 2 4 4 6 6 1 3 3 5 5 7 シミュレーションソフト ウォーリスの公式による π の近似 を使って π の近似値が求まる様子を観察してみてください 2.Java アプレット (1) Javaプログラムリスト

More information

問 1 図 1 の図形を作るプログラムを作成せよ 但し ウィンドウの大きさは と し 座標の関係は図 2 に示すものとする 図 1 作成する図形 原点 (0,0) (280,0) (80,0) (180,0) (260,0) (380,0) (0,160) 図 2 座標関係 問 2

問 1 図 1 の図形を作るプログラムを作成せよ 但し ウィンドウの大きさは と し 座標の関係は図 2 に示すものとする 図 1 作成する図形 原点 (0,0) (280,0) (80,0) (180,0) (260,0) (380,0) (0,160) 図 2 座標関係 問 2 問 1 図 1 の図形を作るプログラムを作成せよ 但し ウィンドウの大きさは 400 200 と し 座標の関係は図 2 に示すものとする 図 1 作成する図形 原点 (0,0) (280,0) (80,0) (180,0) (260,0) (380,0) (0,160) 図 2 座標関係 問 2 for 文を用いて図 3 の様な図形を描くプログラムを作成せよ 但し ウィンドウのサイズは 300 300

More information

コンピューターグラフィックスS

コンピューターグラフィックスS 前回の演習の復習 今日の内容 コンピューターグラフィックス S 第 7 回演習 (2): ポリゴンモデルの描画 システム創成情報工学科尾下真樹 前回の復習 ポリゴンの描画方法 ( 復習 ) 基本オブジェクトの描画 ポリゴンモデルの描画 演習課題 サンプルプログラム 前回の演習の復習 opengl_sample.c 地面と 枚の青い三角形が表示される マウスの右ボタンドラッグで 視点を上下に回転 前回の演習課題.

More information

演算増幅器

演算増幅器 コンピュータグラフィックス 2 前回は GLUT を使った簡単な 2 次元グラフィックスについて習った 今週は以下の項目について 補足していく イベント駆動型プログラムの動作について コンピュータグラフィックスの座標系 イベント駆動型プログラム従来のプログラムとの違いこれまでに学習してきたプログラムは上から下に順次実行され 条件分岐や繰り返し処理によって プログラムの流れ (flow: フロー )

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 2 第 6 回継承 コンストラクタ 1 講義資料について 新しい言語の機能 ( オブジェクト指向の機構 ) については 随時参考書などを参照するのがよい 過去の資料も参考になる http://java2005.cis.k.hosei.ac.jp/ 今回の範囲は 上記ページの 17 回に詳しい 2 テーマ : 継承 コンストラクタ 継承 (inheritance) インスタンス変数の継承

More information

コンピューターグラフィックスS

コンピューターグラフィックスS 今日の内容 コンピューターグラフィックス S 第 8 回 () システム創成情報工学科尾下真樹 28 年度 Q2 前回の復習 演習 (2): ポリゴンモデルの描画 変換行列 の概要 座標系 視野変換 射影変換 のまとめ 教科書 ( 参考書 ) コンピュータグラフィックス CG-ATS 協会編集 出版 2 章 ビジュアル情報処理 -CG 画像処理入門 - CG-ATS 協会編集 出版 章 (-2~-3

More information

Mapmakerfor の手順下絵を準備 作者の設定した大きさで作成する場合 下絵にする地図を挿入 トリミングと大きさの調整 大きさを調整した画像を保存 下絵を背景に設定 作成画面の大きさを調整 1 自分で用意した下絵を背景にする場合 下絵を背景に設定 作成画面の大きさを調整 画像が大きい場合シート

Mapmakerfor の手順下絵を準備 作者の設定した大きさで作成する場合 下絵にする地図を挿入 トリミングと大きさの調整 大きさを調整した画像を保存 下絵を背景に設定 作成画面の大きさを調整 1 自分で用意した下絵を背景にする場合 下絵を背景に設定 作成画面の大きさを調整 画像が大きい場合シート Mapmakerfor の手順下絵を準備 作者の設定した大きさで作成する場合 下絵にする地図を挿入 トリミングと大きさの調整 大きさを調整した画像を保存 下絵を背景に設定 作成画面の大きさを調整 1 自分で用意した下絵を背景にする場合 下絵を背景に設定 作成画面の大きさを調整 画像が大きい場合シートのズームを 100% に設定するとよいです 2 道路を描く 次ページから説明書きがありますのでよく読んで操作してください

More information

Microsoft PowerPoint - swing2.ppt

Microsoft PowerPoint - swing2.ppt Java/Swing について (2) 2005 年 10 月 11 日 海谷治彦 1 Adapterについて TextField TextArea Copy&Paste JList JComboBox JScrollPane レイアウトについて 目次 2 ソースコード 前回より抜粋 public class Listener1 { public static void main(string[]

More information

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問 Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問のメソッドを追加する public static void main(string[] args) {

More information

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド メソッド ( 教科書第 7 章 p.221~p.239) ここまでには文字列を表示する System.out.print() やキーボードから整数を入力する stdin.nextint() などを用いてプログラムを作成してきた これらはメソッドと呼ばれるプログラムを構成する部品である メソッドとは Java や C++ などのオブジェクト指向プログラミング言語で利用されている概念であり 他の言語での関数やサブルーチンに相当するが

More information

第1章 ビジュアルプログラミング入門

第1章 ビジュアルプログラミング入門 第 9 章アプレット 学習内容とねらい 本章では Java 言語で作ったプログラムを Web ブラウザ上で動作させる方法を学習します Java 言語には これまで作成してきた Windows アプリケーションの他に Web ブラウザ上で動作させる事のできるアプレットという形態があります このアプレットを利用すれば Web 上で Java プログラムを公開することもできます アプレットは Java 言語の普及当初は

More information

Java 2 - Lesson01

Java 2 - Lesson01 第 2 回 GUI コンポーネントのイベント処理 GUI Component Event Handling キーポイント イベント イベントリスナー イベント処理とは何か? ActionEventとActionListenerについて ItemEventとItemListenerについて TextEventとTextListenerについて KeyEventとKeyListenerについて AdjustmentEventとadjustmentListenerについて

More information

教材ドットコムオリジナル教材 0から始めるiアプリ (4) 0 から始める i アプリ (4) i アプリをプログラミングする際に必要なのは Java というプログラミング言語の基礎知識です 独自の命令や駆使してプログラミングをするわけですが Java というベースになっている言語を知らないでプログ

教材ドットコムオリジナル教材 0から始めるiアプリ (4) 0 から始める i アプリ (4) i アプリをプログラミングする際に必要なのは Java というプログラミング言語の基礎知識です 独自の命令や駆使してプログラミングをするわけですが Java というベースになっている言語を知らないでプログ 教材ドットコムオリジナル教材 0から始めるiアプリ (4) 0 から始める i アプリ (4) i アプリをプログラミングする際に必要なのは Java というプログラミング言語の基礎知識です 独自の命令や駆使してプログラミングをするわけですが Java というベースになっている言語を知らないでプログラムを記述することはあり得ません 本節では 新規プロジェクトを続けて作る際の注意事項と 簡単な Java

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

Java言語 第1回

Java言語 第1回 Java 言語 第 2 回簡単な Java プログラムの作成と実行 知的情報システム工学科 久保川淳司 kubokawa@me.it-hiroshima.ac.jp 簡単な Java プログラム Java プログラムのファイル名 Java プログラムのファイル名命名ルール ファイル名とクラス名は同じでなければならない HelloJava.java public class HelloJava { public

More information

< F2D E E6A7464>

< F2D E E6A7464> ピタゴラス数 [Java アプレット ] [Java アプリケーション ] 1. はじめに 2 2 2 三平方の定理 a +b =c を満たす3つの自然数の組 ( a, b, c) をピタゴラス数と言います ピタゴラス数の最も簡単な例として (3,4,5) がありますね このピタゴラス数を求めるには ピタゴラスの方法とプラトンの方法の2つの方法があります 2 2 ピタゴラス数 (a,b,c) に対して

More information

I. (i) Foo public (A). javac Foo.java java Foo.class (C). javac Foo java Foo (ii)? (B). javac Foo.java java Foo (D). javac Foo java Foo.class (A). Jav

I. (i) Foo public (A). javac Foo.java java Foo.class (C). javac Foo java Foo (ii)? (B). javac Foo.java java Foo (D). javac Foo java Foo.class (A). Jav 2018 06 08 11:00 12:00 I. I III II. III. IV. ( a d) V. VI. 80 40 40 100 60 : A ActionListener aa addactionlistener AE ActionEvent K KeyListener ak addkeylistener KE KeyEvent M MouseListener am addmouselistener

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 1 02 グラフゖックで簡単な図形を描く図形描画プログラム 1 今回作成するゕプリケーションの概要 ボタンをクリックすると図形を描くプログラム 行われる動作 [1] ボタンをクリック [2] そのボタンに対する図形を描く これを使用者とコンピュータの関係で描くと [ 使用者 コンピュータ ] ボタンをクリック [ 使用者 コンピュータ ] 図形を描画して見せる 使用者がコンピュータにすること ボタンをクリック

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double

More information

コンピュータグラフィックス第8回

コンピュータグラフィックス第8回 コンピュータグラフィックス 第 8 回 レンダリング技法 1 ~ 基礎と概要, 隠面消去 ~ 理工学部 兼任講師藤堂英樹 レポート提出状況 課題 1 の選択が多い (STAND BY ME ドラえもん ) 体験演習型 ( 課題 3, 課題 4) の選択も多い 内訳 課題 1 課題 2 課題 3 課題 4 課題 5 2014/11/24 コンピュータグラフィックス 2 次回レポートの体験演習型 メタセコイア,

More information

< F2D A838B838D96402E6A7464>

< F2D A838B838D96402E6A7464> モンテカルロ法 [Java アプレット ] [Java アプリケーション ] 1. はじめに 一辺の長さが 2 の正方形とそれに内接する半径 1 の円が紙に書かれています この紙の上からたくさんのゴマをばらまきます 正方形の中に入ったゴマの数と そのうちで円の中に入ったゴマの数も数えます さあ このゴマの数からどうやって円周率 π を求めるのでしょうか 一辺の長さ2の正方形の面積は4で

More information

pp2018-pp9base

pp2018-pp9base プログラミング入門 Processing プログラミング第 9 回 九州産業大学理工学部情報科学科神屋郁子 ( pp@is.kyusan-u.ac.jp ) 時限 クラス 水 1 機械 ( クラス 3) 水 2 機械 ( クラス 1) 水 4 電気 (B1 B2) 後ろ 5 列は着席禁止 3 人掛けの中央は着席禁止 今後の予定 第 9 回 : 複数の図形 (2) 繰り返しと座標変換第 回 : 画像の表示と音の再生

More information

< F2D8EA CE909482CC92EA82852E6A7464>

< F2D8EA CE909482CC92EA82852E6A7464> 自然対数の底 e [Java アプレット ] [Java アプリケーション ] 1. はじめに 対数は 17 世紀にネイピアやビュルギといった数学者たちが生み出した関数である 円周率 πと自然対数の底 eとは密接な関係があり どちらも無理数で超越数 ( 整数係数の代数方程式の解にならない実数 ) である 1737 年 オイラーは eが無理数であることを示した 1873 年 フランスの数学者エルミートは

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅱ 6 回目継承課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) 新しいクラスを宣言するとき既存のクラスを利用することはできない (2) 新しいクラスが既存のクラスのメンバーを受け継ぐことを継承という (3) クラスの拡張における既存のクラスをサブクラスという (4) サブクラスからスーパークラスの private メンバーをアクセスすることはできない (5)

More information

I 4 p.2 4 GUI java.awt.event.* import /* 1 */ import mouseclicked MouseListener implement /* 2 */ init addmouselistener(this) this /* 3 */ this mousec

I 4 p.2 4 GUI java.awt.event.* import /* 1 */ import mouseclicked MouseListener implement /* 2 */ init addmouselistener(this) this /* 3 */ this mousec I 4 p.1 4 GUI GUI GUI 4.1 4.1.1 MouseTest.java /* 1 */ public class MouseTest extends JApplet implements MouseListener /* 2 */ { int x=50, y=20; addmouselistener(this); /* 3 */ public void mouseclicked(mouseevent

More information

0 21 カラー反射率 slope aspect 図 2.9: 復元結果例 2.4 画像生成技術としての計算フォトグラフィ 3 次元情報を復元することにより, 画像生成 ( レンダリング ) に応用することが可能である. 近年, コンピュータにより, カメラで直接得られない画像を生成する技術分野が生

0 21 カラー反射率 slope aspect 図 2.9: 復元結果例 2.4 画像生成技術としての計算フォトグラフィ 3 次元情報を復元することにより, 画像生成 ( レンダリング ) に応用することが可能である. 近年, コンピュータにより, カメラで直接得られない画像を生成する技術分野が生 0 21 カラー反射率 slope aspect 図 2.9: 復元結果例 2.4 画像生成技術としての計算フォトグラフィ 3 次元情報を復元することにより, 画像生成 ( レンダリング ) に応用することが可能である. 近年, コンピュータにより, カメラで直接得られない画像を生成する技術分野が生まれ, コンピューテーショナルフォトグラフィ ( 計算フォトグラフィ ) と呼ばれている.3 次元画像認識技術の計算フォトグラフィへの応用として,

More information

< F2D825282CC947B909482CC A815B83682E6A>

< F2D825282CC947B909482CC A815B83682E6A> 3 の倍数のトランプカード 1. はじめに [Java アプレット ] [Java アプリケーション ] ここにトランプが 1 組あります ジョーカー 2 枚を除いて 52 枚を使います 3 の倍数は スペード クローバ ダイヤ ハートに それぞれ 3 と 6 と 9 と 12 の 4 枚ずつあるので 4 4=16 枚あります この 52 枚のトランプから 1 枚引いたとき そのカードが 3 の倍数である確率を考えます

More information

スライド 1

スライド 1 Graphics with Processing 2008-12 モデリング http://vilab.org 塩澤秀和 1 12.1 3D モデリング モデリング 3Dモデルを作り上げること オブジェクト座標系で基本図形やポリゴンを組み合わせる テクスチャ x テクスチャ z y 2 12.2 オブジェクトの関数例 複雑なオブジェクトは, 大きさ 1 を目安としてモデリングし, 関数にしておくと利用しやすい

More information

// ステージを設定します stage.setscene(scene); stage.settitle(" キャンバス "); // ステージを表示します stage.show(); public static void main(string[] args) launch(args); キャンバス

// ステージを設定します stage.setscene(scene); stage.settitle( キャンバス ); // ステージを表示します stage.show(); public static void main(string[] args) launch(args); キャンバス HCI プログラミング 11 回目グラフィックス 今日の講義で学ぶ内容 キャンバスと図形描画 マウスを用いたインタラクション ラジオボタンなど GUI 部品を用いたインタラクション キャンバスと図形描画 1 キャンバスに線を引いてみましょう 画用紙を表すキャンバスに図形を描くことができます ソースファイル名 :Sample11_1.java // HP よりインポート文をここへ貼り付けてください //

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 独習 Java ( 第 3 版 ) 6.7 変数の修飾子 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 Object クラスと Class クラス 6.7 変数の修飾子 (1/3) 変数宣言の直前に指定できる修飾子 全部で 7 種類ある キーワード final private protected public static transient volatile 意味定数として使える変数同じクラスのコードからしかアクセスできない変数サブクラスまたは同じパッケージ内のコードからしかアクセスできない変数他のクラスからアクセスできる変数インスタンス変数ではない変数クラスの永続的な状態の一部ではない変数不意に値が変更されることがある変数

More information

情報工学実験Ⅲ

情報工学実験Ⅲ 最終更新 :2016.10.27 IT 塾大学特別講座 テーマ :HTML による 3 次元グラフィックスの制作 福岡工業大学情報工学部情報工学科山澤一誠 (yamazawa@fit.ac.jp) 参考ページ ( 大学 3 年生の実験用ページ ) http://www.fit.ac.jp/~yamazawa/jikken3/ HTML による 3 次元グラフィックスの制作 1. 目的最新の Web3D

More information

Prog1_12th

Prog1_12th 2014 年 7 月 3 日 ( 木 ) 実施 GUIプログラミング今回の授業では,Java 言語での GUI(Graphical User Interface) プログラミングの基礎について学習する GUIツールキット Java 言語では,GUI プログラミング用のツールキットとして, 次のものが用意されている 1) AWT(Abstract Window Toolkit) 2) Swing AWT

More information

Microsoft PowerPoint - info_eng3_05ppt.pptx

Microsoft PowerPoint - info_eng3_05ppt.pptx インタラクティブシステム構築法 第 5 回 OpenGL と GLUT の使い方 (3) 埼玉大学情報システム工学科小林貴訓 シェーディング 光源の設定を有効にする glenable(gl_lighting); // 光源の設定を有効にする glenable(gl_light0); //0 番目の光源を有効にする (8 個まで設定可能 ) 光源の位置 GLfloat light0pos[] = {

More information

KeyListener init addkeylistener addactionlistener addkeylistener addkeylistener( this ); this.addkeylistener( this ); KeyListener public void keytyped

KeyListener init addkeylistener addactionlistener addkeylistener addkeylistener( this ); this.addkeylistener( this ); KeyListener public void keytyped KeyListener keypressed(keyevent e) keyreleased(keyevent e) keytyped(keyevent e) MouseListener mouseclicked(mouseevent e) mousepressed(mouseevent e) mousereleased(mouseevent e) mouseentered(mouseevent e)

More information

2/17 目次 I. はじめに... 3 II. 操作手順 (Controlの場合) 断面の作成 寸法測定 異なる断面間の寸法測定 繰り返し処理...11 III. 操作手順 (Verifyの場合) 断面の作成... 1

2/17 目次 I. はじめに... 3 II. 操作手順 (Controlの場合) 断面の作成 寸法測定 異なる断面間の寸法測定 繰り返し処理...11 III. 操作手順 (Verifyの場合) 断面の作成... 1 Geomagic Control / Verify 操作手順書 2D 断面における寸法測定 第 2 版 2016.6.1 会社名 連絡先変更初版 2016.3.10 新規発行 2/17 目次 I. はじめに... 3 II. 操作手順 (Controlの場合)... 4 1. 断面の作成... 4 2. 寸法測定... 6 3. 異なる断面間の寸法測定... 9 4. 繰り返し処理...11 III.

More information