This page provides information on the Float Arithmetic node in V-Ray for Cinema 4D.
Overview
Properties
Float A – Specifies float operand A.
Float B – Specifies float operand B.
Mode – Determines what output to use when no output parameter is specified. It is useful if the type of the operation needs to be animated.
Product – Performs a multiplication operation and returns the product (A*B).
Ratio – Performs a division operation and returns the ratio (A/B).
Sum – Performs an addition operation and returns the sum (A+B).
Difference – Performs a subtraction operation and returns the difference (A-B).
Power – Performs an exponentiation operation and returns the power (A^B).
Sin – Performs a sine function and returns the result (sin(A)).
Cos – Performs a cosine function and returns the result (cos(A)).
Min – Performs a comparison and returns the minimum value.
Max – Performs a comparison and returns the maximum value.
Abs – Returns the absolute value of the first argument (absA).
Ceil – Performs a ceiling function that rounds up to the next integer that is equal to or greater than the largest argument - A or B (ceil(A)); (ceil(B)).
Exp – Performs an exponential function (ea+b).
Floor – Performs a floor function that rounds down to the next integer that is equal to or smaller than the smallest argument - A or B (floor(A)); (floor(B)).
Log – Performs a natural logarithmic function (ln(A)).
Log 10 – Performs a common logarithmic function (base 10) on the first argument (log(A)).
Sqrt – Performs a square root function with the first argument (√A)
Fmod – Performs a division operation and returns the remainder (A%B).
Average – Returns the average of A and B ((A+B)/2).
Tan – Performs a tangent function and returns the result (tan(A.0)).
Asin – Performs an arcsine function and returns the result (asin(A).
Acos – Performs an arccosine function and returns the result (acos(A)).
Atan – Performs an arctangent function and returns the result (atan(A)).
Atan 2 – Performs an arctangent function with two arguments and returns the result (atan2(A,B)).
Bias Schlick – Performs a faster bias approximation, described by Christophe Schlick, based on the original definition by Kenneth Perlin.1
Gain Schlick – Performs a faster gain approximation, described by Christophe Schlick, based on the original definition by Kenneth Perlin.2
Bias Perlin – Implements the original bias definition by Kenneth Perlin. 3
Gain Perlin – Implements the original gain definition by Kenneth Perlin. 4
Bias and Gain Equations
The exact equations for the Christophe Schlick and Kenneth Perlin definitions are:
bias_schlick(x, a) := x / ((1 / a - 2) * (1 - x) + 1)
gain_shclick(x, a) := { bias_schlick(2 * x, a) / 2 , if a < 0.5 } { (bias_schlick(2 * x - 1, 1 - a) + 1) / 2 , if a >= 0.5 }
bias_perlin(x, a) := x ^ (ln(a) / ln(0.5))
gain_perlin(x, a) := { bias_perlin(2 * x, 1 - a) / 2 , if a < 0.5 } { 1 - bias_perlin(2 - 2 * x, 1 - a) / 2 , if a >= 0.5 }
References
[*] Kenneth Perlin and Eric M Hoffert. Hypertexture. SIGGRAPH, 1989.
[*] Christophe Schlick. Fast alternatives to Perlin’s bias and gain functions. Graphics Gems, 4, 1994