Formeln

Allgemeines

Die Funktionen Formel-Spline, Formel-Animation sowie der Formel-Deformer u.a. deuten darauf hin: In CINEMA 4D können mathematische Formeln eingegeben werden. Doch nicht nur an diesen markanten Stellen ist dies möglich – nein! – an jeder beliebigen Stelle im Programm, an der Sie Werte eingeben können (z.B. im Attribute-Manager), dürfen statt eines fixen Zahlenwertes solche Ausdrücke gesetzt werden. Lassen Sie CINEMA 4D für sich rechnen!

Im Folgenden erhalten Sie eine Liste aller möglichen Einheiten, Operatoren, Funktionen und Konstanten.

Als Dezimaltrenner verwenden Sie bitte ausschließlich den Punkt . – kein Komma. Sollte im ein oder anderen Eingabefeld auch mal ein Komma akzeptiert werden, geschieht dies eher per Zufall und ist auch von Ihren Betriebssystem-Einstellungen abhängig. Tausender-Trennzeichen sind generell nicht zulässig. Leerzeichen können zur besseren Übersicht genutzt werden, haben aber keinen Einfluss auf die Formelauswertung.

Argumente wie beispielsweise bei mod(a;b) müssen mit einem Semikolon oder mittels eckiger Klammern [] (dann ohne runde Klammern) getrennt werden.

rnd(100) ist das Gleiche wie rnd[100] und rnd(100;234) das Gleiche wie rnd([100][234]).

Rechenoperatoren

