LED CUBE

Gestion des images

Type de remplissage

Viewer des images

Formule

Temps maximum ou nombre d'images

Documentation

Accéder à la docummentation complète

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)

15/160