[ 前へ | 目次 | 次へ ]

ベクトル演算

ここでは、配列同士の演算である、ベクトル演算を扱います。


ベクトル演算

ベクトル演算とは、大量の値に対して、同じ処理規則を適用するような演算のことです。 これに対し、1 つずつの値に対する演算をスカラ演算と呼びます。

VCSSL では、配列変数同士の演算において、全要素に同じ演算を行うベクトル演算をサポートしています。

ベクトル演算を行うには、原則として、式の中にある全配列変数の次元と要素数が等しい必要があります。 ただし代入(=)では要素数が異なっても構いません。 また、式には配列でない変数を含ませる事も可能で、その場合、配列でない変数は、 要素が全て等しい配列変数と同様に扱われます。

ベクトル演算子

VCSSL では、以下のようなベクトル演算子がサポートされています:

記号 意味 扱える型 詳細
 = ベクトル
代入演算
全ての型 右の配列の中身を、左の配列に代入します。代入後の左辺の要素数は、右辺と同じになります。
 + ベクトル
加算
int,
float,
complex,
varint,
varfloat,
varcomplex,
string
右の配列の中身と、左の配列の中身を、同じインデックスのもの同士で全て加算します。配列の次元と要素数が異なる場合には使用できません。
 - ベクトル
減算
int,
float,
complex,
varint,
varfloat,
varcomplex
ベクトル加算が減算になったものです。
 * ベクトル
乗算
int,
float,
complex,
varint,
varfloat,
varcomplex
ベクトル加算が乗算になったものです。
 / ベクトル
除算
int,
float,
complex,
varint,
varfloat,
varcomplex
ベクトル加算が除算になったものです。
 % ベクトル
剰余算
int,
varint
ベクトル加算が剰余算になったものです。
 ** ベクトル
指数
float,
varfloat
ベクトル加算が指数演算になったものです。

ベクトル加算を行う

実際に、ベクトル加算を行ってみましょう:

- 実行結果 -

30

これを実行すると 30 が表示されます。少し長いプログラムなので、処理内容を追ってみましょう。

まず、要素数が11 個の配列a,b が用意され、そしてa の中には1 から10 までの整数の2 乗が代入され、 b の中には1 から10 までの整数がそのまま代入されます。 続いて、要素数が11 個の配列c が用意されます。

続いて「 c = a + b 」というベクトル加算が実行され、これにより、c の中身には、

c[0] = a[0] + b[0] ;
c[1] = a[1] + b[1] ;

c[10] = a[10] + b[10] ;

という内容が代入されます。

そしてc[5]を出力する関数が呼ばれ、プログラムが終了します。

c[5]には5*5+5 が入っているはずですから、確かに30 という値は正しいものです。 つまり、正常にベクトル演算が実行できた事がわかります。


この階層の目次
お知らせ

Vnanoの公式サイトがオープン、チュートリアルやAPI仕様書等も掲載
2019年08月07日 - オープンソースのアプリケーション組み込み用スクリプトエンジン「 Vnano 」の公式サイトを開設しました。チュートリアルや、スクリプトエンジンのAPI仕様書などが参照できます。その概要をお知らせします。

リニアングラフ3D/2Dが連番ファイルのアニメーションに標準で対応
2019年07月17日 - リニアングラフ3D/2Dでは、7月17日公開の最新版より、連番ファイルを連続的に読み込みながらアニメーション描画するプログラムを同梱し、メニューから標準で使用可能になりました。その概要をお知らせします。

Vnanoのスクリプトエンジンアーキテクチャ解説2: コンパイラ
2019年07月03日 - オープンソースで開発中のスクリプトエンジン「 Vnano 」のアーキテクチャを解説する連載の第2回です。今回は、スクリプトを中間コードへと変換する、コンパイラ部分の内部をクローズアップして解説します。

新着
[公式ガイドサンプル] ユーザーのGUI操作に対して処理を行う

「VCSSL GUI開発ガイド」内のサンプルコードです。ユーザーがGUIを操作した際に行う処理を実装します。
2019年07月28日
[公式ガイドサンプル] 各種GUIコンポーネントを画面上に配置する

「VCSSL GUI開発ガイド」内のサンプルコードです。色々な種類のGUI部品を画面上に配置します。
2019年07月28日
連番ファイルから3Dグラフをアニメーション描画するツール

フォルダ内の連番データファイルを読み込み、3Dグラフを高速で連続描画して、アニメーションさせるツールです。グラフを連番の画像ファイルに保存する事もできます。
2019年06月03日
連番ファイルから2Dグラフをアニメーション描画するツール

フォルダ内の連番データファイルを読み込み、2Dグラフを高速で連続描画して、アニメーションさせるツールです。グラフを連番の画像ファイルに保存する事もできます。
2019年05月24日
[公式ガイドサンプル] 立体モデルを生成して3D空間に配置する

「VCSSL 3DCG開発ガイド」内のサンプルコードです。立体モデルを生成し、3D空間に配置します。
2019年05月21日
開発元Twitterアカウント