Graphics/2019/ex04
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*グラフィックス基礎及び実習 2019年度 実習第4回 [#hc4b2b41]
//&color(red){工事中};
#contents
**注意とおしらせ [#ann]
- 実習のすすめ方 [[Graphics/2019/ex00]]
- &color(#0000a0){この実習では,ls,cd,cpなどのUNIXのコマ...
**課題A(self) 完成目標: 今回の実習終了まで [#kadaiA]
+ 講義資料の「★2.8 インスタンス変数」,「★4.1 クラスとは...
+ 右のリンク先のPDFファイルを閲覧し,手書きの部分を講義資...
+ 以前作成した T23.java を実際に改造して動作確認しなさい...
&color(white,blue){check};
次の文の空欄に入る言葉を答えなさい(白字で書いてあるので...
+ 21行目の tScale と 22行の tColor はどちらも前に m2 が付...
+ 19行目と20行目の間に追加した文では,&color(white){Turtl...
+ 16行目の fd は,m1 という変数が表す一匹のかめさんを前進...
+ 12行目と13行目の間に追加したメソッドは,&color(white){T...
**課題B(self) 完成目標: 今回の実習終了まで [#kadaiB]
#ref(https://www-tlab.math.ryukoku.ac.jp/~takataka/course...
上記に示すソースプログラムに関する次の問題に解答しなさい.
実際にプログラムを作成&実行して修正を加えながら解答する...
+9行目を
Color c = new Color(1.0, 1.0, 0.0, 1.0);
と変更したとする.この時にプログラムを正しく動作させるた...
+右下に向かうかめを表すインスタンスを指しているのは,なん...
+以下の4カ所にそれぞれ指定された処理を行うにはどのように...
--A(15行目): speedAllメソッドを呼び出してかめの速さを低...
--B(16行目): speedメソッドを呼び出して kame の速さを変...
--C(17行目): game の絵の大きさを 0.2 に変更する
--D(21行目): withTurtleAllの値を変化させる
+以下のアイウエにあてはまる文を上記のABCDから選んで答えな...
--ア:クラス変数に値を代入している
--イ:クラスメソッドを呼び出している
--ウ:インスタンス変数に値を代入している
--エ:インスタンスメソッドを呼び出している
**課題C(TA) 締切: 次回実習開始直後 [#kadaiC]
#hr
''★ HogeTurtleクラスのAPI仕様''
HogeTurtleは,Turtleを拡張したクラス(「拡張したクラス」...
- ''コンストラクタ'' Turtleクラスと同様なので説明は省略.
- ''メソッド'' 以下のものの他,Turtle クラスのAPI仕様(p...
>
:void draw() | 現在のかめの位置でやつの絵を描く.やる気に...
:static void setBonusAll(int bonus) | 全てのかめのやる気...
<
- ''フィールド'' 以下のものの他,Turtle クラスのAPI仕様...
>
:int yaruki | かめのやる気.0以下ならやる気なし,1なら普...
:static boolean rainbowAll | true ならペンを虹色に変化さ...
<
#hr
***step0 [#hb9ca146]
&ref(https://www-tlab.math.ryukoku.ac.jp/~takataka/course...
+ 右のリンク先から HogeTurtle.class をダウンロードし,こ...
+ 上記の内容の G04HogeTurtle.java を作成し,実行しなさい...
***step1 [#h6affcf6]
G04HogeTurtle.java の 12, 15, 16行目にそれぞれ m1, m2, m3...
***step2 [#gb37ad09]
G04HogeTurtle.java の10,11行目にそれぞれ m2, m3 のインス...
***step3 [#ccab4eae]
G04HogeTurtle.java の13行目にクラスメソッドを呼び出す文を...
***step4 [#k3e0278b]
G04HogeTurtle.java の14行目にクラス変数に値を代入する文を...
**課題S(おまけ) [#kadaiS]
//&color(Red){工事中};
#pre{{
import tg.*;
public class G04Graph{
// クラス変数の宣言と初期化
public static final int WIDTH = 500;
public static final int HEIGHT = 500;
public static double XMAX = 1.0;
public static double YMAX = 1.0;
// 描画する関数
public static double f(double x){
return x*x;
}
// ピクセル単位のx座標の値(左端が0,右端がWIDTH)を
// グラフのx座標の値(真ん中が0,左端が -XMAX,右端が...
public static double toGraphX(int pixelX){
return XMAX * (double)(pixelX - WIDTH/2) / (WIDTH/2);
}
// グラフのy座標の値(真ん中が0,上端が YMAX,下端が-...
// ピクセル単位のy座標の値(上端が0,下端がHEIGHT)に...
public static int toPixelY(double graphY){
return (int)(-graphY / YMAX * (HEIGHT/2)) + HEIGHT/2;
}
// mainメソッド
public static void main(String[] args){
TurtleFrame f = new TurtleFrame(WIDTH, HEIGHT);
Turtle m = new Turtle();
f.add(m);
m.speed(5);
// X軸を描く
m.up();
m.moveTo(0, HEIGHT/2);
m.down();
m.moveTo(WIDTH - 1, HEIGHT/2);
// Y軸を描く
m.up();
m.moveTo(WIDTH/2, 0);
m.down();
m.moveTo(WIDTH/2, HEIGHT - 1);
// 曲線を描く
for(int px = 0; px <= WIDTH; px += 5){
double x = /* (a) px に対応するグラフの x 座標の値を...
int py = /* (b) グラフの y 座標の値を求め,それをピ...
if(px == 0){
m.up();
m.moveTo(px, py);
m.down();
}else{
m.moveTo(px, py);
}
}
}
}
}}
+ 上記のプログラムを作成し,実行してみなさい.ただし,(a)...
+ このプログラムの動作を理解し,説明できるようにしなさい.
+ このプログラムを修正して,下図のようなグラフが描かれる...
-- 描画する関数が &mathjax{\sin(2\pi x)}; となるようにメ...
-- ペンを虹色にするのは,Turtle クラスのかわりに HogeTurt...
-- main メソッド内は,上記の書き換えと
HogeTurtle.rainbowAll = true;
の追加以外にはいじらないこと.
-- toGraphX, toPixelY メソッドも変更しないこと
#ref(https://www-tlab.math.ryukoku.ac.jp/~takataka/course...
&size(14){少しFrameからはみ出すせいでかめは本当はスクロー...
終了行:
*グラフィックス基礎及び実習 2019年度 実習第4回 [#hc4b2b41]
//&color(red){工事中};
#contents
**注意とおしらせ [#ann]
- 実習のすすめ方 [[Graphics/2019/ex00]]
- &color(#0000a0){この実習では,ls,cd,cpなどのUNIXのコマ...
**課題A(self) 完成目標: 今回の実習終了まで [#kadaiA]
+ 講義資料の「★2.8 インスタンス変数」,「★4.1 クラスとは...
+ 右のリンク先のPDFファイルを閲覧し,手書きの部分を講義資...
+ 以前作成した T23.java を実際に改造して動作確認しなさい...
&color(white,blue){check};
次の文の空欄に入る言葉を答えなさい(白字で書いてあるので...
+ 21行目の tScale と 22行の tColor はどちらも前に m2 が付...
+ 19行目と20行目の間に追加した文では,&color(white){Turtl...
+ 16行目の fd は,m1 という変数が表す一匹のかめさんを前進...
+ 12行目と13行目の間に追加したメソッドは,&color(white){T...
**課題B(self) 完成目標: 今回の実習終了まで [#kadaiB]
#ref(https://www-tlab.math.ryukoku.ac.jp/~takataka/course...
上記に示すソースプログラムに関する次の問題に解答しなさい.
実際にプログラムを作成&実行して修正を加えながら解答する...
+9行目を
Color c = new Color(1.0, 1.0, 0.0, 1.0);
と変更したとする.この時にプログラムを正しく動作させるた...
+右下に向かうかめを表すインスタンスを指しているのは,なん...
+以下の4カ所にそれぞれ指定された処理を行うにはどのように...
--A(15行目): speedAllメソッドを呼び出してかめの速さを低...
--B(16行目): speedメソッドを呼び出して kame の速さを変...
--C(17行目): game の絵の大きさを 0.2 に変更する
--D(21行目): withTurtleAllの値を変化させる
+以下のアイウエにあてはまる文を上記のABCDから選んで答えな...
--ア:クラス変数に値を代入している
--イ:クラスメソッドを呼び出している
--ウ:インスタンス変数に値を代入している
--エ:インスタンスメソッドを呼び出している
**課題C(TA) 締切: 次回実習開始直後 [#kadaiC]
#hr
''★ HogeTurtleクラスのAPI仕様''
HogeTurtleは,Turtleを拡張したクラス(「拡張したクラス」...
- ''コンストラクタ'' Turtleクラスと同様なので説明は省略.
- ''メソッド'' 以下のものの他,Turtle クラスのAPI仕様(p...
>
:void draw() | 現在のかめの位置でやつの絵を描く.やる気に...
:static void setBonusAll(int bonus) | 全てのかめのやる気...
<
- ''フィールド'' 以下のものの他,Turtle クラスのAPI仕様...
>
:int yaruki | かめのやる気.0以下ならやる気なし,1なら普...
:static boolean rainbowAll | true ならペンを虹色に変化さ...
<
#hr
***step0 [#hb9ca146]
&ref(https://www-tlab.math.ryukoku.ac.jp/~takataka/course...
+ 右のリンク先から HogeTurtle.class をダウンロードし,こ...
+ 上記の内容の G04HogeTurtle.java を作成し,実行しなさい...
***step1 [#h6affcf6]
G04HogeTurtle.java の 12, 15, 16行目にそれぞれ m1, m2, m3...
***step2 [#gb37ad09]
G04HogeTurtle.java の10,11行目にそれぞれ m2, m3 のインス...
***step3 [#ccab4eae]
G04HogeTurtle.java の13行目にクラスメソッドを呼び出す文を...
***step4 [#k3e0278b]
G04HogeTurtle.java の14行目にクラス変数に値を代入する文を...
**課題S(おまけ) [#kadaiS]
//&color(Red){工事中};
#pre{{
import tg.*;
public class G04Graph{
// クラス変数の宣言と初期化
public static final int WIDTH = 500;
public static final int HEIGHT = 500;
public static double XMAX = 1.0;
public static double YMAX = 1.0;
// 描画する関数
public static double f(double x){
return x*x;
}
// ピクセル単位のx座標の値(左端が0,右端がWIDTH)を
// グラフのx座標の値(真ん中が0,左端が -XMAX,右端が...
public static double toGraphX(int pixelX){
return XMAX * (double)(pixelX - WIDTH/2) / (WIDTH/2);
}
// グラフのy座標の値(真ん中が0,上端が YMAX,下端が-...
// ピクセル単位のy座標の値(上端が0,下端がHEIGHT)に...
public static int toPixelY(double graphY){
return (int)(-graphY / YMAX * (HEIGHT/2)) + HEIGHT/2;
}
// mainメソッド
public static void main(String[] args){
TurtleFrame f = new TurtleFrame(WIDTH, HEIGHT);
Turtle m = new Turtle();
f.add(m);
m.speed(5);
// X軸を描く
m.up();
m.moveTo(0, HEIGHT/2);
m.down();
m.moveTo(WIDTH - 1, HEIGHT/2);
// Y軸を描く
m.up();
m.moveTo(WIDTH/2, 0);
m.down();
m.moveTo(WIDTH/2, HEIGHT - 1);
// 曲線を描く
for(int px = 0; px <= WIDTH; px += 5){
double x = /* (a) px に対応するグラフの x 座標の値を...
int py = /* (b) グラフの y 座標の値を求め,それをピ...
if(px == 0){
m.up();
m.moveTo(px, py);
m.down();
}else{
m.moveTo(px, py);
}
}
}
}
}}
+ 上記のプログラムを作成し,実行してみなさい.ただし,(a)...
+ このプログラムの動作を理解し,説明できるようにしなさい.
+ このプログラムを修正して,下図のようなグラフが描かれる...
-- 描画する関数が &mathjax{\sin(2\pi x)}; となるようにメ...
-- ペンを虹色にするのは,Turtle クラスのかわりに HogeTurt...
-- main メソッド内は,上記の書き換えと
HogeTurtle.rainbowAll = true;
の追加以外にはいじらないこと.
-- toGraphX, toPixelY メソッドも変更しないこと
#ref(https://www-tlab.math.ryukoku.ac.jp/~takataka/course...
&size(14){少しFrameからはみ出すせいでかめは本当はスクロー...
ページ名: