Introdução à Programação Funções Matemáticas

Slides:



Advertisements
Apresentações semelhantes
«Forte do Bom Sucesso (Lisboa) – Lápides 1, 2, 3» «nomes gravados, 21 de Agosto de 2008» «Ultramar.TerraWeb»
Advertisements

Funções Matemáticas Excel.
2º Semestre 2009 > PUCPR > Design Digital
Laboratório de Informática Propriedades CSS: Cores
Componentes ASP.NET Validação – Parte 2
Introdução à Programação: uma Abordagem Funcional
Programação de Computadores
AJUSTE DE CURVAS 6.1 Introdução 6.2 Método dos quadrados mínimos
Introdução à Programação usando Processing Programação Gráfica 2D Estrutura de Seleção Exercício Estrutura de Seleção 2º Semestre 2009 > PUCPR > Design.
Introdução à Programação usando Processing Programação Gráfica 2D Chamada a funções, variáveis e criação de funções Exercícios de Fixação 2º Semestre 2009.
Introdução à Programação Apresentação da Disciplina 1º Semestre 2010 > PUCPR > Design Digital Bruno C. de Paula.
Introdução à Programação usando Processing Programação Gráfica 2D Animações Exercício Animações 14/10/09 Bruno C. de Paula 2º Semestre 2009 > PUCPR >
Rect rect(20,30,40,50); rectrect: Desenha um retângulo 4 parâmetros Nenhum retorno Efeito colateral: desenha um retângulo.
Introdução à Programação Exercício - Minigame - Interação 2º Semestre 2010 > PUCPR > Design Digital Bruno C. de Paula.
Introdução à Programação Exercício F13 - Minigame - Interação - Imagens 1º Semestre 2010 > PUCPR > Design Digital Bruno C. de Paula.
Chamada a funções, variáveis e criação de funções Exercícios para a Prova 2º Semestre 2009 > PUCPR > Design Digital Bruno C. de Paula.
Programação Prof.: Bruno Rafael de Oliveira Rodrigues.
LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS MÉTODOS – UMA VISÃO MAIS APROFUNDADA Prof. Thiago Pereira Rique
Pearson Education Slide 1. Pearson Education Slide 2 Cap í tulo 3 Criado por Frederick H. Colclough, Colorado Technical University Fundamentos das Funções.
Ludwig Krippahl, 2009 Programação para as Ciências Experimentais 2008/9 Teórica 11.
Ludwig Krippahl, 2008 Programação para as Ciências Experimentais 2007/8 Teórica 10.
Introdução aos Computadores e Programação DI-FCT-UNL-2004/2005 Introdução 1.1 Octave Introdução.
Introdução aos Computadores e à Programação DI-FCT-UNL-2005/2006 Introdução 1.1 Octave Introdução.
Capítulo 3 - Aplicações das Derivadas
Alexandre Suaide Ed. Oscar Sala sala 246 ramal 7072 Introdução às Medidas em Física Bloco I, 12 a Aula (7/06/2005)
Marcia Moura Edifício Oscar Sala – ramal 6837
Função quadrática: a função geral de 2º grau
Excel Profa. Cristina M. Nunes.
Introdução à Programação
Construção de Algoritmos 1
RED143 - Métodos Numéricos e Estatísticos
MEDIDAS E INCERTEZAS O Que é Medição?
Funções Matemáticas Estatísticas Data/horário Financeiras Lógicas
Ajuste de Curvas e Interpolação
FUNÇÃO MODULAR.
Universidade Federal do Espírito Santo
Logaritmos.
POTENCIAÇÃO Potência de um número.
Funções Pré-definidas
7 - Funções pré-definidas
Guia de Funções Matemáticas
Funções Matemática.
Grupo 11 Diogo Santos nº6 Rafael Graça nº20
Estrutura de Dados em Java
Trabalho de Matemática
Campus de Caraguatatuba
Derivada e integral de uma função
Função acos() Função acos Protótipo double acos ( double x ) Cabeçalho
IAED Tagus, 2009/2010 Introdução à Programação em C (I)
Problemas de Otimização
Matemática I AULA 6 Profª Ms. Karine R. de Souza .
DERIVADA SEGUNDA Função que se obtém ao derivar a derivada de f(x)
Medidas de Dispersão ou de Variabilidade:
Prof. Reginaldo Ré Universidade Tecnológica Federal do Paraná – Campus Campo Mourão COINT - Coordenação.
Funções Matemáticas ABS(valor): valor absoluto INT(valor): arredonda para baixo ROUND(valor;casas_decimais): arredonda Usar ROUND ou o comando de formatação.
Linguagem de Programação
1.2- Propriedades dos Limites
Professora: Lucélia Alves de Oliveira
Planilha Eletrônica - Excel
Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery.
Campus de Caraguatatuba Aula 9: Noções Básicas sobre Erros (3)
Funções Matemáticas e de String
Interpolação e Ajuste de Curvas
Introdução à Linguagem JavaScript
Computação Eletrônica Variáveis Reais e Booleanas.
Matemática Revisão Global Professor Rivelino.
Métodos Numéricos Computacionais
Treinamento PHP Módulo 1 PHP Básico Waelson Negreiros waelson.com.br “Está conosco o Senhor dos Exércitos”
Alô, mundo!. Vamos ao Dev C++ discutir os seguintes tópicos: – case sensitive – edentação – define – \n, \t, \a – tipos basicos: int, float, char – printf,
Programação Funcional
Transcrição da apresentação:

