講義スライド

基礎クラス用演習問題

解答は

ホスト名: earth.mlab.im.dendai.ac.jp

ディレクトリ: /home/submit/JavaBeginners/[今日の日付]/[学籍番号]

に提出しなさい。ソースファイル (〜.java) のみを提出。 提出は gFTP 等の ftp ソフトを用いて行うこと。

提出先が木曜日と異なることに注意

問題1(Beginners')

各軸(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

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を忘れずに)
}

添付ファイル: file第9_5回.pdf 1358件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-11-25 (金) 20:29:14