Z Surfer's Blog

百聞は一見にしかず!ビジュアライゼーションの最前線を考えるブログ!      Translate to English

2008-03

FSL基本講座06



読み方
プログラミングに慣れていない人のために基本を少しだけ。




for文(繰り返し)

  for(i=1;i<=10;i++){
     result=result+i;
  }
iは1。iが10以下の間、iを1つずつ増やす。





if文(条件分岐)

  if(n == 0){
     a();
  }else{
     b();
  }
nが0なら a() を実行する。nが0でないなら b() を実行する。

test1_zip.txt

最低限この2つをマスターしてれば大抵のことができます。
ほか、while文やswitch文などもよく使いますが、初心者は混乱するので、とりあえずいいです。(上の2つでも代用できるし...。)
もう少し勉強したい人はGoogle様に訊いてください。CとかC++と文法一緒です。




いよいよ次から少し実用的な応用をやります!


FSL基本講座05



だいたい大枠は説明したので少し細かいところも見ていきましょう。


今回はプログラム内で使う基本的な "アイテム" について説明します。




変数(variable)
変数というのは値をやり取りするときの "入れ物" です。
データタイプ(変数の型)によって専用の入れ物があります。
これらを使う場合ははじめに宣言しなければなりません。

たとえば、数値を扱うもの、文字列を扱うもの、論理値を扱うものなどがあります。
サンプルでは変数名の型がわかりやすいような名前が付けられています。
long     lval(整数)
double     dval(実数)
fz_string_td    str," hellow "(文字列)
fzrt_boolean    TRUEかFALSE (論理値)
etc...

FSLの場合、他にも専用の型がいろいろあります。
fz_xy_td
fz_xyz_td
fz_rgb_float_td
fz_xyz_mm_td
etc...
(※ _td は "type data" の略)





enum(enumeration)
これはあらかじめ定められた特定の値しか取れない変数です。
最後に _enum が付きます。
たとえば、fz_objt_model_type_enumなら取れる値は以下の3つ。
FZ_OBJT_MODEL_TYPE_UNSPEC
FZ_OBJT_MODEL_TYPE_FACT
FZ_OBJT_MODEL_TYPE_SMOD





ポインタ(pointer)
ポインタというのは、どのデータを処理しているのかを指し示すマーカーみたいなものです。
ポインタ用の変数はデータタイプを示す名前の最後に _ptr が付きます。これも変数の一種です。
fz_objt_ptr
fz_layr_ptr
fzrt_floc_ptr





関数(function)
関数というのは、何らかの処理をする機能を提供するものです。
たとえば、fz_objt_cnstr_cyln() は円柱を作るための関数です。
名前の頭に "fz_" が付いて、だいたい意味がわかるような名前になってます。
fz_objt_attr_get_objt_layer()
fz_objt_alys_get_objt_centroid()
fz_view_new_camera()

算術関数や文字列用の関数は
"FZ_MATH_" や、 "fz_std_" などが付いています。
FZ_MATH_3D_MID_PT()
FZ_PI
fz_std_sin()
fz_std_strcat()
fz_std_strlen()





ユーザー関数
複数の機能をまとめて1つにしたものをユーザー関数といいます。
ユーザー関数には大きく分けて2つの種類があります。
"値を返すもの" と "返さないもの" です。
返すものには、頭に返す値のデータタイプを示し、最後にreturn (返す)します。
返さないものにはvoidをつけます。(あるいはlongで代用したりします。)
ユーザー関数の名前は自由に付けられます。

double ichikaranmadetasu(long n)
{
   long i,result=0;

   for(i=1;i<=n;i++){
      result=result+i;
   }
return result;
}

呼び出すときは、ichikaranmadetasu(10);
この場合は1から10まで足して55を返します。





他にもいくつかありますが、このへんのことがわかってれば大抵のことは出来ます。
もっと細かいことはAPI Referenceを参照してください。


次回はfor文やif文などの基本文型を少しやります。

 | HOME | 
無料ホームページ アフィリエイト レンタルサーバー FC2ブログ 一戸建て

 

Category


Recent Entries


Recent Comments


Archive


Tags

formZ fsl modo Maxwell pylon Silo max chair Photoshop Maya script Melbourne mentalray サンプル ワイヤーフレーム 間接照明 チュートリアル 透過マップ matrix 描画エンジン ヤシの木" 屋根 パースの下絵 .fsl コンター contour 7500 スクリプト 等高線 テキスト メッシュ ブロック図形 覚え書き レイヤ分け フラット化 スウィープ Google GoogleEarth GR Eiffel Earth Illustrator RenderZone BonZai View SketchUp Rhinoceros DIGITAL AutoCAD max9 3ds 絶対角度 コンパクトカメラ パノラマ写真 トレンクル formz paris furniture コルビュジエ 読み込み 


Links

このブログをリンクに追加する


Profile

Takeharu Yabe


Mail


RSS



Search



Counter