Graphics/2021/ex04
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*グラフィックス基礎及び実習 2021年度 第04回 実習と宿題 [#...
#contents
//&color(#ff0000){''工事中''};
//**注意 [#notice]
**実習課題A 締切: 当日15:15 [#kadaiA]
&color(#00a000){''以下のことをやって,作ったソースファイ...
&ref(https://www-tlab.math.ryukoku.ac.jp/~takataka/course...
次のことをやりなさい.
+ 上記のプログラムを作成する(&color(red){''画像の白字の...
+ 6行目を修正して自分の学籍番号と名前を出力するようにする
+ 7行目の hoge を書き換えて,「右下に向かうかめを表すイン...
+ 12行目を以下のように修正する.また,これにあわせて2行目...
kame.setColor(Color.CHOCOLATE);
+以下の4箇所にそれぞれ指定された処理を行う文を書きなさい...
--16行目: speedAllメソッドを呼び出してかめの速さを低速に...
--17行目: speedメソッドを呼び出して kame の速さを変える(...
--18行目: game の絵の大きさを 0.2 に変更する
--22行目: withTurtleAllの値を変化させる
+上記の4箇所は以下のアイウエのいずれかにあてはまる.各行...
--ア:インスタンスメソッドを呼び出している
--イ:インスタンス変数に値を代入している
--ウ:クラスメソッドを呼び出している
--エ:クラス変数に値を代入している
**実習課題B 締切: 当日16:10 [#kadaiB]
&color(#00a000){''以下のことをやって,作ったソースファイ...
#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 をダウンロードし,...
+ Graphics2021チーム上に HogeTurtle.class というファイル...
+ 上記の内容の G04HogeTurtle.java を作成し,実行しなさい...
&color(#a00000){VSCode で表示したソースコード中の HogeTur...
***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行目にクラス変数に値を代入する文を...
***step5 [#n10ce0d2]
19行目にコメントとして自分の名前と学籍番号を記し,できた...
**宿題 [#hw]
&color(#00a000){''次回授業までに必ずやっておくこと''};
次回の授業の資料(PDFや動画)等は [[こちら>../../2021#ex0...
+ 講義資料を入手.紙でほしい方は各自で印刷してください.
>
キャンパス内各所に設置されたプリンタで印刷することもでき...
<
+ 授業動画を視聴する
>
学内の実習室等に設置の PC ではスピーカから音が出ませんの...
<
+ 講義資料・授業動画に出てくるプログラムを実際に作って実...
**実習課題S(omake) 締切: 次回実習時間終了時 [#kadaiS]
&color(#00a000){''これはおまけ課題です.やらなくても減点...
&color(#00a000){''作ったソースファイルを moodle の該当の...
#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からはみ出すせいでかめは本当はスクロー...
終了行:
*グラフィックス基礎及び実習 2021年度 第04回 実習と宿題 [#...
#contents
//&color(#ff0000){''工事中''};
//**注意 [#notice]
**実習課題A 締切: 当日15:15 [#kadaiA]
&color(#00a000){''以下のことをやって,作ったソースファイ...
&ref(https://www-tlab.math.ryukoku.ac.jp/~takataka/course...
次のことをやりなさい.
+ 上記のプログラムを作成する(&color(red){''画像の白字の...
+ 6行目を修正して自分の学籍番号と名前を出力するようにする
+ 7行目の hoge を書き換えて,「右下に向かうかめを表すイン...
+ 12行目を以下のように修正する.また,これにあわせて2行目...
kame.setColor(Color.CHOCOLATE);
+以下の4箇所にそれぞれ指定された処理を行う文を書きなさい...
--16行目: speedAllメソッドを呼び出してかめの速さを低速に...
--17行目: speedメソッドを呼び出して kame の速さを変える(...
--18行目: game の絵の大きさを 0.2 に変更する
--22行目: withTurtleAllの値を変化させる
+上記の4箇所は以下のアイウエのいずれかにあてはまる.各行...
--ア:インスタンスメソッドを呼び出している
--イ:インスタンス変数に値を代入している
--ウ:クラスメソッドを呼び出している
--エ:クラス変数に値を代入している
**実習課題B 締切: 当日16:10 [#kadaiB]
&color(#00a000){''以下のことをやって,作ったソースファイ...
#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 をダウンロードし,...
+ Graphics2021チーム上に HogeTurtle.class というファイル...
+ 上記の内容の G04HogeTurtle.java を作成し,実行しなさい...
&color(#a00000){VSCode で表示したソースコード中の HogeTur...
***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行目にクラス変数に値を代入する文を...
***step5 [#n10ce0d2]
19行目にコメントとして自分の名前と学籍番号を記し,できた...
**宿題 [#hw]
&color(#00a000){''次回授業までに必ずやっておくこと''};
次回の授業の資料(PDFや動画)等は [[こちら>../../2021#ex0...
+ 講義資料を入手.紙でほしい方は各自で印刷してください.
>
キャンパス内各所に設置されたプリンタで印刷することもでき...
<
+ 授業動画を視聴する
>
学内の実習室等に設置の PC ではスピーカから音が出ませんの...
<
+ 講義資料・授業動画に出てくるプログラムを実際に作って実...
**実習課題S(omake) 締切: 次回実習時間終了時 [#kadaiS]
&color(#00a000){''これはおまけ課題です.やらなくても減点...
&color(#00a000){''作ったソースファイルを moodle の該当の...
#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からはみ出すせいでかめは本当はスクロー...
ページ名: