Funções matemáticas - Bruno Campagnolo de Paula weblog

Propaganda
Bruno C. de Paula
Introdução à Programação
Apresentação da Disciplina
1º Semestre 2010 > PUCPR > Design Digital
Sintaxe introduzida:
comparação entre números
 min
2
(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;
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;
3
Sintaxe introduzida:
normalização, mapeamento e
interpolação
 Operações
4
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.
Sintaxe introduzida:
geração de números aleatórios
 random
(en/pt): devolve um valor pseudo-
5
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.
Sintaxe introduzida:
expoentes e raízes
 sq
6
(en): Retorna o quadrado de um número;
 sqrt (en): Calcula a raiz quadrada de um
número;
 pow (en): Devolve um número elevado a um
expoente (potência).
Sintaxe introduzida:
funções diversas
 dist
7
(en): Calcula a distância entre 2 pontos;
 mag (en): Calcula o comprimento de um
vetor. Mesmo que dist(0,0,x,y);
 exp (en): Retorna e (2.71...) elevado à uma
potência;
 log (en): Calcula o logaritmo neperiano de
um número;
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
8
9
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;
10
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.
11
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
Geração de números pseudoaleatórios
 Permite
12
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
Download