introdução à programação funções matemáticas 1º semestre 2009 > pucpr > design...
TRANSCRIPT
![Page 1: Introdução à Programação Funções Matemáticas 1º Semestre 2009 > PUCPR > Design Digital Bruno C. de Paula](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc0f8497959413d8b5bad/html5/thumbnails/1.jpg)
Introdução à ProgramaçãoFunções Matemáticas
1º Semestre 2009 > PUCPR > Design Digital
Bruno C. de PaulaBruno C. de Paula
![Page 2: Introdução à Programação Funções Matemáticas 1º Semestre 2009 > PUCPR > Design Digital Bruno C. de Paula](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc0f8497959413d8b5bad/html5/thumbnails/2.jpg)
Resumo da aula
O objetivo hoje é conhecer algumas funções matemáticas e sua aplicação na programação gráfica;
![Page 3: Introdução à Programação Funções Matemáticas 1º Semestre 2009 > PUCPR > Design Digital Bruno C. de Paula](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc0f8497959413d8b5bad/html5/thumbnails/3.jpg)
311/04/23
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.
![Page 4: Introdução à Programação Funções Matemáticas 1º Semestre 2009 > PUCPR > Design Digital Bruno C. de Paula](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc0f8497959413d8b5bad/html5/thumbnails/4.jpg)
411/04/23
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;
![Page 5: Introdução à Programação Funções Matemáticas 1º Semestre 2009 > PUCPR > Design Digital Bruno C. de Paula](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc0f8497959413d8b5bad/html5/thumbnails/5.jpg)
511/04/23
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;
![Page 6: Introdução à Programação Funções Matemáticas 1º Semestre 2009 > PUCPR > Design Digital Bruno C. de Paula](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc0f8497959413d8b5bad/html5/thumbnails/6.jpg)
611/04/23
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.
![Page 7: Introdução à Programação Funções Matemáticas 1º Semestre 2009 > PUCPR > Design Digital Bruno C. de Paula](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc0f8497959413d8b5bad/html5/thumbnails/7.jpg)
711/04/23
Sintaxe introduzida:geração de números aleatóriosrandom (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.
![Page 8: Introdução à Programação Funções Matemáticas 1º Semestre 2009 > PUCPR > Design Digital Bruno C. de Paula](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc0f8497959413d8b5bad/html5/thumbnails/8.jpg)
811/04/23
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).
![Page 9: Introdução à Programação Funções Matemáticas 1º Semestre 2009 > PUCPR > Design Digital Bruno C. de Paula](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc0f8497959413d8b5bad/html5/thumbnails/9.jpg)
911/04/23
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;
![Page 10: Introdução à Programação Funções Matemáticas 1º Semestre 2009 > PUCPR > Design Digital Bruno C. de Paula](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc0f8497959413d8b5bad/html5/thumbnails/10.jpg)
1011/04/23
Restrições e comparaçõesmin, max, abs, ceil, floor, round
float a = min(2.3, 3.1); // valor mínimoprintln(a); // Exibe 2.3;float b = max(2.3, 3.1); // valor máxprintln(b); // Exibe 3.1;float c = abs(-12); // valor absolutoprintln(c); // Exibe 12.0 float d = ceil(12.2); // arredonda cimaprintln(d); // Exibe 13
![Page 11: Introdução à Programação Funções Matemáticas 1º Semestre 2009 > PUCPR > Design Digital Bruno C. de Paula](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc0f8497959413d8b5bad/html5/thumbnails/11.jpg)
1111/04/23
constrain (valor, mínimo, máximo)
int f = constrain(5, 10, 20);println(f); // Exibe 10int g = constrain(30, 10, 20);println(g); // Exibe 20
Útil para restringir movimento do mouse;
![Page 12: Introdução à Programação Funções Matemáticas 1º Semestre 2009 > PUCPR > Design Digital Bruno C. de Paula](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc0f8497959413d8b5bad/html5/thumbnails/12.jpg)
1211/04/23
Mouse restringido via constrain
![Page 13: Introdução à Programação Funções Matemáticas 1º Semestre 2009 > PUCPR > Design Digital Bruno C. de Paula](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc0f8497959413d8b5bad/html5/thumbnails/13.jpg)
1311/04/23
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.
![Page 14: Introdução à Programação Funções Matemáticas 1º Semestre 2009 > PUCPR > Design Digital Bruno C. de Paula](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc0f8497959413d8b5bad/html5/thumbnails/14.jpg)
1411/04/23
Normalização
![Page 15: Introdução à Programação Funções Matemáticas 1º Semestre 2009 > PUCPR > Design Digital Bruno C. de Paula](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc0f8497959413d8b5bad/html5/thumbnails/15.jpg)
1511/04/23
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
![Page 16: Introdução à Programação Funções Matemáticas 1º Semestre 2009 > PUCPR > Design Digital Bruno C. de Paula](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc0f8497959413d8b5bad/html5/thumbnails/16.jpg)
1611/04/23
Mapeamento
![Page 17: Introdução à Programação Funções Matemáticas 1º Semestre 2009 > PUCPR > Design Digital Bruno C. de Paula](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc0f8497959413d8b5bad/html5/thumbnails/17.jpg)
1711/04/23
Mapeamento
![Page 18: Introdução à Programação Funções Matemáticas 1º Semestre 2009 > PUCPR > Design Digital Bruno C. de Paula](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc0f8497959413d8b5bad/html5/thumbnails/18.jpg)
1811/04/23
Mapeamento e restrição (1)
![Page 19: Introdução à Programação Funções Matemáticas 1º Semestre 2009 > PUCPR > Design Digital Bruno C. de Paula](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc0f8497959413d8b5bad/html5/thumbnails/19.jpg)
1911/04/23
![Page 20: Introdução à Programação Funções Matemáticas 1º Semestre 2009 > PUCPR > Design Digital Bruno C. de Paula](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc0f8497959413d8b5bad/html5/thumbnails/20.jpg)
2011/04/23
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
![Page 21: Introdução à Programação Funções Matemáticas 1º Semestre 2009 > PUCPR > Design Digital Bruno C. de Paula](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc0f8497959413d8b5bad/html5/thumbnails/21.jpg)
2111/04/23
Pontos aleatórios
![Page 22: Introdução à Programação Funções Matemáticas 1º Semestre 2009 > PUCPR > Design Digital Bruno C. de Paula](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc0f8497959413d8b5bad/html5/thumbnails/22.jpg)
2211/04/23
Linhas aleatórias
![Page 23: Introdução à Programação Funções Matemáticas 1º Semestre 2009 > PUCPR > Design Digital Bruno C. de Paula](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc0f8497959413d8b5bad/html5/thumbnails/23.jpg)
2311/04/23
Retângulos aleatórios
![Page 24: Introdução à Programação Funções Matemáticas 1º Semestre 2009 > PUCPR > Design Digital Bruno C. de Paula](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc0f8497959413d8b5bad/html5/thumbnails/24.jpg)
2411/04/23
+ Linhas aleatórias
![Page 25: Introdução à Programação Funções Matemáticas 1º Semestre 2009 > PUCPR > Design Digital Bruno C. de Paula](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc0f8497959413d8b5bad/html5/thumbnails/25.jpg)
2511/04/23
Movimento Browniano