Pular para o conteúdo principal

Postagens

Mostrando postagens de outubro, 2019

Tarefa 9 - Pong

9. Reimplementar o jogo Pong para um jogador empregando a função keyPressed() e comparar o uso da mesma em relação ao emprego original da variável de sistema keyPressed. int bastaoYD = 0; int bolaX = 40; int bolaY = 300; int dX = 3; int dY = 3; void setup() {   size(600, 600); } void draw() {   background(0);   rect(570, bastaoYD, 20, 100);   ellipse(bolaX, bolaY, 20, 20);   bolaX += dX;   bolaY += dY;   if ( bastaoYD >= 500) {     bastaoYD = 500;   } else if ( bastaoYD <= 0) {     bastaoYD = 0;   }   if (bolaY <= 10 || bolaY >= 590) {     dY = -dY;   } else if (bolaX <= 10 || bolaX >= 590) {     dX = -dX;   }      if ((bolaX >= 560) && (bolaY >= bastaoYD) && (bolaY <= bastaoYD +100)) {     dX = -dX;   } } void keyPressed() {   if (keyCode == DOWN) {     bas...

Tarefa 8 - Dist e Map

8. Empregando as funções dist e map do Processing, explicar e exemplificar como a posição do mouse, numa janela com proporção 4:3, pode mover um círculo no interior de uma retângulo com proporção 16:9 centralizado na tela. Código: void setup(){   size(800,600); } void draw() {  background(100);  noStroke();  rectMode(CENTER);  fill(255);  rect(width/2, height/2, 320, 180);  correspondencia(); } int t = 30; void correspondencia(){  float dx = dist(0,0,mouseX,0);  float dy = dist(0,0,0,mouseY);  float x = map(dx, 0, width, 240+t/2, 560-t/2);  float y = map(dy, 0, height, 210+t/2, 390-t/2);  fill(0);  ellipse(x, y, t, t); } A função dist() recebe dois pares de parâmetros, duas coordenadas, começando do eixo X e depois o eixo Y. Esta instrução funciona para conseguir a distância exata entre dois pontos. Já a função map() faz a conversão proporcional de uma distância em uma reta de tamanho ...

Tarefa 7 - Proporção áurea e Fibonacci

7. Apresentar e discutir a relação estabelecida entre a sequência de Fibonacci e a noção de proporção áurea. A proporção áurea ou número de ouro, é uma constante real algébrica irracional em formato de dizima, ou apenas, um número que simplesmente é encontrado na forma de diferentes coisas no nosso mundo, como os filamentos de folha, girassóis, conchas de caracóis, furacões, ondas no mar e até nas proporções do corpo humano. Uma forma gráfica de obter a proporção é partir de um quadrado, dividindo-o em duas partes, dessa vez iguais, usando uma reta vertical central e usar a parte direita para conseguir uma diagonal que começa no canto inferior esquerdo e termina no superior direito dessa mesma parte, gira-se esta diagonal até a base da figura e constrói-se um retângulo áureo a partir dessa nova largura. Leonardo de Pisa ou Fibonacci foi o primeiro grande matemático europeu da Idade Média e durante seus estudos, descobriu propriedades únicas de uma sequência específica de ...

Tarefa 6 - Bandeira do Brasil

6. Discutir o emprego das instruções quad, beginShape e endShape, rectMode e ellipseMode do Processing na construção da bandeira do Brasil, considerando a Lei Federal Nº 5.700 LF 5700, S. II, A. 5 - 01/09/1971 I - Para cálculo das dimensões, tomar-se-á por base a altura desejada, dividindo-se esta em 14 partes iguais. Cada uma das partes será considerada uma medida ou módulo. II - A largura total será de 20 módulos. III - A distância dos vértices do losango ao quadro externo será de um módulo e sete décimos. IV - O círculo no meio do losango terá o raio de três módulos e meio. Código: float altura = 300; float m = altura/14; void setup(){   size(800,600); } void draw(){   //retangulo   noStroke();   fill(0, 156, 59);   rectMode(CENTER);   rect(width/2, height/2, m*20, m*14);      //losango   fill(255, 223, 0);   beginShape();   vertex((width/2)-(m*8.3), height/2);   vertex((width/2), height/2...

Tarefa 5 - MRUV

5. Adicionar a visualização, diretamente na janela do simulador de lançamento balístico, de todos os valores das variáveis envolvidas, incluindo as velocidades instantâneas horizontal e vertical, discutindo como as mesmas foram obtidas. ERROR 404 - NOT FOUND Códigos não encontrados.

Tarefa 4 - MRU

4. Explicar as alterações necessárias no código para que o simulador possa considerar intervalos menores que um segundo, sendo executado a 60 fps e ainda mantendo o tempo real. Código anterior: int tAtual = 0; int vAtual = 10; int dAtual; void setup() { frameRate(1); size(600, 600); background(255); } void draw() {  dAtual = MRU(vAtual, tAtual); println(tAtual, dAtual); ellipse(dAtual, 300, 10, 10); tAtual++; } int MRU(int v, int t) { int d; d = v * t; return(d); } Código alterado: float tAtual = 0+1/60; float vAtual = 10; float dAtual; void setup() { size(600, 600); background(255); } void draw() {  dAtual = MRU(vAtual, tAtual); println(tAtual, dAtual); ellipse(dAtual, 300, 10, 10); tAtual++; } float MRU(float v,float t) { float d; d = v * t; return(d); } Em sala, fizemos com que o código utilizasse metros por segundo, pois ele não teria que lidar com intervalos...

Tarefa 3 - Farbstudie Quadrate

3. Apresentar o desenvolvimento de uma aplicação que, empregando laços, gere quadros com uma função que replica um bloco formado por um quadrado e três círculos coloridos. A aplicação deve receber a quantidade de blocos por linha e coluna por duas variáveis globais. Farbstudie Quadrate, 1913, Wassily Kandinsky Código: int Linhas = 3; int Colunas = 4; void setup() {   size(800, 600);      for (int i=1; i<360; i+=120){     for (int j=1; j<480; j+=120) {        bloco(j, i);   } }  posicao(360,480);    } void bloco(int x, int y) {   fill(random(256), random(256), random(256));   rect(x,y,120,120);   fill(random(256), random(256), random(256));   ellipse(x+60, y+60, 100, 100);   fill(random(256), random(256), random(256));   ellipse(x+60, y+60, 70, 70);   fill(random(256), random(256), random(256));   ellipse(x+60, y+60, 40, 40); } void ...

Tarefa 2 - Debug

2. discutir o emprego da ferramenta debug no processo de criação de uma aplicação que apresenta, numa janela de 320 px de largura, imagens de 60 x 80 px de acordo com base em duas variáveis globais: h para a quantidade de imagens horizontais e v para a quantidade de imagens verticais A ferramenta debug nos permite encontrar e reduzir defeitos em um programa. Ela nos mostra os valores e processos que estão acontecendo na linha de código a ser analisada. Código: int h; int v; void setup(){   size(320, 180);   background(0); } void draw(){   rect(10,10,60,80);   rect(70,10,60,80);   rect(130,10,60,80);   rect(190,10,60,80);   rect(250,10,60,80);   rect(10,90,60,80);   rect(70,90,60,80);   rect(130,90,60,80);   rect(190,90,60,80);   rect(250,90,60,80); } :(

Tarefa 1 - Hello World

1. Apresentar, alterar e discutir um dos exemplos disponíveis em https://processing.org/examples/ e relaciona-los ao conteúdo exposto no documentário “Hello World! Processing” De acordo com o documentário “Hello World, Processing” , a intenção dos desenvolvedores deste software é tornar o contato humano-computador acessível ao maior número de usuários, seja pela facilidade na manipulação de dados, e sua representação de forma visual, ou pela formação de uma comunidade de aprendizado, A ideia é que a interação com o programa encoraje a experimentação, e que o processo criativo em contato com o computador não esteja fadado a ser metódico. Isto pode ser comprovado metaforicamente pela relação entre os projetos do processing e as páginas de um sketchbook. E assim fazemos no exemplo abaixo, criando, testando e modificando para aprender coisas novas. Exemplo do processing: void setup() {   size(640, 360);   noSmooth();   fill(126);   background(102); } void ...