Math (数式)ノード

../../../_images/compositing_node-types_CompositorNodeMath.png

Math ノード。

Math Node 数式ノードは、数学的演算を実行します。

入力

ノードの入力は動的です。一部の入力は、特定の操作でのみ使用できます。たとえば、 Addend 入力は Multiply Add 演算子でのみ使用できます。

Value(値)

入力値。三角関数は、この値をラジアンとして読み取ります。

Addend

Addendの入力。

Base (ベース)

ベースの入力。

Exponent (指数)

指数の入力。

Epsilon (イプシロン)

イプシロンの入力。

Distance(距離)

距離の入力。

Min (最小)

最小の入力。

Max (最大)

最大の入力。

Increment (増分)

増分の入力。

Scale(スケール)

拡大縮小の入力。

Degrees (度)

度の入力。

Radians (ラジアン)

ラジアンの入力。

Properties(プロパティ)

Operation

入力値に適用される数学演算子:

Functions (関数)
Add(追加)

2つの値の合計。

Subtract(減算)

2つの値の差。

Multiply

2つの値の積。

Divide (除算)

最初の値を2番目の値で除算。

Multiply Add (積和算)

Addend による、2つの値の積の合計。

Power

Base が Exponent 乗となる。

Logarithm (Log)

Base をベースとする値のlog。

Square Root (平方根)

値の平方根。

Inverse Square Root (逆平方根)

値の平方根で割った値。

Absolute(絶対)

The input value is read without regard to its sign. This turns negative values into positive values.

Exponent (指数)

Euler's number を値の乗数に。

Comparison (比較)
Minimum (最小)

入力値の最小値を出力。

Maximum (最大)

2つの入力値の最大値を出力。

Less Than (小さい)

最初の値が2番目の値より小さい場合、1.0を出力。それ以外の場合、出力は0.0。

Greater Than (大きい)

最初の値が2番目の値より大きい場合、1.0を出力。それ以外の場合、出力は0.0。

Sign (符号)

入力値の符号の抽出。 正の数は1.0を出力します。負の数は-1.0を出力します。0.0は0.0を出力します。

Compare (比較)

2つの入力値の差が*Epsilon*以下の場合、1.0を出力します。

Smooth Minimum

Smooth Minimum.

Smooth Maximum

Smooth Maximum.

Rounding (丸め)
Round (丸め)

Rounds the input value to the nearest integer.

Floor(床)

入力値を最も近い整数に切り捨て。

Ceil (天井)

入力値を最も近い整数に切り上げ。

Truncate (切り捨て)

値の整数部分を出力。

Fraction (小数部)

Fraction.

Modulo (剰余)

最初の値を2番目の値で除算した、余りを出力。"

Wrap (ラップ)

入力値と、その値より小さい Max の整数倍に最も近い値との絶対差に基づき、MinMax 間の値を出力します。

Snap(スナップ)

Rounds the input value down to the nearest integer multiple of Increment.

Ping-pong (ピンポン)

出力値は、入力値に基づいて、0.0と Scale の間で移動します。

Trigonometric (三角関数)
Sine (サイン)

The Sine of the input value.

Cosine (コサイン)

入力値の Cosine

Tangent

入力値の Tangent

Arcsine (アークサイン)

入力値の Arcsine

Arccosine (アークコサイン)

入力値の Arccosine

Arctangent (アークタンジェント)

入力値の Arctangent

Arctan2 (アークタンジェント2)

ラジアンで測定した2番目の値で割った最初の値の Inverse Tangent の出力。

Hyperbolic Sine (双曲線サイン)

入力値の Hyperbolic Sine

Hyperbolic Cosine (双曲線コサイン)

入力値の Hyperbolic Cosine

Hyperbolic Tangent (双曲線タンジェント)

入力値の Hyperbolic Tangent

Conversion(変換)
To Radians (ラジアンへ)

入力を度からラジアンに変換。

To Degrees (度へ)

入力をラジアンから度に変換。

Clamp(範囲制限)

出力を(0.0〜1.0)の範囲に制限。 Clamp を参照してください。

