sub_set03へ戻る

名称 ・・・・・・・

3次元ベクトルの実数倍

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

realVec3

スクリプトNo ・・・・・・・ sub_set03- 003
file名 ・・・・・・・ ScriptSet03.lzh
sub_set03のページからセットごとダウンロードしてください。
概略 ・・・・・・・

あるベクトルに実数をかけます。

使用例実行結果

これはスクリプトのtest()にある機能確認スクリプトを実行して「realVec3」ルーチンの結果を描画させたものです。

左図の黄色がvec1でこのベクトルの実数倍が赤(ちょっと暗いですが)ベクトルとなる。

紫の矢印はベクトルの向きを示しています。

使用前提 ・・・・・・・

戻り値を受け取る通常のバリアント変数(配列では無く)を宣言して用意しておく。

依存関係 ・・・・・・・

特になし

引数説明 ・・・・・・・

real
vec

:ベクトルにかける実数
:ベクトル

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

3次のベクトル [vec(2)形式]  通常のバリアント変数で受ける

変数説明 ・・・・・・・

newVec

:計算結果の一時記憶用[vec(2)形式]
:カウンタ用変数

注意点 ・・・・・・・

引数の順番を間違えないように 実数が先で、ベクトルが後です。

 
スクリプト
'---ベクトルの実数倍(3次元ベクトル)---------------------
function realVec3(real,vec)
  dim newVec(2),j
  for j=0 to 2
    newVec(j)=real*vec(j)
  next
  realVec3=newVec
end function
使用例
'ベクトルの実数倍のテスト
'変数はスクリプトのtest()を参照
  dim vecResult,real
  real=5
  vecResult=realVec3(real,vec1)
  for j=0 to 2
    XShade.Message"j="&j&"  ans="&vecResult(j)
  next
  drawVec pos0,vec1
  drawVec pos0,vecResult
  ColorSet Red
  XShade.ObjectName="整数倍("&real&"倍)"
  XShade.SelectParent 1

sub_set03へ戻る