← Retour aux demos

Courbes — geometry-core


Droites par equation — courbe()

Droites creees via le builtin courbe() du DSL.

-8-6-4-22468-6-4-2246d1d2d3d4d5d6
Code DSL
d1 = courbe("y = 2*x + 1", couleur="bleu")
d2 = courbe("x - 2*y + 4 = 0", couleur="rouge")
d3 = courbe("y = -2", couleur="vert")
d4 = courbe("x = 3", couleur="violet")
d5 = courbe("3*x + y - 6", couleur="orange")
d6 = courbe("y = -x", couleur="cyan")

Courbes y=f(x) — courbe()

Courbes avec echantillonnage adaptatif et lissage Catmull-Rom.

-8-6-4-22468-6-4-2246f1f2f3f4f5
Code DSL
f1 = courbe("y = x^2", couleur="bleu")
f2 = courbe("y = sin(x)", couleur="rouge")
f3 = courbe("y = 1/x", couleur="vert")
f4 = courbe("y = sqrt(x)", couleur="violet")
f5 = courbe("y = exp(-x^2)", couleur="orange")

Tangentes — tangente() + point_sur()

Deplacez le point P sur la courbe pour voir la tangente suivre.

-8-6-4-22468-4-22468ftt2P
Code DSL
f = courbe("y = x^2", couleur="bleu")
P = point_sur(f, 1.5, couleur="rouge")
t = tangente(f, P, couleur="rouge")
t2 = tangente(f, -1, couleur="vert", trait="tirets")

Analyse — zeros(), extrema(), inflections()

Courbe y = x^3 - 3x avec points critiques automatiques.

-8-6-4-22468-6-4-2246fZ1Z2Z3E1E2I
Code DSL
f = courbe("y = x^3 - 3*x", couleur="bleu")
Z = zeros(f, couleur="rouge")
E = extrema(f, couleur="vert")
I = inflections(f, couleur="violet")

Dérivée — extrema de f ↔ zéros de f'

f(x) = x³ − 3x en bleu, f'(x) en rouge. Les zéros de f' (en vert sur l'axe) sont exactement les abscisses des extrema de f.

-8-6-4-22468-6-4-2246fgE1E2Z1Z2
Code DSL
f = courbe("y = x^3 - 3*x", couleur="bleu")
g = derivee(f, couleur="rouge")
E = extrema(f, couleur="vert")
Z = zeros(g, couleur="vert")

Dérivée — exp(x) est sa propre dérivée

f(x) = eˣ et f'(x) sont deux courbes superposées : la propriété caractéristique de la fonction exponentielle.

-8-6-4-22468-6-4-2246fg
Code DSL
f = courbe("y = exp(x)", couleur="bleu")
g = derivee(f, couleur="rouge", trait="tirets")

Dérivées successives — cycle de sin

sin (bleu) → cos (rouge) → −sin (vert) → −cos (violet). Cycle de longueur 4 visible directement.

-8-6-4-22468-6-4-2246fg1g2g3
Code DSL
f = courbe("y = sin(x)", couleur="bleu")
g1 = derivee(f, couleur="rouge")
g2 = derivee(g1, couleur="vert")
g3 = derivee(g2, couleur="violet")

Coniques — courbe() quadratique

Courbes implicites de degre 2, classifiees et tracees parametriquement.

-8-6-4-22468-6-4-2246c1c2c3c4c5P1P2P3P4P5Z11Z12Z21Z22Z31Z32Z41Z42Z51
Code DSL
c1 = courbe("x^2 + y^2 - 9 = 0", couleur="bleu")
c2 = courbe("{x^2}/4 + {y^2}/9 - 1 = 0", couleur="rouge")
c3 = courbe("x^2 - y^2 - 1 = 0", couleur="vert")
c4 = courbe("x^2 + x*y + y^2 - 1 = 0", couleur="violet")
c5 = courbe("y^2 - 4*x = 0", couleur="orange")
P1 = point_sur(c1, 45, couleur="bleu")
t1 = tangente(c1, P1, couleur="bleu", trait="tirets")
P2 = point_sur(c2, 60, couleur="rouge")
t2 = tangente(c2, P2, couleur="rouge", trait="tirets")
P3 = point_sur(c3, 0.5, couleur="vert")
t3 = tangente(c3, P3, couleur="vert", trait="tirets")
P4 = point_sur(c4, 30, couleur="violet")
t4 = tangente(c4, P4, couleur="violet", trait="tirets")
P5 = point_sur(c5, 3, couleur="orange")
t5 = tangente(c5, P5, couleur="orange", trait="tirets")
Z1 = zeros(c1, couleur="bleu")
Z2 = zeros(c2, couleur="rouge")
Z3 = zeros(c3, couleur="vert")
Z4 = zeros(c4, couleur="violet")
Z5 = zeros(c5, couleur="orange")

Courbes implicites generales — courbe() marching squares

Courbes implicites F(x,y) = 0 de degre > 2 ou transcendantes (grille 200x200).

-8-6-4-22468-6-4-2246c1c2c3c4
Code DSL
c1 = courbe("x^3 + y^3 - 3*x*y = 0", couleur="bleu")
c2 = courbe("x^4 + y^4 - 1 = 0", couleur="rouge")
c3 = courbe("sin(x) + cos(y) - 1 = 0", couleur="vert")
c4 = courbe("x^2*y - y^3 - x^2 + y = 0", couleur="violet")