Atividade 6
- Marcos André
- 17 de abr. de 2016
- 2 min de leitura
'Utilizando a função
text, incluir os valores das variáveis utilizadas
na própria tela da aplicação de lançamento balístico.'
Para a realização da tarefa proposta se faz necessária a utilização de variáveis do tipo String responsáveis por identificar o que cada numeração na tela significa.Logo em seguida, mostraremos os valores numéricos das variáveis convertidos em String, para que haja a diminuição da quantidade de casas decimais.Segue exemplo com e sem a conversão dos valores float usando a função str():


Podemos observar, que após o uso da função,uma casa decimal é diminuída e isso nos dá mais espaço para imprimir as variáveis na tela.Na verdade, esse código é apenas uma extensão da atividade anterior,acrescenta-se o movimento vertical e as respectivas acelerações, sendo uma delas, a gravidade.Vejamos como isso fica no código abaixo:
float Aatual=10; float Datual= 0; float Vatual= 100; float Tatual=0;
int ALTURAINICIAL=350; float realTime;
String Tempo="realTime=";
//Hoizontal
String Velocidade="Vatual="; String Distancia="Datual="; String Aceleracao="Aatual=";
//Vertical
String VelAltura="VatualH="; String DistAltura="DatualH="; String AceleraAltura="AatualH(Gravidade)=";
float AatualH=-9; float DatualH=0; float VatualH= 50; float TatualH=0; void setup(){ //println(MRUV (0,1,1)); frameRate(60); size(600,600); background(0);
} void mostraMundo() { for (int i = 0; i < 12; i++) { /*Aqui,dentro da função mostraMundo(), temos o diferencial da atividade para o exercício feito em sala*/
textSize(20); text(Velocidade,4,45); /*Aqui realizo a conversão a que cito no começo do comentário*/
text(str(Vatual),81,45); text(Aceleracao,4,75); text(str(Aatual),81,75); text(Distancia,140,45); text(str(Datual),218,45); text(AceleraAltura,136,75); text(str(AatualH),342,75); text(Tempo,319,45); text(str(realTime),420,45); text(VelAltura,460,45); text(str(VatualH),548,45); text(DistAltura,392,75); text(str(DatualH),486,75); fill(215,217,13); */Logo após as variáveis serem desenhadas, o Grid é criado*/ line(i * 50, 0, i * 50, 600); stroke(255); line(0, i * 50, 600, i * 50); stroke(255); } } /*Na função draw, são incrementados ambos os tempos e realizada as chamadas das funções*/
void draw(){
background(0);
mostraMundo(); Datual=DatualH + MRUV(Vatual,Tatual,Aatual); DatualH = MRUVH(VatualH,TatualH,AatualH); ellipse(Datual,600-DatualH-ALTURAINICIAL,30,30); stroke(255); TatualH++; Tatual++;
if(frameCount%60==0){ realTime++; }
/* Aqui, dou fim ao loop caso a bolinha ultrapasse os limites da tela */
if(Datual>600 || DatualH<-600) noLoop();
}
/*A função MRUV para o movimento Horizontal*/
float MRUV(float v,float t,float a){ float d;
a=a/60; v=v/60; d=v*t+a*t*t/2; return(d);
} /*A função MRUV para o movimento vertical em que ah é a Gravidade.*/ float MRUVH(float vh,float th,float ah){ float dh;
ah=ah/60; vh=vh/60; dh=vh*th+ah*th*th/2; return(dh);
}

Comments