変数
MELにおける変数
MELの変数はC言語に似ている。
しかし、全てが同じわけではないので注意が必要である。
MELの変数には以下の特徴がある。
- 変数名の先頭にどんな場合も必ず$がつく。
- 変数名は英数字と_ ( アンダースコアー )で作る。
先頭の文字は英字。
大文字・小文字の区別あり。
- 型がある。
- int、floatはC言語と同じ。
- double、char、shortなどは無い。
- string、vector、matrixという独自の型がある。
- 配列もある。
- 構造体は無し。
- 変数宣言をすることもできるが、宣言無しでいきなり使うこともできる。
プロシージャーの途中で宣言することもできる。
- 変数を使った演算は+、-、*、/、+=、-=、*=、/=、++、--、%、()などC言語と同じものを使うことができる。
%はfloatでも使うことができる。
sin、cosなども使える。(#include <math.h>などは必要無し)
- プロシージャーの引数にも使うことができる。
C言語と似ている。
下の例を参照のこと。
変数の例
半径を1づつ小さくしながら3個の球を接しながら並べるMELスクリプト。
- make3Sphere.melというファイルをviなどのエディターを使って作る。
global proc make3Sphere(int $r)
{
int $m;
sphere;
scale $r $r $r;
$r -= 1;
sphere;
scale $r $r $r;
$m = 2 * $r + 1;
move $m 0 0;
$r -= 1;
sphere;
scale $r $r $r;
$m += 2 * $r + 1;
move $m 0 0;
}
- MAYAを立ち上げる。
- 一番上のメニューバーから Window -> General Editors -> Script Editor によって
Script Editor を表示する。
- Script Editorの File -> Source Script によってmake3Sphere.melを読み込む。
- コマンドラインからmake3Sphere(3);と打ち込んで実行する。
- 半径3、2、1の3個の球が作られる。
練習
- 上のmake3Sphere.melを参考にして、5個の球がでるmake5Sphere.melというMELスクリプトを作ってみよう。
make5Sphere(5);と打ち込んで実行すると、
半径5、4、3、2、1の球が作られるようにする。
- そのmake5Sphere.melを半径が1づつ大きくなってゆくように書き換えてみよう。
例えば、make5Sphere(2)などと実行すると最初に半径2の球が作られて、
次に半径3、4、5、6の球が作られるようにする。
まとめ
- MELの変数名には必ず$がつく。
- MELの変数名の使用方法はC言語に似ている。
- MELの変数の計算方法もC言語に似ている。
参考
Prev | Next
Home | Contents
abe@injapan.net