Introdução à Programação Funções Matemáticas Bruno C. de Paula Introdução à Programação Funções Matemáticas 1º Semestre 2009 > PUCPR > Design Digital

23/03/2017 Resumo da aula O objetivo hoje é conhecer algumas funções matemáticas e sua aplicação na programação gráfica;

Motivação Vamos ver que tipo de arredondamentos, comparações, restrições, comparações e transformações podem ser feitas com números e onde tais operações se aplicam em situações reais de: Movimentação; Desenho; Texturização; Etc. 23/03/2017

Sintaxe introduzida: comparação entre números min (en/pt): obtém o mínimo entre 2 ou 3 números; max (en/pt): obtém o máximo entre 2 ou 3 números; 23/03/2017

Sintaxe Introduzida: restrições de valor abs (en/pt): retorna valor absoluto de um número; ceil (en/pt): arredonda para cima; floor (en/pt): arredonda para baixo; round (en/pt): arredondamento para o inteiro mais próximo; constrain (en/pt): restringe um valor a um intervalo; 23/03/2017

Sintaxe introduzida: normalização, mapeamento e interpolação Operações de “regra de 3”; norm (en/pt): Normaliza. Transforma um número de um intervalo para outro entre 0 e 1; map (en/pt): Mapeia. Converte um número de um intervalo para outro; lerp (en/pt): Interpola. Calcula um número entre 2 em um intervalo específico. 23/03/2017

Sintaxe introduzida: geração de números aleatórios random (en/pt): devolve um valor pseudo-aleatório; randomSeed (en/pt): escolhe a raiz do número aleatório; noise (en/pt): devolve valor de ruído de Perlin; noiseSeed (en/pt): ajusta a raiz do ruído de Perlin; noiseDetail (en/pt): ajusta o detalhe do ruído de Perlin. 23/03/2017

Sintaxe introduzida: expoentes e raízes sq (en/pt): Retorna o quadrado de um número; sqrt (en/pt): Calcula a raiz quadrada de um número; pow (en/pt): Devolve um número elevado a um expoente (potência). 23/03/2017

Sintaxe introduzida: funções diversas dist (en/pt): Calcula a distância entre 2 pontos; mag (en/pt): Calcula o comprimento de um vetor. Mesmo que dist(0,0,x,y); exp (en/pt): Retorna e (2.71...) elevado à uma potência; log (en/pt): Calcula o logaritmo neperiano de um número; 23/03/2017

Restrições e comparações min, max, abs, ceil, floor, round float a = min(2.3, 3.1); // valor mínimo println(a); // Exibe 2.3; float b = max(2.3, 3.1); // valor máx println(b); // Exibe 3.1; float c = abs(-12); // valor absoluto println(c); // Exibe 12.0 float d = ceil(12.2); // arredonda cima println(d); // Exibe 13 23/03/2017

constrain (valor, mínimo, máximo) int f = constrain(5, 10, 20); println(f); // Exibe 10 int g = constrain(30, 10, 20); println(g); // Exibe 20 Útil para restringir movimento do mouse; 23/03/2017

