# Formulas

## Introduction

Here is a page with Cinema 4D Formulas that you can use for Formula Effectors or Fields. Formulas are primarily based on C++ syntax.

## Formula Appendix, Maxon Help Guide

Basic

``````px,py,pz - Position
rx,ry,rz - Rotation
sx,sy,sz - Scale

u,v,w - UVW
id - Object Index
count - Object Count

falloff - Falloff weight
t - Project Time[-∞..+∞]
f - Frequency[-∞..+∞]

Conditional
?(a;b)
(3>4)?(10;20)
?(a;b)

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 exponentiation	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)	Exponentiation	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)	Bitwise shift to left	1 << 4 = 16
(a) shl``````

## Concepts

White to dark vertical

``id/count``

Dark to white center, vertical

``1 - abs(mod(id/count; 1) - 0.5)*2``

Dark to white center, horizontal

``1 - abs(mod(u; 1) - 0.5)*2``

Radial - White to Dark Center

``sqrt(px*px + py*py + pz*pz)/1000``

## Formula Library

Default/Wave

``/0.5 + sin( ( subfields + ( id / count ) + d ) * f * 360 ) * 0.5``

Alternating Lines

``mod((id/80);2)?(t*f;-t*f)``

Last updated