《保存版!》エクスプレッションで使える各種演算まとめ

AfterEffectsのエクスプレッションでは、四則演算から、色空間変換まで様々な演算ができます。

実際は、Javascriptの機能としての演算と、エクスプレッションのメソッドとしての演算の両方があるのですが、今回はその両方をしっかり説明していきたいと思います。

全て実際に動かした実行結果付きです。

四則演算

加算

足し算をします。

1 + 2;  //結果:3
※ 詳細な仕様はこちらをご覧ください

減算

引き算をします。

1 - 2;  //結果:-1
※ 詳細な仕様はこちらをご覧ください

乗算

掛け算をします。

1 * 2;  //結果:2
※ 詳細な仕様はこちらをご覧ください

除算

割り算をします。

1 / 2;  //結果:0.5
※ 詳細な仕様はこちらをご覧ください

剰余

割り算の余りを取得します。

1 % 2;  //結果:1
※ 詳細な仕様はこちらをご覧ください

三角関数

cos

角度(ラジアン)から余弦 (コサイン)を取得。

Math.cos(Math.PI);  //結果:-1
※ 詳細な仕様はこちらをご覧ください

acos

逆余弦 (アークコサイン)を角度(ラジアン)で取得。

Math.acos(-1);  //結果:3.1415...
※ 詳細な仕様はこちらをご覧ください

tan

角度(ラジアン)から正接(タンジェント)を取得。

Math.tan(Math.PI);  //結果:0
※ 実際の計算結果は、-1.2e-16という極小の値が出る場合がありますががほぼ0です。
※ 詳細な仕様はこちらをご覧ください

atan

逆正接(アークタンジェント)を角度(ラジアン)で取得。

Math.atan(0);  //結果:0
※ 詳細な仕様はこちらをご覧ください

atan2

点 (0, 0) から点 (x, y) までの半直線と、正の x 軸の間の平面上での角度 (ラジアン単位) を返す。

Math.atan2(0,-100);  //結果:3.1415...
※ 詳細な仕様はこちらをご覧ください

sin

角度(ラジアン)から正弦 (サイン) を取得。

Math.sin(Math.PI);  //結果:0
※ 実際の計算結果は、1.2e-16という極小の値が出る場合がありますががほぼ0です。
※ 詳細な仕様はこちらをご覧ください

その他演算

平方根

平方根(ルート)の結果を取得。

Math.sqrt(2);  //結果:1.4142...
※ 詳細な仕様はこちらをご覧ください

自然対数の底のべき乗

自然対数の底のべき乗結果を取得。

Math.exp(2);  //結果:7.3890...
※ 詳細な仕様はこちらをご覧ください

べき乗

べき乗計算をします。以下は2の3乗の例です。

Math.pow(2, 3);  //結果:8
※ 詳細な仕様はこちらをご覧ください

自然対数

数値の自然対数を取得。

Math.log(2);  //結果:0.6931...
※ 詳細な仕様はこちらをご覧ください

絶対値

数値の絶対値を取得。

Math.abs(-1);  //結果:1
※ 詳細な仕様はこちらをご覧ください

小数点以下処理

四捨五入

小数点以下を四捨五入。

Math.round(5.5);  //結果:6
※ 詳細な仕様はこちらをご覧ください

小数点以下切り上げ

小数点以下の値を切り上げ。

Math.ceil(5.1);  //結果:6
※ 詳細な仕様はこちらをご覧ください

小数点以下切り捨て

小数点以下の値を切り捨て。

Math.floor(5.9);  //結果:5
※ 詳細な仕様はこちらをご覧ください

最大最小

最小値

引数の中で最も小さい値を返す。1と2の場合は1を返す。

Math.min(1, 2);  //結果:1
※ 詳細な仕様はこちらをご覧ください

最大値

引数の中で最も大きい値を返す。1と2の場合は2を返す。

Math.max(1, 2);  //結果:2
※ 詳細な仕様はこちらをご覧ください

定数

円周率

円周率を返す。

Math.PI;  //結果:3.1415...
※ 詳細な仕様はこちらをご覧ください

自然対数の底

自然対数の底≒ 2.718を返す。

Math.E;  //結果:2.7182...
※ 詳細な仕様はこちらをご覧ください

2を底としたeの対数

2を底としたeの対数≒1.442を返す。

Math.LOG2E;  //結果:1.4426...
※ 詳細な仕様はこちらをご覧ください

10を底としたeの対数

10を底としたeの対数≒0.434を返す。

Math.LOG10E;  //結果:0.4342...
※ 詳細な仕様はこちらをご覧ください

2の自然対数

2の自然対数≒0.693を返す。

Math.LN2;  //結果:0.6931...
※ 詳細な仕様はこちらをご覧ください

10の自然対数

10の自然対数≒2.302を返す。

Math.LN10;  //結果:2.3025...
※ 詳細な仕様はこちらをご覧ください

2の平方根

2の平方根≒1.414を返す。

Math.SQRT2;  //結果:1.4142...
※ 詳細な仕様はこちらをご覧ください

1/2の平方根

1/2の平方根≒0.707を返す。

Math.SQRT1_2;  //結果:0.7071...
※ 詳細な仕様はこちらをご覧ください

角度変換

度→ラジアン

degree(度)をradian(ラジアン)に変換します。

degreesToRadians(180);  //結果:3.1415...

ラジアン→度

radian(ラジアン)をdegree(度)に変換します。

radiansToDegrees(Math.PI);  //結果:180

色空間変換

RGBA→HSLA

色をRGBA空間からHSLA空間に変換します。

rgbToHsl([1, 0, 0, 0]);  //結果:[0, 1, 0.5, 0]

HSLA→RGBA

色をHSLA空間からRGBA空間に変換します。

hslToRgb([0, 1, 0.5, 0]);  //結果:[1, 0, 0, 0]

配列・ベクトル

配列の計算方法は以下の記事でまとめていますのでご覧ください。

関連記事

AfterEffectsでレイヤー間の動きを自由に連動させたい場合、親子関係ではなく、エクスプレッションで直接計算をする場合があると思います。 その場合、配列の計算も必要になりますが、自分で計算すると少し面倒です。その為、エクスプレ[…]

配列の計算を簡単にする方法
※ 各種エクスプレッションの詳細な仕様はこちらをご覧ください

まとめ

こんな計算実際に使うの?と思うようなものもたくさん出てきたと思いますが、小数点以下の処理はもちろん、平方根や、べき乗など、意外と活躍するケースがあります。

また、三角関数のsinやcosは周期性(-1~1)があるので、timeを引数に繰り返し処理などにも活用できます。また、sinやcosを併用すると、位相がずれたような表現もできます。

以下の記事のように、数学的なアプローチで処理を作成する場合は、様々な演算を使うことになると思いますので、色々とお試しください。

関連記事

AfterEffectsのエクスプレッションで中心レイヤーの周りのレイヤーを回転させる場合、いくつかの方法があります。 回転プロパティを使用する回転後の座標を計算で取得する ①は回転後の座標がわからないので計算に利用できません[…]

回転後の座標を簡単に計算する方法
エクスプレッションで使える各種演算まとめ
最新情報をチェックしよう!
>Aeをもっと便利に。「COLOR CODE - AE」

Aeをもっと便利に。「COLOR CODE - AE」

AfterEffectsをもっと便利に使う為のコンテンツを制作・発信しているブログです。YouTube「COLOR CODE - AE チャンネル」では、エフェクト、エクスプレッション、プリセット、プラグインのリファレンス動画を公開しています。チャンネル登録もお待ちしています!

CTR IMG