見出し画像

高校数学10分プログラミング(数学B編 2.空間のベクトル)5日目「空間ベクトルの内積を考える2」解説

マガジンリスト > 数学B編 2.空間のベクトル > 5日目 解説

本日の課題、おつかれさまでした。

課題の2つのベクトル$${ \vec{a}, \vec{b} }$$のそれぞれの大きさと内積を計算し、そのなす角を求めるプログラムを作成することができたでしょうか。


解答例

今回の課題の2つのベクトル$${ \vec{a}, \vec{b} }$$のそれぞれの大きさと内積を計算し、そのなす角を求めるプログラムの例を示します。

// 2つの空間ベクトルの内積とそのなす角を計算する
void setup(){

  // 2つの空間ベクトル
  PVector a = new PVector(1.0, 1.0, 0.0);
  PVector b = new PVector(1.0, 2.0, -2.0);

  // 2つのベクトルの大きさ
  float magnitude_a = a.mag();
  float magnitude_b = b.mag();
  
  // 2つのベクトルの内積を計算する
  float innerproduct = b.dot(a);
  
  // なす角を求める
  float theta = degrees( PVector.angleBetween(a,b) );
  
  println( "ベクトルaの大きさ:", magnitude_a);
  println( "ベクトルbの大きさ:", magnitude_b);
  println( "ベクトルの内積:", innerproduct);
  println( "ベクトルのなす角:", theta);
  
}

ソースコード2 2つのベクトル$${ \vec{a}, \vec{b} }$$のそれぞれの大きさと内積を計算し、そのなす角を求めるプログラム(完成版)

ソースコード2を、スケッチ「calcInnerProduct3D2」のテキストエディタ部分に書いて実行すると、コンソールに

ベクトルaの大きさ: 1.4142135
ベクトルbの大きさ: 3.0
ベクトルの内積: 3.0
ベクトルのなす角: 45.0

と出力されます(図1)。

図1 スケッチ「calcInnerProduct3D2」の実行結果

この結果が、前回(4日目)の結果と丸め誤差の範囲で一致していることが確認できます。


本日は以上です。
次回は、空間の位置ベクトルについて考えていきます。

次回もよろしくお願いします。


読んだ感想などをお寄せください

本記事を読んだ感想や質問などを以下のお問い合せフォームからお寄せください。(お問合せフォームの本文に、本記事のタイトルを入れてください。)


MK’s papa


いいなと思ったら応援しよう!