実現したいこと
以下の添付したプログラムの①から④のメソッドの中身を完成させたい。
目的としては2つの三次元ベクトルから角度を求め度の単位で出力するというもの。
前提
①vector型オブジェクトをパラメータとして、自分自身とそのパラメータとの内積を計算し、戻り値とするメソッド。
②vector型オブジェクトをパラメータとして、自分自身とパラメータの2つのベクトルのなす角度を求めるメソッド。InProdメソッドを用いて作成すること。
2つのベクトルa,bがなす角度θは、
θ=〖cos〗^(-1) ((a・b)/√((a・a)*(b・b)))
で、計算できる。a・b は、ベクトルaとベクトルbの内積である。
③double型オブジェクトをパラメータとして、自分自身とその値との積を計算し、vector型のオブジェクトを戻り値とするメソッド(自分自身を書き変えてはいけない)
④ベクトル (1, 1, 0)とベクトル (1. 0. 1) とがなす角を求め、「度」単位で出力するプログラム。
現状一番呑み込めていないところは引数に(vector v)があるところでなんとなく数値が3つ送られていることは理解できます。その場合、aのみの内積bのみの内積の計算は何となくできそうな気がしますがaとbの内積を計算するには2つの情報がいるのにどうすればいいいのか?という感じで躓いています。
該当のソースコード
public class vector { private double a, b, c; public vector(double p1, double p2, double p3) { a=p1; b=p2; c=p3; } public double InProd(vector v){ ① } public double angle(vector v) { ② } public vector mul(double a) { ③ } } public class Ex02 { public static void main(String[] args) { ④ } }
回答2件
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。