MAXScript での数学演算

前のレッスンで確認した文字列に加えて、その他のタイプのデータを MAXScript に入力できます。

MAXScript は単に数字を数として認識するだけではなく、数学演算も実行できます。

文字列のように数字そのものを入力するだけで、MAXScript はこれをエコーバックして数字として評価し、その値を表示します。

これで数学演算がもっと面白くなります。

基本的な数学演算

MAXScript にはたくさんの関数が組み込まれているので、MAXScript を計算機として使うことができます。

たとえば、特定の次元を 2 倍にする場合は、36.5 * 2 と入力します。

 

MAXScript はこの計算結果を返します。外部の計算プログラムをロードする必要もなく、急な計算が手軽に処理できます。

MAXScript は、いくつかの数学定数も認識します。pi と入力します。

 

MAXScript は pi の値を認識しているので、これを返します。

この値をさらに複雑な演算で使用できます。たとえば、半径 2.5 インチの球の体積を求める場合は、半径の 3 乗に pi をかけて、これに 4.0 をかけて、さらに 3.0 で割ります。4.0/3.0 * pi * 2.5^3 と入力します。

 

文字列による演算

文字列を使って簡単な数学演算を実行することもできます。たとえば、a="MAXScript" および b=" is fun!" と定義し、a+b と入力すると、"MAXScript is fun!" と返します。

 

文字列演算の詳細は、「String Values」を参照してください。

その他の数学演算

MAXScript では、ほとんどの三角関数 (sin、cosh、atan) および超越関数 (exp、log、sqrt) を含む数多くの数学演算を実行することができます。このトピックでは、乱数や増分といった最も役に立つ 2 つの演算について説明します。MAXScript でサポートされている演算の完全なリストについては、「数値」を参照してください。

乱数の作成

MAXScript で非常に役に立つ数学演算の 1 つは、乱数関数です。ユーザが指定した 2 つの引数間で包括的に選択された擬似乱数を返します。

例:

random 1 100

{1 から の間のランダムな整数を返します。

戻り値のタイプ (実数または整数) は、関数の最初の引数のタイプと同じになります。

random 1.0 100

この場合は、1.0 から 100.0 の間のランダムな実数を返します。

 

注:

このチュートリアルでは詳しく説明しませんが、random コマンドは、スクリプトを実行するたびに同じ「乱数」を生成します。これは、ソフトウェアを再起動してスクリプトを実行するときに、スクリプトを繰り返し実行しない場合に起こります。ソフトウェアを起動するたびに、random 関数で作成される値を変更したい場合は、seed コマンドを使用します。

seed <number>
ここでは、<number>は、整数または実数です。seed 値を変更するたびに、MAXScript は新しい「乱数」を生成します。

増分

MAXScript が提供するもう 1 つの便利な数学演算は、増分です。これは、次の例で示すような長い書式で、値を所定の位置に修正する場合に使える代入の略語形式です。

x = x + 1

4 つの数値演算子 (+、-、*、/) には、対応する代入演算子があり、これらは代入先に演算を適用して、代入先を結果で更新します。代入演算子の構文は次のとおりです。

<destination> += <expr> -- add <expr> to destination
<destination> -= <expr> -- subtract <expr> from destination
<destination> *= <expr> -- multiply destination by <expr>
<destination> /= <expr> -- divide destination by <expr>

代入の略語形式を使うと、上の例を次のように記述することができます。

x += 1

次のトピック

MAXScript によるボックスの描画