Restriction de domaine et fonctions par morceaux
Tracé d'une fonction y = f(x) avec :
- Restriction de domaine via
sur ]a ; b]ouavec a < x <= b(cercles ouverts/fermés aux bornes selon la convention scolaire). - Fonctions par morceaux via
{ expr si cond, ... }ou{ expr sur ]a ; b[, ... }. Premier morceau qui matche gagne (convention Desmos / GeoGebra). - Bornes réactives dans tous les cas — un slider dans une borne ou une condition recalcule la courbe.
Restriction de domaine
y = x² sur [-2 ; 2]
Restriction par intervalle fermé. Les deux cercles pleins indiquent les bornes incluses.
f = courbe("y = x^2 sur [-2 ; 2]", couleur="bleu")Bornes ouvertes vs fermées
]−1 ; 1[ produit deux cercles vides (bornes exclues). [-1 ; 1[ mélange : cercle plein à gauche, cercle vide à droite.
f = courbe("y = x sur ]-1 ; 1[", couleur="bleu")
g = courbe("y = x^2 sur [-1 ; 1[", couleur="rouge")Forme inégalité — sin(x) avec −3 < x ≤ 3
Forme alternative équivalente à `sur ]-3 ; 3]`. Encadrement composé `a < x <= b` natif.
unite_angle("radians")
f = courbe("y = sin(x) avec -3 < x <= 3", couleur="violet")Demi-droites — x ≥ 0 et x < 0
Restriction unilatérale. Le cercle apparaît seulement aux bornes finies (pas à l'infini).
f = courbe("y = x^2 avec x >= 0", couleur="orange")
g = courbe("y = -x^2 avec x < 0", couleur="vert")Bornes réactives — sliders a et b
Déplace les sliders : la fonction se redessine et les marqueurs aux extrémités suivent.
a = slider(min=-5, max=0, valeur=-2)
b = slider(min=0, max=5, valeur=2)
f = courbe("y = x^2 sur [a ; b]", couleur="bleu")Fonctions par morceaux — forme « si »
|x| par morceaux
La valeur absolue exprimée comme piecewise. Conditions évaluées dans l'ordre — la première qui matche gagne.
f = courbe("y = { -x si x < 0, x si x >= 0 }", couleur="bleu")Fonction signe — 3 morceaux
sign(x) avec un morceau par cas (négatif, zéro, positif). Saut visible à x = 0 dans le rendu.
f = courbe("y = { -1 si x < 0, 0 si x = 0, 1 si x > 0 }", couleur="rouge")Encadrement composé — 1 si 0 < x < 5, sinon 0
Chaîne de relations `0 < x < 5` parsée nativement. Le dernier morceau sans `si` est le défaut (otherwise).
f = courbe("y = { 1 si 0 < x < 5, 0 }", couleur="violet")Fonctions par morceaux — forme « sur »
|x| par intervalles
Forme équivalente à la version `si`, mais avec des intervalles `]−∞ ; 0[` et `[0 ; +∞[` plus parlants pour des élèves.
f = courbe("y = { -x sur ]-infini ; 0[, x^2 sur [0 ; +infini[ }", couleur="bleu")Fonction en escalier — 3 paliers
Trois paliers constants séparés par deux sauts à x = ±1. Le sampler détecte les discontinuités et split le path.
f = courbe("y = { -1 sur ]-infini ; -1[, 0 sur [-1 ; 1], 1 sur ]1 ; +infini[ }", couleur="orange")Polynomial par morceaux — paraboles + plateau
x² sur les deux côtés, plateau central. Composition typique en analyse scolaire (raccord continu en x = ±1).
f = courbe("y = { x^2 sur [-3 ; -1], 1 sur ]-1 ; 1[, x^2 sur [1 ; 3] }", couleur="vert")Piecewise réactif
Frontière mobile — slider a
Le slider `a` contrôle la position de la frontière entre les deux branches. La courbe se recompose dynamiquement.
a = slider(min=-3, max=3, valeur=0)
f = courbe("y = { -x si x < a, x si x >= a }", couleur="rouge")Trois branches symétriques — slider b
Slider sur la borne commune des trois branches. Démontre la combinaison interval form + réactivité.
b = slider(min=0.5, max=4, valeur=2)
f = courbe("y = { -x^2 sur ]-infini ; -b], x^2 sur ]-b ; b[, -x^2 sur [b ; +infini[ }", couleur="violet")Différentiation symbolique
La dérivée d'un piecewise est calculée branche par branche. tangente() et derivee() fonctionnent donc directement sur des fonctions par morceaux.
Tangentes à |x| — pentes ±1 selon le côté
La tangente en x = -1.5 a pour pente -1 (branche -x), celle en x = 2 a pour pente +1 (branche x). Avant la Phase G, les deux étaient horizontales (placeholder = 0).
f = courbe("y = { -x si x < 0, x si x >= 0 }", couleur="bleu")
t1 = tangente(f, -1.5, couleur="rouge", trait="tirets")
t2 = tangente(f, 2, couleur="vert", trait="tirets")Tangentes à un polynomial par morceaux — pentes différentes par branche
Polynomial par morceaux : x² pour x < 1, sinon 2x − 1. En x = -1, la tangente a pour pente 2x = -2 (branche x²). En x = 2, la tangente a pour pente 2 (branche 2x − 1).
f = courbe("y = { x^2 si x < 1, 2*x - 1 si x >= 1 }", couleur="bleu")
t1 = tangente(f, -1, couleur="rouge", trait="tirets")
t2 = tangente(f, 2, couleur="vert", trait="tirets")derivee() d'un polynomial par morceaux
f est le piecewise x² pour x < 1, sinon 2x − 1. Sa dérivée f' vaut 2x sur la première branche et 2 sur la seconde. Les deux courbes sont superposées.
f = courbe("y = { x^2 si x < 1, 2*x - 1 si x >= 1 }", couleur="bleu")
g = derivee(f, couleur="orange")