Sitegui - Corda (Versão 2.2 - 10/02/2009)

Acessar o projeto - Download do projeto (.rar)

Este projeto é uma animação interativa de uma corda extensível, ou seja, de uma corda que pode ser esticada.
Essa corda é composta por vários pontos, cada ponto é ligado um ao outro por uma mola virtual (passe o mouse perto de um ponto para que ele apareça). Com um número grande de pontos teremos um corda extensível bem próxima do real.
Podem ser configuradas várias variáveis da animação, como: número de pontos, gravidade, massa dos pontos, atrito do ar, constante elástica, distância normal, velocidade da animação.
Cada ponto recebe três forças: a da gravidade (peso), uma elástica exercida pelo ponto anterior e outra elástica exercida pelo próximo ponto.
As forças são tratadas vetorialmente, assim como a aceleração e a velocidade de cada ponto.
Nessa versão é possível salvar uma situação para depois usa-la. Para isso clique em Salvar, copie e cole o código mostrado em algum lugar. Para recarregar a cena salva basta clicar em Abrir e colar o código fornecido na etapa anterior.
Já existem duas cenas previamente salvas, para abri-las basta clicar em Abrir e depois em um dos números acima do campo de texto.
Ainda é possível fixar pontos para impedir que se movam.

Controles

Vamos explicar rapidamente cada controle do painel lateral (para mostra-lo basta posicionar o mouse a esquerda):
Mover e fixar: Altera a ação executada quando se clica em um ponto da corda. Quando mover é selecionado pode-se arrastar o ponto clicado (fixo ou não). Quando fixar é selecionado e se clica em um ponto livre ele vira fixo, caso o ponto clicado seja fixo ele volta a ser livre.
Pontos: o número de pontos que compõe a corda. Quanto maior, mais real a corda e mais recursos a animação exige.
Gravidade: a aceleração da gravidade. Valores negativos significam simplesmente que a gravidade puxa os pontos para cima (como se o computador estivesse de ponta-cabeça).
Massa: a massa de cada ponto. Quanto maior esse valor, mais pesada fica a corda e, portanto, mais difícil fica de arrasta-la.
Atrito do ar: a cada iteração (quadro) a velocidade será diminuída nessa porcentagem. Por exemplo: se o atrito do ar for 10 significa que a cada quadro (iteração) cada ponto perderá 10% de sua velocidade.
Constante elástica: o quão "forte" são as molas que conectam os pontos. Evite valores grandes!
Distância normal: como dito anteriormente, cada ponto é conectado por uma mola virtual. Esse valor define o tamanho dessas molas quando soltas, isoladas. Cada mola irá "lutar" para manter essa distância aplicando força nos pontos que ela conecta.
Velocidade: a velocidade da animação. Quantos quadros (iterações) são executados por segundo. Em computadores lentos não ultrapasse os 30 qps.
Limitar: evita que a corda caia para fora da tela.
Forças: desenha as forças aplicadas ao último ponto clicado.

Observação: se a constante elástica for muito grande a corda pode "explodir", nesse caso espere um pouco até que o programa retorne ao normal.
Este problema já existia na primeira versão e não conseguimos elimina-lo ainda :(
Esse projeto usa a versão 2.0 do projeto util.
Qualquer dúvida não hesite em Falar Conosco.