Utilisation
L'entrée est une formule mathématique utilisant les variables x, y, z et t. La sortie est une couleur décimale.
La couleur décimale est un nombre entre 0 et 16777215 (ou #FFFFFF). Les couleurs r, g, b sont des nombres entre 0 et 255. Les angles sont en radians.
Les images importées sont automatiquement réduites à une taille de 8x8 pixels.
Formule
La formule doit retourner une couleur pour chaque point (x,y,z,t) avec :
- x : profondeur x ∈ [0;7] (x=0 devant)
- y : largeur y ∈ [0;7] (y=0 à gauche)
- z : hauteur z ∈ [0;7] (z=0 en haut)
- t : index de la frame t ∈ [0;tMax[
- img(x,y,f) : Couleur du pixel en (x,y) de la fᵉ image importée
Conseils
- La partie f(x,y,z,t)= n'est pas utile et peut être retirée.
- Ajoutez autant d'espaces que vous souhaitez, le résultat sera le même (retour à la ligne compris).
- Pour accélerer le traitement priorisez les valeurs constantes : x*(3/2) au lieu de 3*x/2.
- Par défaut tMax correspond au nombre d'images, mais vous pouvez le modifier en fonction de votre animation.
- La fonction img(x,y,f) autorise les points (x,y) invalides (retourne 0). En revanche f doit être compris entre 0 et le nombre d'images importées.
- Si vous n'utilisez pas d'images, une formule sans la fonction img() est valide
- La couleur des vaguelettes indique si la formule est incomplette (blanc) ou erronée (orange).
- Pour voir comment la commande est interprétée, naviguez à travers les éléments span générés dans l'inspecteur html.
Opérations élémentaires : +
, -
, *
, /
, %
Comparaison : ==
,
!=
, >
, >=
, <
, <=
,
&&
, ||
Manipulation binaire :
<<
, >>
, &
, |
, ^
Opérateurs spéciaux
- Hexadécimal :
#nombre
,0xnombre
- Binaire :
0bnombre
Fonctions mathématiques
Toutes les fonctions de
Math
(objet JavaScript) sont disponibles.Nom | Description |
---|---|
max(a, b) | Maximum entre a et b |
min(a, b) | Minimum entre a et b |
minmax(min, x, max) | Un nombre dans l'intervalle [min;max], x ou limite |
range(min, x, max) | Vrai si x est dans l'intervalle [min;max], Faux sinon |
abs(x) | Valeur absolue |
sqrt(x) | Racine carrée |
pow(x, n) | Puissance |
exp(x) | Exponentielle |
round(a) | Arrondi à l'entier le plus proche |
floor(a) | Arrondi à l'entier inférieur |
ceil(a) | Arrondi à l'entier supérieur |
random() | Nombre aléatoire entre 0 et 1 |
pi() | Valeur de PI à 6 décimales |
cos(a) | Cosinus |
sin(a) | Sinus |
tan(a) | Tangente |
acos(a) | Arc Cosinus |
asin(a) | Arc Sinus |
atan(a) | Arc Tangente |
modulo(a,b) | Modulo différent de a%b car les nombres négatifs sont augmentés (i.e. -1%10==-1 et modulo(-1,10)==9 ) |
angle_complexe(x, y) | Angle de rotation d'un nombre complexe / d'un point par rapport à (1,0) |
Fonctions de construction
Nom | Description |
---|---|
triangle(x, x0, y0, pente)) | Fonction triangle avec un sommet en (x0,y0) et un facteur de pente |
distance(a, b)) | sqrt(a²+b²) |
heaviside(t) | Fonction Heaviside : 0 sur ]-inf;0[ et 1 sur ]0;+inf[ |
porte(t, t1, t2)) | Fonction porte : identique à range(min,x,max) |
pente_cosale(t) | Fonction f(t>=0)=t et f(t<=0)=0 |
Fonctions de couleur
Nom | Description |
---|---|
rgb(r, g, b)) | Associe les couleurs pour former une couleur décimale |
red(c) | Extrait la quantité de rouge (entre 0 et 255) de la couleur |
green(c) | Extrait la quantité de vert (entre 0 et 255) de la couleur |
blue(c) | Extrait la quantité de bleu (entre 0 et 255) de la couleur |
huerotate(c, angle)) | Rotation de la couleur décimale avec un angle de rotation (en radian) |
lumiere(c, lumiere)) | Change le taux de luminosité de la couleur (1 = ne change pas) |
Autres Fonctions
Nom | Description |
---|---|
set(nom, valeur) | Définit une variable avec une valeur (retourne 0) |