Mouse restringido via constrain 23/03/2017 Mouse restringido via constrain void draw() { background(255); // Cor de fundo float mx = constrain(mouseX, 30, 60); // Restringe o x entre 30 e 60 float my = constrain(mouseY, 10, 90); // Restringe o y entre 10 e 90 rectMode(CORNERS); // Modo de desenho de retângulos rect(30, 10, 60, 90); // Desenha um retângulo ellipse(mx, my, 5, 5); // Desenha uma elipse que acompanha o mouse } 23/03/2017

Normalização Regra de três; Conversão de um valor para um intervalo entre 0 e 1; float h = norm(0, 0, 255); println(h); // Exibe 0; float i = norm(127, 0, 255); println(i); // Exibe 0.49... float(j) = norm(255, 0, 255); println(j); // Exibe 1. 23/03/2017

Normalização 23/03/2017 float x; void setup() { size(300,200); // Configura a tela // Escolhe a fonte: textFont(createFont("Arial",18)); } void draw() background(128); // Cor de fundo // Regra de 3 com mouseX entre 0 e width x = norm(mouseX, 0, width); // Exibe mouseX e x text("mouseX = "+mouseX, 20, 20); text("x = " + x, 20, 40); 23/03/2017

Mapeamento Regra de três; Conversão de um valor de um intervalo para outro; float k = map(20, 0, 100, 0, 255); println(k); // Exibe 51.0 23/03/2017

Mapeamento 23/03/2017 float y; void setup() { size(200,300); // Configura a tela // Escolhe a fonte: textFont(createFont("Arial",18)); } void draw() background(128); // Cor de fundo // Regra de 3 y = map(mouseY, 0, height, 100, 200); // Exibe mouseX e x text("mouseY = "+mouseY, 20, 20); text("y = " + y, 20, 40); rectMode(CORNERS); rect(25, 100, 175, y); 23/03/2017

Mapeamento 23/03/2017 float corR = 0; float corG = 0; float corB = 0; void draw() { // Regra de 3 corR = map(mouseX, 0, width, 0, 255); corG = map(mouseY, 0, height, 0, 255); background(corR, corG, corB); } 23/03/2017

Mapeamento e restrição (1) 23/03/2017 Mapeamento e restrição (1) float corR = 0; float corG = 0; float corB = 0; void setup() { size(300,200); textFont(createFont("Arial",18)); } void draw() // Regra de 3 corR = map(mouseX, 0, width, 0, 255); corG = map(mouseY, 0, height, 0, 255); // Altera a cor pelo mouse if(mousePressed && mouseButton==LEFT) { corB = corB - 1; if(mousePressed && mouseButton==RIGHT) { corB = corB + 1; corB = constrain(corB, 0, 255); background(corR, corG, corB); text(corR + ", " + corG + ", " + corB, 20, 20); 23/03/2017

23/03/2017 float corR = 0; float corG = 0; float corB = 0; void setup() { size(300,200); textFont(createFont("Arial",18)); } void draw() // Regra de 3 corR = map(mouseX, 0, width, 0, 255); corG = map(mouseY, 0, height, 0, 255); // Altera a cor pelo mouse if(mousePressed && mouseButton==LEFT) { corB = corB - 1; if(mousePressed && mouseButton==RIGHT) { corB = corB + 1; corB = constrain(corB, 0, 255); background(corR, corG, corB); text(corR + ", " + corG + ", " + corB, 20, 20); 23/03/2017

Geração de números pseudo-aleatórios Permite que se dê a ilusão da remoção do determinismo de um programa; random(min, max): Retorna um número pseudo-aleatório entre os 2 intervalos; float m = random(-10,10); println(m); // Não sei! Com certeza exibe um número entre -10 e 10 23/03/2017

Pontos aleatórios 23/03/2017 void draw() { float x = random(0, width); float y = random(0, height); point(x, y); } 23/03/2017

Linhas aleatórias 23/03/2017 void draw() { frameRate(1); float y1 = random(0, height); float y2 = random(0, height); float s = random(1, 10); strokeWeight(s); stroke(0, 128); line(0, y1, width, y2); } 23/03/2017

Retângulos aleatórios 23/03/2017 Retângulos aleatórios float x, y, h, w, r, g, b; void draw() { x = random(0, width); y = random(0, height); w = random(10, 30); h = random(10, 30); r = random(0, 255); g = random(0, 255); b = random(0, 255); fill(r,g,b); rect(x, y, w, h); } 23/03/2017

+ Linhas aleatórias 23/03/2017 float x=0, y=0, y2=0; void setup() { size(800, 50); } void draw() y2 = height/2+random(0, 10); line(x, y, x+1, y2); y = y2; x = x + 1; 23/03/2017

Movimento Browniano 23/03/2017 float x, y; void setup() { size(300, 300); x = width/2; y = height/2; } void draw() x = x + random(-3, 3); y = y + random(-3, 3); ellipse(x, y, 5, 5); 23/03/2017