quarta-feira, 10 de fevereiro de 2016

Tarefa 07 - o A do Braun

Tarefafazer o “A" da Braun continuamente aumentar e diminuir de tamanho no centro da tela.


Para realizar essa tarefa, busquei o logo da Braun, para através da análise proporcionada pelo Professor Clemilson na aula fazer com que o A da logo ficasse se movimentando.
Observando a logo, podemos perceber que o A possui um tamanho maior que as demais letras. Assim, seguindo as proporções determinadas em sala, obtivemos o seguinte resultado:

float x = 137.5;
float y = 200;
int aux = 0;
boolean chave;

void setup(){
  background(255);
  size(275,400);
  frameRate(100);
}

void mostraA(int a){
float m = a / 8;
println(m);
float l = 3.3 * m;
println(l);
fill(0);
rect(x - 1.65 * m, y - 3*m,m,7*m);//retangulo esquerda
rect(x + 0.65 * m, y - 3*m,m,7*m);//retangulo direita
rect(x - 0.65*m,y + 0.5*m,1.3*m,m);//retangulo centro inferior
rect(x - 0.65*m,y - 4*m,1.3*m,2*m);//retangulo centro superior
arc(x - 0.65 * m, y - 3*m, 2 * m, 2*m,PI,3*HALF_PI);//arco superior esquerdo
arc(x + 0.65 * m, y - 3*m, 2 * m, 2*m,3*HALF_PI,2 * PI);//arco superior direito

//area inderior do A
fill(255);
noStroke();
ellipse(x + 0.4*m,y - 2.75*m,0.5*m,0.5*m);
ellipse(x - 0.4*m,y - 2.75*m,0.5*m,0.5*m);

}

void chave(){
  if(aux == 0){
    chave = true;
  }else if(aux == 400){
    chave = false;
  }
}

void draw(){
  background(255);
  chave();
  
    if(chave == true){
      aux++;
    }else{
      aux--;
    }
  mostraA(aux);
}


Tarefa 06 - Bandeira do Brasil

Considerando a Lei Federal Nº 5.700, criar a função mostraBandeiraBrasil(x, y, l) e discutir o resultado em seu blog:

De acordo com a lei, temos o seguinte:

Art. 5º A feitura da Bandeira Nacional obedecerá às seguintes regras (Anexo nº 2):
I - Para cálculo das dimensões, tomar-se-á por base a largura desejada, dividindo-se esta em 14  (quatorze) partes iguais. Cada uma das partes será considerada uma medida ou módulo.
II - O comprimento será de vinte módulos (20M).
III - A distância dos vértices do losango amarelo ao quadro externo será de um módulo e sete décimos (1,7M).
IV - O círculo azul no meio do losango amarelo terá o raio de três módulos e meio (3,5M).
V - O centro dos arcos da faixa branca estará dois módulos (2M) à esquerda do ponto do encontro do prolongamento do diâmetro vertical do círculo com a base do quadro externo (ponto C indicado no Anexo nº 2).
VI - O raio do arco inferior da faixa branca será de oito módulos (8M); o raio do arco superior da faixa branca será de oito módulos e meio (8,5M).
VII - A largura da faixa branca será de meio módulo (0,5M).

Sabendo dessa informação temos a criação do seguinte código:

void setup(){
  size(600, 420);
  background(255);
}

void mostraBandeiraBrasil(float x, float y, float l){ //função para mostrar a bandeira do Brasil

 //Seguindo as proporções da lei:
 float m = l / 14;  
 float c = 20 * m;
 noStroke();
 fill(0,135,56);
 rect(c - c, l - l, c, l);

 fill(244,231,0);
 quad((1.7 * m), l/2, c/2, (1.7 * m), c - (1.7 * m), l/2, c/2, l - (1.7 * m));

 fill(11,38,117);
 ellipse(c/2, l/2, m * 7, m * 7);
}

void draw(){
  mostraBandeiraBrasil(300, 210, 420);
}
  
  Esse foi o resultado:



quarta-feira, 3 de fevereiro de 2016

Trabalho Final de Matemática Aplicada à Multimídia

Olá Povo...

O trabalho final consistia em criar um vídeo explicativo sobre a criação ou melhor apropriação de uma imagem ou obra de arte ou de design a sua escolha.

Eis  o vídeo...


Se o vídeo não abrir, clique aqui!
Abs e até a AF... hehehehehehe

domingo, 31 de janeiro de 2016

Tarefa 05 - Movimento Balístico

Tarefa:
alterar a aplicação de lançamento balístico para recálculo a cada 0,1 segundo (= 10 fps), porém mantendo o tempo real.

// Criei duas variáveis diferentes para o movimento vertical e para o movimento horizontal, bem como, duas variáveis diferentes para a distância. Como a atividade acrescentava um tempo float, tive que mudar algumas variáveis para float também.

int vAtualH = 10;
int vAtualV = 10;
int aAtual = -1;
float tAtual = 0;
float dAtualH;
float dAtualV;

void setup(){
  frameRate(10);
  size(600,600);
   

  }
  

void draw(){
  background(25,25,112);
  dAtualV = MRUV(vAtualV,aAtual,tAtual);
  dAtualH = MRU(vAtualH,tAtual);
    println(tAtual,dAtualH);
    ellipse(dAtualH, 600 - dAtualV,10,10);
    tAtual = tAtual + 0.1;
mostraGrade();
}

