Um canvas 2D é uma superfície de desenho endereçada por pixels, controlada programaticamente. É a base de editores vetoriais, jogos 2D e praticamente toda interface gráfica que desenha formas customizadas.
Diferente do plano cartesiano da matemática, o canvas usa origem no canto superior esquerdo, com o eixo Y crescendo para baixo:
(0,0) ────────► x
│
│ canvas
│
▼
y
Toda forma desenhada — retângulo, círculo, linha — é posicionada em relação a essa origem.
As três transformações fundamentais podem ser combinadas em uma única matriz:
translate(x, y) → rotate(θ) → scale(sx, sy)
A ordem importa: aplicar rotação antes de translação produz um resultado diferente de aplicar depois, porque cada transformação afeta o sistema de coordenadas usado pela próxima.
Formas complexas nascem da combinação de primitivas simples (retângulos, arcos, caminhos/paths) com operações booleanas ou empilhamento em camadas — o mesmo princípio usado em ferramentas como Figma e Illustrator.
Experimente na prática no Canvas 2D interativo, ou veja também Curvas de Bézier — usadas para desenhar formas suaves dentro de um canvas.