+ Addition 144+14 = 158
- Subtraktion 144-14 = 130
* Multiplikation 144*2 = 288
/ Division 144/12 = 12
( Klammer zu 3+4*2 = 11
     

Einheiten

km Kilometer 1km = 1000m
m Meter 144-14 = 130
cm Zentimeter 1cm = 0.01m
mm Millimeter 1mm = 0.001m
um Mikrometer 1um = 0.000001m
nm Nanometer 1nm = 0.000000001m
mi Meile 1mi = 1609.344 m
yd Yard 1yd = 0.914m
ft Fuß 1ft = 0.305m
in Inch / Zoll 1in = 0.025m
B Bild-Nummer  

Logische Operatoren

= Ist gleich 1km = 1000m
== Ist gleich 144-14 = 130
> Größer als 1cm = 0.01m
< Kleiner als 1mm = 0.001m
>= Größer gleich als 1um = 0.000001m
<= Kleiner gleich als 1nm = 0.000000001m
!= Ungleich 1mi = 1609.344 m
! Nicht 1yd = 0.914m
|| bzw. or Oder 1ft = 0.305m
&& bzw. and Und 1in = 0.025m
& Bitweises Und  
| Bitweises Oder  
^ Exklusives Bitweises Oder  
~ Bitweises Nicht  
?(a;b) Ist die vorangest.
Bedingung erfüllt: a, sonst b
(3>4)?(10;20) = 20; kann ebenfalls
so formuliert werden: if(3>4;10;20)

Konstanten

e Die Konstante e (Eulersche Zahl) = 2.71828  
pi Die Konstante Pi (Kreiszahl) = 3.14159  
pi05 Ein halbes Pi  
pi2 Ein doppeltes Pi  
piinv Ein inverses Pi  
pi05inv Ein halbes inverses Pi  
pi2inv Ein doppeltes inverses Pi  

Funktionen

sin(a) Sinus
cos(a) Kosinus  
acos(a) Arcus Kosinus  
asin(a) Arcus Sinus  
tan(a) Tangens  
atan(a) Arcus Tangens  
cosh(a) Kosinus Hyerbolicus  
sinh(a) Sinus Hyerbolicus  
tanh(a) Tangens Hyerbolicus  
floor(a) Abrunden floor(11.8) = 11
ceil(a) Aufrunden ceil(11.2) = 12
round(a) Runden round(11.8) = 12
abs(a) Absolut/Betrag abs(-11) = 11
sqr(a) Quaddratische Potenz sqr(5) = 25
sqrt(a) Quadratwurzel sqrt(49) = 7
exp(a) Expontentialfunktion exp(5) = 148.41
log10(a) Logarithmus zur Basis 10 log10(100) = 2
log(a) Logarithmus zur Basis e log(e) = 1
trunc(a) Abschneiden von Nachkommastellen trunc(-11.8987) = -11
rnd(a{;b}) Zufallszahl zw. 0 und a, opt. b als Startwert  
pow(a;b) Potenz pow(2;3) = 8
mod(a;b) Modulo mod(10;4) = 2
clamp(a;b;c) Auf Werte zwischen a und b reduzieren clamp(2;6;10) = 6
min(a;b) Minimum beider Werte min(4;7) = 4
max(a;b) Maximum beider Werte max(4;7) = 7
(a)<<(b) Bitweise nach links verschieben 1<<4 = 16
(a)shl(b) Bitweise nach links verschieben 1<<4 = 16
(a)>>(b) Bitweise nach rechts verschieben 1000>>4 = 16
(a)shr(b) Bitweise nach rechts verschieben 1000>>4 = 16
len(a;b{;...}) Vektorlänge len(1;1) = 1.414

Geschweifte Klammern (z.B. "rnd(a{;b})") symbolisieren optionale, also nicht zwingend einzugebende Werte.

Beachten Sie auch die speziellen Variablen im Zusammenhang mit Mehrfachselektion im nächsten Absatz.

Erweiterte Formeleingabe bei Mehrfachselektionen

Überall dort, wo im Attribute-Manager Zahlen eingegeben werden können, ist es möglich, bei mehreren gleichzeitig selektierten Objekten Formeln in gemeinsamen Parameter-Feldern einzugeben, um den jeweiligen Wert auf verschiedene Arten zu ändern.

Es gibt dabei folgende Variablen:

und diese Funktion:

Beispiele:

Tipp:Wenn Sie Farbwerte auf diese Art und Weise definieren wollen, so klicken Sie mit der rechten Maustaste auf Farbe und wählen Sie aus dem Kontextmenü Unterkanäle anzeigen. Bei diesen Unterkanälen funktionieren dann diese Methoden.

Einheiten

Sie haben die Möglichkeit, unabhängig von der in den Voreinstellungen gewählten Einheit eine eigene anzugeben.

HinweisWenn Sie in den Voreinstellungen die Basiseinheit von Meter auf Millimeter oder Fuß ändern, werden wirklich nur die Einheiten vertauscht, nicht jedoch Objekte skaliert. In Eingabefeldern können Sie jedoch 1m + 10 in eingeben, und erhalten dann 1.254 m.

Funktionen

HinweiseDie Funktionsargumente müssen meistens in Klammern gefaßt werden. Die Anzahl der öffnenden muss gleich der Anzahl der schließenden Klammern sein. Funktionen dürfen geschachtelt werden, z.B. sin(sqr(exp(pi))).

Das Argument trigonometrischer Funktionen wird immer in Grad interpretiert. So bedeutet die Eingabe von sin(2*pi) nicht etwa die Berechnung des Sinus von 360°, sondern nur für ca. 6,283°.

Allgemeines

Mit den soeben beschriebenen Möglichkeiten sollten Sie in der Lage sein, auch die komplexesten Aktionen genau zu erstellen. Denken Sie daran, Sie können die verschiedenen o.g. Punkte beliebig mischen. So wäre folgende Eingabe durchaus denkbar:

2 km + exp (sin (4 mm * pi)) / ((sin (14 cm)) ^ 2 + (cos (14 cm)) ^ 2)

Mit den logischen Operatoren sind beispielsweise solche Konstrukte möglich:

(rnd(100)<50)?(100;200)

Hier wird mit einer jeweils ca. 50% Wahrscheinlichkeit der Wert "100" bzw. "200" ausgespuckt, indem Zufallszahlen zwischen 0 und 100 gebildet werden ("rnd(100)"). Es erfolgt dann eine Abfrage, ob diese kleiner als 50 sind, wenn ja, wird "100" ausgegeben, wenn nicht "200".