float MRUV(int v, int a, float t){
  float d = v*t + a*t*t/2;
  return(d);
}

float MRU(int v, float t){
  float d = v*t;
  return(d);
}

void mostraGrade(){
  for(int i=0; i<12; i++){
    line(i*50,0,i*50,600);
    line(0,i*50,600,i*50);
  }
}


Tarefa 04 - MRU

Olá Pessoas...

Eis a tarefa de MAMI...

Alterar o mundo de acordo com uma harmonia cromática a sua escolha e, informar na própria tela (comando text) em tempo real, os valores de todas as variáveis envolvidas na simulação.

Vamos lá...

Essa atividade na verdade. fazia parte de um conjunto de atividades que deveriam ser desenvolvidas, culminando com o código abaixo.
Assim, você deveria simular o Movimento Retilíneo Uniforme (MRU) através de uma ellipse. Para tanto, teríamos que criar algumas funções e procedimentos extras para facilitar o processo.

Eis o código abaixo:

int tAtual = 0;
int vAtual = 10;
int dAtual;
int x;
int y = 300;
int r = 20;

void setup(){
  frameRate(1);
  size(600,600);
  
  }
  

void draw(){
  background(25,25,112); 
  dAtual = MRU(vAtual,tAtual);
  println(tAtual,dAtual);
  tAtual++;
  fill(138,43,226);
  ellipse(dAtual,y,r,r);
  mostraGrade();
  textSize(20);
  text("A velocidade média é de " + vAtual + " m/s", 10, 540); 
  fill(255);
  
  textSize(20);
  text("A distância percorrida é de " + dAtual + " metros", 10, 565);
  fill(255);

  textSize(20);
  text("O tempo gasto é de " + tAtual + " segundos", 10, 590); 
  fill(255);
}

int MRU(int v, int t){
  int d;
  d = v*t;
  return(d);
}

void mostraGrade(){
  for (int i = 0; i < 12; i++){
    fill(255);
    line(i*50,0,i*50,600);    
  }
}

Eis o resultado final:


Tarefa 03 - Flores Randomicas

Tarefa: Criar  função  flor3(x,  y,  r)  que  cria  uma flor  como  a figura  abaixo.  Depois  chamála  100  vezes  com  posições  e  raios randômicos.  Mostrar  o  código  e  discutir  a regra  de  criação.

1º Passo:

Criar a tela inicial onde as flores aparecerão:


void setup(){
  size(800,800);

}

2º Passo:

Criar a função Círculo que será utilizada na função flor. Assim, teremos a função flor chamando a função círculo.

void circulo(float x,float y,float r){
  ellipse(x,y,2*r,2*r);
}

3º Passo:

Criar a função "flor".


void flor(float x, float y){
  float r = random(100);
  float pos = r * 1.4;
  
  circulo(x,y,r);  
  circulo(x-pos,y+pos,r);
  circulo(x+pos,y-pos,r);
  circulo(x+pos,y+pos,r);
  circulo(x-pos,y-pos,r);
}

4º Passo:

Chamar a flor e determinar que ela seja randômica, ou seja, ela vai aparecer durante 100 vezes e parar. Para tanto, no início criei um variável global v, que pode ter valor inicial zero e com valor inteiro.

void draw(){
 if (v < 101){
   
   float r1 = random(1000);
   float r2 = random(1000);
   
   flor(r1,r2);
   
   v = v + 1;
 }
}

Se v (qtde de vezes chegar a 100) ele para e ao mesmo tempo, torna randômico as posições x, y e r da ellipse, fazendo com que elas apareceram em vários lugares da tela.

Tärefa 02 - Apropriação de exemplo

Olá


  • A tarefa referente a aula 02, consistia em apresentar, alterar e comentar em seu Blog um dos exemplos disponíveis em: http://processing.org/examples

Explicando a tarefa: devemos escolher um código localizado na página de exemplos do processing e a partir do exemplo manipular o código, criando uma nova aplicação.

Esse foi o código a ser modificado:


Pointillism by Daniel Shiffman.

Mouse horizontal location controls size of dots. Creates a simple pointillist effect using ellipses colored according to pixels in an image.
PImage img;
int smallPoint, largePoint;

void setup() {
  size(640, 360);
  img = loadImage("moonwalk.jpg");
  smallPoint = 4;
  largePoint = 40;
  imageMode(CENTER);
  noStroke();
  background(255);
}

void draw() { 
  float pointillize = map(mouseX, 0, width, smallPoint, largePoint);
  int x = int(random(img.width));
  int y = int(random(img.height));
  color pix = img.get(x, y);
  fill(pix, 128);
  ellipse(x, y, pointillize, pointillize);
}
Arquivo modificado:
PImage img;
int smallPoint, largePoint;

void setup() {
  size(400, 300); //Tamanho da imagem alterada
  img = loadImage("morrobranco.jpg");//Arquivo de imagem alterada
  smallPoint = 4;
  largePoint = 20;//largura do quadrado
  imageMode(CENTER);
  noStroke();
  background(255);
}

void draw() { 
  float pointillize = map(mouseX, 0, width, smallPoint, largePoint);
  int x = int(random(img.width));
  int y = int(random(img.height));
  color pix = img.get(x, y);
  fill(pix, 128);
  rect(x, y, pointillize, pointillize);//com a mesma tecnica do pontilismo, modifiquei para um quadradismo.
}
Essa é a imagem original que vai ser pontilhada.