[PHP]三次元空間での2点を結ぶ線分の中点

Pocket

数学の授業で習ったような気もしますが完全に忘れていたので自分のために書き留めておきます。

function get_middle_point($p1, $p2){
  $pm = array();

  $pm[] = ( $p1[0] + $p2[0] ) / 2;
  $pm[] = ( $p1[1] + $p2[1] ) / 2;
  $pm[] = ( $p1[2] + $p2[2] ) / 2;
	
  return $pm;
}

$p1 = array(5, 10, 3);
$p2 = array(20, 2, 10);

var_dump(get_middle_point($p1, $p2));

Wikipedia によると、

“一般に n 次元ユークリッド空間上の2点 A, B を直交座標系であらわし、それぞれを (a0, …, an-1), (b0, …, bn-1) とするとその中点は (a0 + b0) / 2, … , (an-1 + bn-1) / 2 である。”

ということですが、自分にとってはプログラムのソースを見たほうがわかりやすいと思います。

http://ja.wikipedia.org/wiki/%E4%B8%AD%E7%82%B9


Similar Posts:




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です