出力

Value(値)

数値出力。

手動での Z-マスク

../../../_images/compositing_types_converter_math_manual-z-mask.png

Minimum と Maximum 関数の例。

この例では、カメラから約10ユニット離れた立方体を持つ、上段の レンダーレイヤー ノードによって入力された1つのシーンがあります。下段の レンダーレイヤー ノードは、ビューの左半分をカバーし、カメラから7ユニット離れた平面を持つシーンを入力します。両方とも、それぞれの Map Value ノードを介して供給され、Zバッファを20で除算し(サイズフィールドに表示されているように0.05を掛けます)、それぞれ最小/最大が0.0/1.0になるようにクランプされます。

Minimum 関数の場合、ノードは、対応するピクセルがカメラに近いZ値を選択します。そのため、平面と立方体の一部のZ値を選択します。背景のZ値は無限であるため、1.0にクランプされます(白で表示)。Maximumの例では、立方体のZ値が平面よりも大きいため、左側に選択されますが、平面のレンダリングレイヤーZは右側に無限(1.0にマッピング)であるため、選択されます。

脈動のためのサイン関数の使用

../../../_images/compositing_types_converter_math_sine.png

サイン関数を使用した例。

この例には、101フレームの間に0から1までの線形シーケンスを出力する Time ノードがあります。フレーム25では、出力値は0.25です。その値は 2 × pi(6.28) で乗算され、サイン関数によって1.0に変換されます。 \(sin(2 × pi/ 4) = sin(pi/ 2) = +1.0\)

サイン関数は (-1.0 から 1.0) の間の値を出力できるため、 Map Value ノードは、入力 (-1 から 1) を取得し、1を加算 (0 から 2になる) し、結果に1/2を掛ける(こうして、出力を 0 から 1 にスケール)ことにより、0.0 から 1.0 にスケールします。デフォルトの Color Ramp は、これらの値をグレースケールに変換します。こうして、サイン関数により、ミディアムグレーは 出力 0.0 に対応し、黒は -1.0 に、白は 1.0 に対応します。As you can see, \(sin(pi/ 2) = 1.0\). Like having your own visual color calculator! Animating this node setup provides a smooth cyclic sequence through the range of grays.

この機能を使用して、例えば、画像のアルファチャネルを変更して、フェードイン/フェードアウト効果を生成します。Zチャンネルを変更して、シーンの焦点を合わせたり外したりします。カラーチャネル値を変更して、カラーを "パルス" にします。

チャネルを明るくする(スケールする)

../../../_images/compositing_types_converter_math_multiply.png

チャネルをスケールする例。

この例には、画像の輝度チャネル(Y)を増やして明るくする Math (Multiply) ノードがあります。出力を有効な値にクランプするには、min() と max() を有効にして Map Value ノード を使用する必要があることに注意してください。このアプローチでは、対数関数を使用してハイダイナミックレンジ画像を作成できます。この特定の例では、明るさをより簡単に制御できる Bright/Contrast ノード もあります。

色の選択を制限(ポスタリゼーション)

../../../_images/compositing_types_converter_math_posterization.png

ポスタリゼーションの例。

この例では、色の値を 0、0.2、0.4、0.6、0.8、1の6つの値のいずれかに制限します。

0 から 1 までの値の連続範囲を特定の値セットに分割するには、次の関数を使用します。\(round(x × n - 0.5) / (n - 1)\) ここで、 "n" は可能な出力値の個数、 "x" は入力ピクセルの色です。 この関数の詳細をご覧ください

この関数をBlenderに実装するには、上記のノード設定を検討してください。Math ノードを、各色(0から​​1の値)を取り、それを希望する分割数 6 を掛け(値は0から6になります)、0.5でオフセットし(-0.5から5.5)、値を最も近い整数に丸め(0、1、2、3、4、5を生成)、次に画像のピクセルカラーを5で除算します(0.0、0.2、0.4、0.6、0.8、1.0)。

In the case of a color image, you need to split it into separate RGB channels using Separate/Combine RGBA nodes and perform this operation on each channel independently.