É muito comum, na programação, defrontar-se com uma situação na qual o(s) próximo(s) comando(s) a ser(em) executado(s) depende(m) do valor de uma variável. É necessário então inserir no programa um "teste" da variável em questão e um ponto de bifurcação tal que, dependendo do resultado do teste, o programa prossiga num caminho ou no outro.
Os recursos de programação disponíveis no Modellus são limitados, mas é possível inserir na janela de modelo testes e bifurcações simples. Como ilustração, o exemplo apresentado será modificado de maneira a fazer cada projétil parar quando ele volta ao nível de lançamento. Uma realização aproximada desta condição seria um jogo de bocha na areia fofa.
Para conseguir isto, pode-se testar o valor do tempo. Para t > T, sendo T o tempo de voo (até voltar à altura inicial), deseja-se que as coordenadas do projétil se mantenham nos valores x=A e y=0. Aqui, A é o alcance, cuja expressão já foi digitada na janela de modelo.
É preciso, então, modificar, na janela de modelo, as equações que calculam as coordenadas x e y. Procede-de da seguinte maneira. Após digitar x=, clica-se o item Condição na faixa de configuração associada à aba Modelo.
Se você rodar o seu programa após fazer essas modificações, verificará que os projéteis param ao voltar ao nível inicial, porém, os vetores velocidade continuam indicando velocidades não nulas. Para sanar esse problema, cálculos condicionais das componentes da velocidade também devem ser incluídos. O procedimento é semelhante e o modelo assim modificado pode ser visto na captura de tela abaixo (Figura 3.11.2).
As duas capturas de tela abaixo mostram a animação quando 3 dos 5 projéteis ainda estão "no ar", e quando todos já estão "no chão". Para representar o chão, foi inserida uma linha horizontal fixa (Objecto Geométrico do tipo Recta).
(a) | (b) |