- 追加された行はこの色です。
- 削除された行はこの色です。
**講義スライド [#sf0843ee]
#ref(./第9_5回.pdf);
**基礎クラス用演習問題 [#rd8fe980]
解答は
&size(20){ホスト名: earth.mlab.im.dendai.ac.jp};
&size(20){ディレクトリ: /home/submit/JavaBeginners/[今日の日付]/[学籍番号]};
に提出しなさい。ソースファイル (〜.java) のみを提出。
提出は gFTP 等の ftp ソフトを用いて行うこと。
&size(20){''提出先が木曜日と異なることに注意''};
***問題1(Beginners') [#y1786c1b]
各軸(x,y)の単位(=長さが1)2次元ベクトルを戻り値とする,createUnitXVector,createUnitYVectorを,mainメソッドを含むクラス(CreateUnitVector)に作成し,使用せよ.
各軸(x,y)の単位(=長さが1)2次元ベクトルを戻り値とする,createUnitXVector,createUnitYVectorメソッドを,mainメソッドを含むクラス(CreateUnitVector)に作成し,使用せよ(プログラム名:CreateUnitVector).
実行結果:
UnitX=(1.0, 0.0)
UnitY=(0.0, 1.0)
//Vector2Dクラスを作成
public class CreateUnitVector
{
static public void main(String[] args)
{
Vector ux, uy;
Vector2D ux, uy;
ux = createUnitXVector();
uy = createUnitYVector();
System.out.println("UnitX=(" + ux.getX() + ", " + ux.getY() + ")");
System.out.println("UnitX=(" + uy.getX() + ", " + uy.getY() + ")");
System.out.println("UnitY=(" + uy.getX() + ", " + uy.getY() + ")");
}
//ここに単位Xベクトルを戻り値とする
//createUnitXVectorメソッドを作成
//(staticを忘れずに)
//ここに単位Yベクトルを戻り値とする
//createUnitYVectorメソッドを作成
//(staticを忘れずに)
}
***問題2 [#a14bec33]
2つの2次元ベクトルを引数として,それらのベクトルの内積の計算結果を戻り値とするdotVectorメソッドをmainメソッドを含むクラス(DotVector)に作成し,使用せよ(プログラム名:DotVector).
//Vector2Dクラス
public class DotVector
{
static public void main(String[] args)
{
Vector2D ux, uy;
ux = createUnitXVector();
uy = createUnitYVector();
System.out.println("X軸単位ベクトル=(" + ux.getX() + ", " + ux.getY() + ")");
System.out.println("Y軸単位ベクトル=(" + uy.getX() + ", " + uy.getY() + ")");
double dot;
dot = dotVector(ux, uy);
double ang; //2つのベクトルa,bが単位ベクトルであれば,内積の値は
//cosΘ=ax・bx + ay・by
ang = Math.acos(dot); //よって内積の計算結果から逆余弦関数で
//2つのベクトル間の角度を得ることができる
ang = (ang / Math.PI) * 180.0; //単位をラジアンから度へ変換
System.out.println("2つのベクトル間の角度は" + ang + "度です");
}
//createUnitXVectorメソッド
//createUnitYVectorメソッド
//ここに2つのVector2Dを引き数として,
//内積の計算結果を戻り値とするdotVectorメソッドを作成
//(staticを忘れずに)
}