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

名称 ・・・・・・・

データからの線形状描画の例

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

LineDraw

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

与えられたデータ(規定の変数)を元に線形状を描画する。

使用前提 ・・・・・・・

呼び出し前に線形状の数、座標データ(sub-004形式)を前もって用意しておく

依存関係 ・・・・・・・

特に無し(使用例では間接的にsub-004の戻り値データに依存します。)

引数説明 ・・・・・・・

Vec3:3次元配列、または配列を含むバリアント変数。
   1次元   アンカーポイントの追番(0〜)
   2次元   座標(0:x、1:y、2:z)
   3次元   ポイントの種類(0:アンカーポイント、1:インハンドル、2:アウトハンドル)
OpenClose:線形状の開閉(0:開いた線形状、1:閉じた線形状)
NA:線形状のアンカーポイントの数

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

無し

変数説明 ・・・・・・・

i:for nextのカウンター用変数

注意点 ・・・・・・・

このsabを呼び出す前に必要な宣言とデータの準備を済ませておく。
下記の使用例では座標データを取得するためにsub-004のGetVec3というfanctionを使用します。
ダウンロード用のファイルにはこのfanctionも含まれています。

 
スクリプト
'与えられたデータで線形状を描画する。
sub LineDraw(Vec3,OpenClose,NA)
Dim i
XShade.StartPolygon OpenClose
for i=0 to NA-1
XShade.AppendPoint2 Vec3(i,0,0),Vec3(i,1,0),Vec3(i,2,0),_
Vec3(i,0,1),Vec3(i,1,1),Vec3(i,2,1),_
Vec3(i,0,2),Vec3(i,1,2),Vec3(i,2,2)
next
XShade.FinishPolygon()
end sub
使用例
call main

'インハンドル、アウトハンドルを持つ線形状(ベジェ曲線)のイン・アウトハンドルを削除するサンプル
'実用上はRemoveInHandle、RemoveOutHandleメソッドを利用する方が効率的です。
sub main()
  dim NA,Vec3,i,j,k
  NA=XShade.NumberOfAnchorPoints()
  Vec3=GetVec3(NA)
  for i=0 to NA-1
   for k=0 to 2
    for j=0 to 2
      if k<>0 then Vec3(i,j,k)=Vec3(i,j,0)
    next
   next
  next
  LineDraw Vec3,1,NA
end sub

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