Linguagem de cenas
Atualizado em 5 de agosto de 2026
As cenas do SimuLab não são desenhadas com um editor gráfico: elas são descritas escrevendo. Isso significa que você pode definir exatamente quais figuras aparecem, como elas se movem e de qual ponto de vista, usando uma linguagem simples pensada para problemas de ciências.
Onde editar uma cena
Ao criar ou editar um problema manualmente, role até a seção Enunciado do editor. Abaixo do texto do enunciado você encontrará um campo de texto monoespaçado com o indicador Código da simulação. É lá que você escreve o código. O botão Pré-visualizar executa a cena em uma janela de prévia para que você possa vê-la antes de salvar.
Estrutura geral
Uma cena tem duas partes principais:
- O bloco
scene, que define o tipo de cena (2dou3d), a área visível e todas as figuras. - Um ou mais blocos
anim, que definem como as figuras se movem ou mudam ao longo do tempo, usando o formatoanim início..fim.
Dentro de um bloco anim, cada linha de animação pode ser precedida de @início..fim para indicar em qual intervalo de tempo aquela animação específica ocorre.
Famílias de elementos disponíveis
Cenas 2D
| Elemento | Para que serve |
|---|---|
point |
Marca uma posição com um ponto e rótulo opcional |
vector |
Seta com direção e magnitude |
segment |
Segmento entre dois pontos |
line |
Reta infinita entre dois pontos |
circle |
Círculo, preenchido ou apenas contorno |
rect |
Retângulo |
polygon |
Polígono com quantos vértices forem necessários |
curve |
Curva definida por uma função matemática |
label |
Texto posicionado na cena |
emitter |
Emissor de partículas (fluidos, campos) |
axis |
Eixos cartesianos com rótulos |
Cenas 3D
| Elemento | Para que serve |
|---|---|
sphere |
Esfera no espaço |
box |
Caixa retangular |
cylinder |
Cilindro |
plane |
Plano |
arrow3 |
Seta em 3D |
molecule |
Molécula a partir da sua fórmula SMILES |
camera |
Configura a visualização inicial da câmera |
Animações disponíveis
As animações são escritas nos blocos anim, mencionando o nome da figura à qual se aplicam. As principais são:
| Animação | O que faz |
|---|---|
move |
Move a figura para outra posição |
rotate |
Faz ela girar |
scale |
Muda o tamanho |
fade |
Muda a opacidade |
oscillate |
Faz ela oscilar em torno de um ponto |
orbit |
Faz ela orbitar em torno de outro elemento |
follow |
Move ela ao longo de uma curva |
trace |
Desenha o caminho percorrido |
spin |
Rotação contínua em torno de um eixo |
pulse |
Faz o tamanho pulsar |
flow |
Gera um fluxo de partículas sobre a figura |
show / hide |
Mostra ou oculta a figura |
set |
Altera uma propriedade em um momento específico |
Exemplo mínimo
O código a seguir define uma cena 2D com um ponto que se move para a direita:
scene 2d
space x=-5..5 y=-5..5
point A at (0, 0) color=blue label="A"
anim 0..3
move A to (4, 0)
Este exemplo cria uma cena em duas dimensões, define a área visível entre −5 e 5 em ambos os eixos, coloca um ponto chamado A na origem em azul e define uma animação de 0 a 3 segundos que o move até a posição (4, 0).
A cena é opcional ao criar um problema. Se você não adicionar nenhum código, o problema funciona normalmente, mas sem a visualização animada.
Perguntas frequentes
Preciso saber programar para escrever cenas? Não. A linguagem foi pensada para ser legível: cada linha descreve uma figura ou um movimento em palavras que se parecem com o que fazem. Alguns minutos de prática com os exemplos como referência são suficientes.
Quais cores posso usar?
Os nomes de cor disponíveis são: red, blue, green, yellow, orange, purple, cyan, magenta, white, black e gray.
Posso usar fórmulas matemáticas nos valores?
Sim. Os campos de expressão aceitam operações com sin, cos, sqrt, exp, abs, ln, log, pow e outras funções. Você também pode usar as constantes pi, e e t (o tempo da animação).
Próximo passo
- Cenas interativas — o que o estudante vê ao resolver um problema com cena.
- Criar problemas — guia completo para criar um problema do zero.
- Resolver um problema — como funciona a tela de resolução.