Graphics/2020/ex05
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*グラフィックス基礎及び実習 2020年度 授業第5回 [#kd45822f]
//&color(Red){''工事中''};
#contents
**授業の進め方と準備 [#l5135b5b]
前回までの作業ができてないひとは,まずは以下を確認して準...
- [[Graphics/2020/ex00]]
- [[Graphics/2020/ex01]]
- [[Graphics/2020/ex02]]
**ex05 step1 から step5 [#step1_6]
- Step1 から Step 5 までは,主としてGraphicsチーム内で活...
- Step6 は,以下の課題に関する説明です
**ex05 課題A [#kadaiA]
//&color(Red){''工事中''};
''提出期限: 0508金16:50''
- VSCode で T23.java を開いた状態のスクリーンショットを撮...
- スクリーンショットの撮り方を忘れたひとは https://www-tl...
**ex05 課題B [#kadaiB]
//&color(Red){''工事中''};
''提出期限: 0508金18:30''
&ref(https://www-tlab.math.ryukoku.ac.jp/~takataka/course...
次のことをやりなさい.
+ 上記のプログラムを作成する(G05Kamegame)
+ 6行目を修正して自分の学籍番号と名前を出力するようにする
+ 7行目の hoge を,「右下に向かうかめを表すインスタンスの...
+ 12行目を以下のように修正する.また,これにあわせて2行目...
kame.setColor(Color.CHOCOLATE);
+以下の4箇所にそれぞれ指定された処理を行う文を書きなさい...
--16行目: speedAllメソッドを呼び出してかめの速さを低速に...
--17行目: speedメソッドを呼び出して kame の速さを変える(...
--18行目: game の絵の大きさを 0.2 に変更する
--22行目: withTurtleAllの値を変化させる
+上記の4箇所は以下のアイウエのいずれかにあてはまる.各行...
--ア:クラス変数に値を代入している
--イ:クラスメソッドを呼び出している
--ウ:インスタンス変数に値を代入している
--エ:インスタンスメソッドを呼び出している
+ 完成したら,プログラムのソースファイルをこの科目の Mood...
-- この科目の Moodle コースへの参加法などは Graphicsチー...
-- 上記ファイルは締切後に自動的に処理します.コンパイルエ...
**ex05 課題C [#kadaiC]
//&color(Red){''工事中''};
''提出期限: 0514木23:59''
#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行目にクラス変数に値を代入する文を...
***step5 [#n10ce0d2]
19行目にコメントとして自分の名前と学籍番号を記し,できた...
**ex05 課題S [#kadaiS]
//&color(Red){''工事中''};
''期限: 0514木23:59.これはおまけ課題です.やらなくても減...
//&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からはみ出すせいでかめは本当はスクロー...
終了行:
*グラフィックス基礎及び実習 2020年度 授業第5回 [#kd45822f]
//&color(Red){''工事中''};
#contents
**授業の進め方と準備 [#l5135b5b]
前回までの作業ができてないひとは,まずは以下を確認して準...
- [[Graphics/2020/ex00]]
- [[Graphics/2020/ex01]]
- [[Graphics/2020/ex02]]
**ex05 step1 から step5 [#step1_6]
- Step1 から Step 5 までは,主としてGraphicsチーム内で活...
- Step6 は,以下の課題に関する説明です
**ex05 課題A [#kadaiA]
//&color(Red){''工事中''};
''提出期限: 0508金16:50''
- VSCode で T23.java を開いた状態のスクリーンショットを撮...
- スクリーンショットの撮り方を忘れたひとは https://www-tl...
**ex05 課題B [#kadaiB]
//&color(Red){''工事中''};
''提出期限: 0508金18:30''
&ref(https://www-tlab.math.ryukoku.ac.jp/~takataka/course...
次のことをやりなさい.
+ 上記のプログラムを作成する(G05Kamegame)
+ 6行目を修正して自分の学籍番号と名前を出力するようにする
+ 7行目の hoge を,「右下に向かうかめを表すインスタンスの...
+ 12行目を以下のように修正する.また,これにあわせて2行目...
kame.setColor(Color.CHOCOLATE);
+以下の4箇所にそれぞれ指定された処理を行う文を書きなさい...
--16行目: speedAllメソッドを呼び出してかめの速さを低速に...
--17行目: speedメソッドを呼び出して kame の速さを変える(...
--18行目: game の絵の大きさを 0.2 に変更する
--22行目: withTurtleAllの値を変化させる
+上記の4箇所は以下のアイウエのいずれかにあてはまる.各行...
--ア:クラス変数に値を代入している
--イ:クラスメソッドを呼び出している
--ウ:インスタンス変数に値を代入している
--エ:インスタンスメソッドを呼び出している
+ 完成したら,プログラムのソースファイルをこの科目の Mood...
-- この科目の Moodle コースへの参加法などは Graphicsチー...
-- 上記ファイルは締切後に自動的に処理します.コンパイルエ...
**ex05 課題C [#kadaiC]
//&color(Red){''工事中''};
''提出期限: 0514木23:59''
#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行目にクラス変数に値を代入する文を...
***step5 [#n10ce0d2]
19行目にコメントとして自分の名前と学籍番号を記し,できた...
**ex05 課題S [#kadaiS]
//&color(Red){''工事中''};
''期限: 0514木23:59.これはおまけ課題です.やらなくても減...
//&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からはみ出すせいでかめは本当はスクロー...
ページ名: