Formula

General

You can type in a formula for the Formula spline primitive and the Formula deformer. In fact, you can type in a formula wherever Cinema 4D accepts a value, e.g., in the Attribute Manager. This appendix lists all the units, operators, functions and constants that you may use in your formulae. You may enter values using any of the units listed below (examples in brackets) - regardless of the basic units defined in the preferences (Cinema 4D will convert the units for you).

Arguments such as mod(a;b) must be separated by a semi-colon or by squared brackets [] (then without curved brackets)

rnd(100) is the same as rnd[100] and rnd(100;234) is the same as rnd([100][234]).

Mathematical Operators

+ Addition 144+14 = 158
- Subtraction 144-14 = 130
* Multiplication 144*2 = 288
/ Division 144/12 = 12
( Left parenthesis 3+4*2 = 11
     

Units

km Kilometer 1km = 1000m
m Meter 144-14 = 130
cm Centimeter 1cm = 0.01m
mm Millimeter 1mm = 0.001m
um Micrometer 1um = 0.000001m
nm Nanometer 1nm = 0.000000001m
mi Mile 1mi = 1609.344 m
yd Yard 1yd = 0.914m
ft Foot 1ft = 0.305m
in Inch 1in = 0.025m
B Frame Number  

Logical Operators

= Equal compare 1km = 1000m
== Equal compare 144-14 = 130
> Greater than 1cm = 0.01m
< Less than 1mm = 0.001m
>= Greater than or equal compare 1um = 0.000001m
<= Less than or equal compare 1nm = 0.000000001m
!= Not equal compare 1mi = 1609.344 m
! Not 1yd = 0.914m
|| or. or Or 1ft = 0.305m
&& or. and And 1in = 0.025m
& Bitwise and  
| Bitwise or  
^ Bitwise xor  
~ Bitwise not  
?(a;b) Condition, if statement: a, then b (3>4)?(10;20) = 20; kann ebenfalls
so formuliert werden: if(3>4;10;20)

Constants

e The constant e (Euler Number) = 2.71828  
pi The constant Pi (circular number) = 3.14159  
pi05 Half Pi  
pi2 Double Pi  
piinv Inverse Pi  
pi05inv Half inverse Pi  
pi2inv Double inverse Pi  

Functions

sin(a) Sinus
cos(a) Cosinus  
acos(a) Arcus cosinus  
asin(a) Arcus Sinus  
tan(a) Tangent  
atan(a) Arcus tangent  
cosh(a) Cosinus hyerbolicus  
sinh(a) Sinus hyerbolicus  
tanh(a) Tangent hyerbolicus  
floor(a) Round down floor(11.8) = 11
ceil(a) Round up ceil(11.2) = 12
round(a) Rund round(11.8) = 12
abs(a) Absolute / Value abs(-11) = 11
sqr(a) Square exponentation sqr(5) = 25
sqrt(a) Square root sqrt(49) = 7
exp(a) Exponential function exp(5) = 148.41
log10(a) Logarithm to the base of10 log10(100) = 2
log(a) Logarithm to the base of e log(e) = 1
trunc(a) Truncates a number trunc(-11.8987) = -11
rnd(a{;b}) Random or 0 and a, opt. b as seed  
pow(a;b) Exponentation pow(2;3) = 8
mod(a;b) Modulo mod(10;4) = 2
clamp(a;b;c) Clamps val. of c or a & b clamp(2;6;10) = 6
min(a;b) Minimum value a or b min(4;7) = 4
max(a;b) Maximum value a or b max(4;7) = 7
(a)<<(b) Bitweise shift to left 1<<4 = 16
(a)shl(b) Bitweise shift to left 1<<4 = 16
(a)>>(b) Bitweise shift to right 1000>>4 = 16
(a)shr(b) Bitweise shift to right 1000>>4 = 16
len(a;b{;...}) Vector length len(1;1) = 1.414

Note the special variables in association with multiple selections in the following paragraph.

Expanded Formula Entry by Multiple Selections

You can also make relative adjustments to multiple selected objects. For example, suppose a sphere is positioned at (100,0,0) and a cube at (300,0,0). Select both objects and in the Attribute Manager, on the Coord tab, enter x + 100 into the P.X box. Both objects will be moved 100 units along the X axis. You can also enter equations, such as sin(x)+sqr(x*324).

The following variables are available:

x: Represents the parameter's original value

num: Represents the index value. The selected elements/objects will be numbered

tot: The total number of selected elements/objects

rnd(value): A random value between 0 and "value" will be ascertained

Examples

Tip:If you want to define color values using this method, right-click on the Color parameter and select Show Subchannels from the context menu that appears. This method works with these Subchannels.

Units

A custom value can be entered, independently of any preset values.

Tip:If you change the basic units in the preferences, e.g., from meters to millimeters, only the measurement units are changed, not existing numerical values. For example, if an object has a width of 10 meters, but you then change the basic units to millimeters, the object will then have a width of 10 millimeters. If you wish to scale the objects to reflect the change in units, group all the objects and scale the group using the Coordinate Manager.

Functions

Tip:Function arguments must be bracketed. The number of open brackets must equal the number of close brackets. Functions may be nested: sin(sqr(exp(pi))).
Trigonometric function arguments will always be interpreted as degrees. Hence, the entry sin(2*pi) does not reflect the calculation of a sine of 360° but rather of approx. 6.283°.

General

When typing in a formula for the spline or Formula time curve, the arguments of trigonometric functions are in radians. However, when entering values in parameter text boxes, trigonometric functions always use degrees.

The function parser has the most important arithmetic operators built in. You can combine operations freely, for example: 2km + exp(sin(4mm*pi)) / ((sin(14cm))^2 + (cos(14cm))^2).