Gen の共通オペレータ
Gen の共通オペレータ
次のGenオペレータは、MaxのGen ファミリーオブジェクト全てに共通するものです。これらは、gen~、jit.gen、jit.pix、jit.gl.pix オブジェクトでオペレータとして使用できます。
比較演算子
- <, lt : in1 が (正の方向を基準として)in2 より小さい場合には1を、そうでない場合には 0 を返します。
- >, gt : in1 が (正の方向を基準として)in2 より大きい場合には1を、そうでない場合には 0 を返します。
- <=, gte : in1 が in2 と等しいか、(正の方向を基準として)in2より大きい場合には1を、そうでない場合には 0 を返します。
- >p, gtp : in1 が(正の方向を基準として) p より大きい場合に1を、そうでない場合には0を返します。(訳注:原文は p の部分が in2 となっています。)
- ==, eq : in1 が in2 と等しい場合には1を、そうでない場合には0を返します。
- ==p, eqp : in1が p と等しい場合には1を、そうでない場合には0を返します。
- >=p, gtep : in1 が p と等しいか、(正の方向を基準として) p より大きい場合には1を、そうでない場合には 0 を返します。(訳注:原文は 'p' の部分が 'in2' となっています。)
- <=, lte : in1 が in2 と等しいか、(正の方向を基準として) in2より小さい場合には1を、そうでない場合には 0 を返します。
- <=p, ltep : in1 が p と等しいか、(正の方向を基準として) p より小さい場合には1を、そうでない場合には 0 を返します。(訳注:原文は 'p' の部分が 'in2' となっています。)
- <p, ltp : in1 が (正の方向を基準として) p より小さい場合には1を、そうでない場合には 0 を返します。(訳注:原文は 'p' の部分が 'in2' となっています。)
- max, maximum : 入力された値の中の最大値。
- min, minimum : 入力された値の中の最小値。
- !=, neq : in1 が in2 に等しくない場合には 1 を、そうでない場合には 0 を返します。
- !=p, neqp : in1 が p に等しくない場合には 1 を、そうでない場合には 0 を返します。(訳注:原文は 'p' の部分が 'in2' となっています。)
- step : GLSLの step 演算子と同様の演算子。in1 < in2 であれば 0を、そうでない場合は 0 を返します。
定数
- constant : 定数
- degtorad, DEGTORAD : 定数 π / 180
- e, E : 定数 e (ネイピア数)
- f, float : 浮動小数点数の定数、または入力された値を浮動小数点数に変換。
- halfpi, HALFPI : 定数 π /2
- i, int : 整数値の定数、または入力された値を整数に変換。
- invpi, INVPI : 定数 1 / π
- ln10, LN10 :定数 ln10
- ln2, LN2 : 定数 ln2
- log10e, LOG10e : 定数 log10 e
- log2e, LOG2e : 定数 log2 e
- pi, PI : 定数 π
- radtodeg, RADTODEG : 定数 180 / π
- sqrt1_2, SQRT1_2 : 定数 1 / sqrt(2)
- sqrt2, SQRT2 :定数 sqrt(2)
- twopi, TWOPI :定数 2 * π
宣言
- param, Param : 名前付きのパラメータは gen パッチのホストオブジェクトから変更することができます。最初のアーギュメントでパラメータ名を、2番目のアーギュメントで初期値を指定します。
式
- expr : 入力値(in1 in2 in3 等で指定される)の数式を評価します。out1 = ; out2= という形で複数のアウトレットを指定することができます。標準的な数学演算子(+, -, *, / 等)と gen パッチのオペレータが使用できます。
入力・出力
- in : gen パッチで受け取る入力。
- out : gen パッチから送信する出力。
論理演算子
- !, not : 0 を入力すると 1 を、それ以外の値では 0 を返します。
- &&, and : in1 と in2 の値が共に非0の場合に1 を返します。
- bool : 非 0 の値では 1を出力し、0はそのまま出力されます。
- or, || : in1 か in2 のどちらかが 非0 の場合に 1 を返します。
- ^^, xor : in1 から in2 のどちらか一方だけが 非0 の場合(両方とも 非0 の場合は含まない)に 1 を返します。(訳注:排他的論理和)
数学演算子
- %, mod : 入力値のモジュロ("第1の入力/第2の入力"を計算したときの剰余)
- +, add :入力値の加算。
- -, sub : 入力値の減算。
- /, div : 入力値の除算。
- absdiff : 2つの入力の差の絶対値を計算。
- cartopol : デカルト座標を極座標に変換。角度はラジアンで表されます。
- *, mul : 入力の乗算。Multiply inputs
- neg : 入力の符号の反転。
- poltocar : 極座標の値をデカルト座標に変換。角度はラジアンとして解釈されます。
- !/, rdiv : 逆の除算(第2の入力を第1の入力で割った値)
- !%, rmod : 逆のモジュロ (第2の入力を第1の入力で割ったときの剰余)
- !-, rsub : 逆の減算(第2の入力から第1の入力を引いた値)
数値
- abs : 負の値を対応する正の値に変換します。(訳注:絶対値)
- ceil : 入力値をより大きな直近の整数値に切り上げます。(訳注:小数部の切り上げによる整数への変換)
- floor, trunc : 入力値をより小さな直近の整数値に切り捨てます。(訳注:小数部の切り捨てによる整数への変換)
- fract : (入力値の)小数部分のみを返します。
- sign : 入力値が正の場合には 1、 負の場合には -1 を返します。0 の場合には 0 をそのまま返します。
指数・対数
- exp : 値を指数として ネイピア数 e を累乗します。(x -> eのx乗)
- exp2 : 値を指数として 2 を累乗します。
- ln, log : 入力値の自然対数。(訳注:e を底とした入力値の対数)
- log10 : 10を底とした入力値の対数。(訳注:常用対数)
- log2 : 2を底とした入力値の対数。
- pow : in1 を in2 乗します。
- sqrt : 入力値の平方根。
範囲
- clamp, clip : 入力値を、指定された min と max の範囲に制限(クランプ)します。範囲の上限と下限の値も含まれます(min と max に指定した値も出力されます)。2つのアーギュメントが与えられた場合、それぞれ min 、max に設定されます。アーギュメントが1つしか与えられない場合、その値は 最大値(max) と見なされますが、最小値は第2インレットから指定します。アーギュメントが全く与えられない場合、min と max はそれぞれ第2インレットと第3インレットで指定します。(デフォルトの値は、それぞれ 0 と 1 です)。
- fold : 下限値と上限値はアーギュメント、或はインレットから指定することができます。デフォルトの範囲は 0. 〜 1. です。
- scale : Max オブジェクトの scale や MSP オブジェクトの scale~ と同様なものです。入力は 1) スケールする値、2) 入力の下限値、3) 入力の上限値、4) 出力の下限値、5) 出力の上限値、6) 対数カーブ、になります。デフォルトの下限値と上限値はそれぞれ 0 と 1 で、対数カーブは 1(リニア)になっています。境界値でのクランプは行われません。上限値と下限値を入れ替えると、マッピングは逆になります。
- wrap : 下限値と上限値はアーギュメント、或はインレットから指定することができます。デフォルトの範囲は 0. 〜 1. です。
ルーティング
- ?, switch : 第1の入力の論理値によって、第2および第3の入力のどちらかを選択します。in1が非ゼロの場合、in2 を返し、そうでない場合にはin3を返します。アーギュメントが1つ与えられた場合、これが「真」の値になります(そして、右インレットは「偽」の値になります)。アーギュメントが2つ与えられた場合、それぞれ、真と偽の値になります。
- mix : 入力 a と 入力 b の値を、第3の入力 t に基づいてミックス(線形補間)します。係数 t は 0 (値は a になります)と 1(値は b になります)の範囲で変化させる必要があります。アーギュメントが1つ与えられた場合、これによりミックス(補間)のための係数が指定されます。
- smoothstep : Smoothstep はコンピュータグラフィクスで一般的に用いられるスカラ補間関数です。この関数は2つの入力値の間を、第3の値(2つの入力値の間の値)に基づいて滑らかに補間します。 Smoothstep 関数の傾き(すなわち、微分)は0で始まり、0で終わります。
三角関数
- acos : 入力値のアークコサイン(ラジアン単位)
- acosh : 入力値のアークハイパーボリックコサイン(逆双曲線余弦)
- asin : 入力値のアークサイン(ラジアン単位)
- asinh : 入力値のアークハイパーボリックサイン(逆双曲線正弦)
- atan : 入力値のアークタンジェント(ラジアン単位)
- atan2 : 座標(in2, in1)への角をラジアンを単位として返します。
- atanh : 入力値のアークハイパーボリックタンジェント(逆双曲線正接)
- >cos : 入力値のコサイン(ラジアン単位)
- cosh : 入力値のハイパーボリックコサイン(双曲線余弦)
- degrees : ラジアンを"度"に変換
- hypot : 座標 (in1, in2) へのベクトルの長さを返します。
- radians : "度"をラジアンに変換
- sin : 入力値のサイン(ラジアン単位)
- sinh : 入力値のハイパーボリックサイン(双曲線正弦)
- tan : 入力値のタンジェント
- tanh : 入力値のハイパーボリックタンジェント(双曲線正接)
波形