**講義スライド [#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)に作成し,使用せよ(プログラム名:CreateUnitVector). 実行結果: UnitX=(1.0, 0.0) UnitY=(0.0, 1.0) //Vector2Dクラスを作成 public class CreateUnitVector { static public void main(String[] args) { Vector2D ux, uy; ux = createUnitXVector(); uy = createUnitYVector(); System.out.println("UnitX=(" + ux.getX() + ", " + ux.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を忘れずに) } }