ミニスクリプト集MENUへ戻る

名称 ・・・・・・・

2点間の距離

ルーチン名 ・・・・・・・

PointsDistance

スクリプトNo ・・・・・・・ sub- 006
file名 ・・・・・・・ script006.vbs(右クリックのコンテクストメニューでダウンロードできます。(windowsのみ)
修正(2003/05/26)UTF-8からANSIに統一。
概略 ・・・・・・・

始点と終点の座標から2点間の距離を計算する。

使用前提 ・・・・・・・

始点と終点の座標値を一次の配列で用意しておく

依存関係 ・・・・・・・

特に無し

引数説明 ・・・・・・・

pos1:始点の座標データ配列 (pos1(0):x座標値、pos1(1):y座標値、pos(2):z座標値)
pos2:終点の座標データ配列 (pos1(0):x座標値、pos1(1):y座標値、pos(2):z座標値)

戻り値説明 ・・・・・・・

二点間の距離が返される。

変数説明 ・・・・・・・

:D:計算途中の値を一時保管する。

注意点 ・・・・・・・

引数に渡すデータを間違わないように注意

 
スクリプト
'与えられた2点の座標データから距離を計算する。
function PointsDistance(pos1,pos2)
  dim D,j
  D=0
  for j=0 to 2
    D=D+(pos2(j)-pos1(j))^2
  next
  PointsDistance=D^(1/2)
end function
使用例
'座標データをmainルーチンで与えPointDistance関数で距離を求めるサンプル。
call main()

sub main()
  dim pt1(2),pt2(2)
'座標データの設定
  pt1(0)=100
  pt1(1)=200
  pt1(2)=150
  pt2(0)=1200
  pt2(1)=1500
  pt2(2)=1300
'距離計算ルーチンの呼び出し
  Dist=PointsDistance(pt1,pt2)
  Dist=Int(Dist*100)/100  '表示用に小数点以下2位でまるめる。
  XShade.message("2点間の距離は"&Dist&"です。")
end sub

ミニスクリプト集MENUへ戻る