Sobre

Curva de Hilbert

A curva de Hilbert é uma curva de preenchimento de espaço contínua que visita cada ponto de um quadrado. Foi descoberta por David Hilbert em 1891 e é gerada recursivamente usando um sistema L.

Algoritmo Principal

A curva de Hilbert é gerada usando um sistema L com as seguintes regras:

Axioma: X

Regras:

  • X → -YF+XFX+FY-
  • Y → +XF-YFY-FX+

Interpretação:

  • F: Move para frente e desenha
  • +: Rotaciona 90° à direita
  • -: Rotaciona 90° à esquerda
  • X, Y: Variáveis (não desenham, apenas controlam a estrutura)

Equações Implementadas

No código:

  1. Geração: Aplica as regras iterativamente (geralmente 10 iterações)
  2. Desenho: Interpreta a string resultante como comandos de turtle graphics
    if (char == 'F'): drawLine(length)
    if (char == '+'): rotate(-90°)
    if (char == '-'): rotate(90°)

A curva preenche progressivamente um espaço quadrado, dobrando a resolução a cada iteração.

Complexidade de Compreensão

Nível: Intermediário

  • Conceitos necessários: L-Systems, recursão, turtle graphics, curvas de preenchimento de espaço
  • Matemática: Geometria fractal, teoria de espaço de preenchimento
  • Programação: Manipulação de strings, recursão, transformações geométricas

Referências e Recursos para Estudo

Artigos e Documentação

Tutoriais e Código

Aprofundamento Matemático

Visualizações Interativas

Arquivo do processo

Todas as gerações — incluindo as ruins — fazem parte do processo.

3quadros