funcioness
DESCRIPTION
processingTRANSCRIPT
Funciones
Funciones
Las funciones son la base de nuestra programacin.
Utilizados frecuentemente : size, line, fill, rect, ellipse, etc.
Modularidad: Ladrillos de lego.
Funciones Bsicas
Ejemplo 8-1: Orden de lectura de cada funcin:Configuracin rollDice cada vez.
void setup() {
println("Ready to roll!");
rollDice(20);
rollDice(20);
rollDice(6);
println("Finished.");
}
void rollDice(int numSides) {
int d = 1 + int(random(numSides));
println("Rolling... " + d);
}
Sin ttulo.jpgEjemplo 8-2:Random
Devuelve un numero entre 0 y el numero especificado.
Al azar (6).. 0 y 5,99999
Int () para convertir en entero: ahora (6) devolver 0,1,2,3,4 y 5
Si adems agregamos 1: devolver de 1 a 6
void setup() {
println("Ready to roll!");
int d1 = 1 + int(random(20));
println("Rolling... " + d1);
int d2 = 1 + int(random(20));
println("Rolling... " + d2);
int d3 = 1 + int(random(6));
println("Rolling... " + d3);
println("Finished.");
}
Sin ttulo2.jpgHacer una funcin
Una funcin nos sirve para el caso de querer multiplicar un
elemento en un plano, en vez de escribir un cdigo y copiarlo
enumeradas veces se utilizan las funciones as el trabajo no se hace
mas tedioso, en realidad las funciones son los cdigos, para que
estas variables no enven nuestros cdigos a un error nos tenemos que
asegurar que estn bien ubicados en las funciones los parmetros
x-y.
Tambin con las funciones se puede modificar cdigos ya robados, como
en color, tamao, dimetro, escala, figuras, etc.
Ejemplo8-5:Una funcin Lechuza
En este ejemplo,una funcin seintrodujopara dibujar doslechuzascon el mismo cdigo.
Sihacemosel cdigo queseala a lalechuzaa la pantallaen una
nueva
funcin, el cdigonecesitaslo aparecer una vezen el programa:
noStroke();
fill(255);
ellipse(-17.5, -65, 35, 35); //Lefteye dome
ellipse(17.5, -65, 35, 35); //Righteye dome
arc(0, -65, 70, 70, 0, PI); // Chin
fill(0);
ellipse(-14, -65, 8, 8); //Lefteye
ellipse(14, -65, 8, 8); //Righteye
quad(0, -58, 4, -51, 0, -44, -4, -51); //Beak
popMatrix();
}
voidsetup() {
size(480, 120);
smooth();
}
voiddraw() {
background(204);
owl(110, 110);
owl(180, 110);
}
voidowl(int x,int y) {
pushMatrix();
translate(x, y);
stroke(0);
strokeWeight(70);
line(0, -35, 0, -65); //Body
Se puede ver enlas ilustraciones queeste ejemploy el
ejemplo8.4tienen el mismo resultado, pero este ejemploes ms
corto,ya que el cdigopara dibujar el
bhoaparece una sola vez,dentro de labien
llamadalechuza()funcin.este cdigo se ejecuta dos veces,porque se
llamados vecesdentro dedraw ().
El bhose dibujaen dos diferentes lugaresdebido a los parmetrospasados a la funcin que marcan laXe Y-.
Se puede ver en las ilustraciones que este ejemplo y el ejemplo 8.4 tienen los mismos parmetros que son una parte importante de las funciones, ya que proporcionanflexibilidad.
Hemos visto un ejemplo en elrollDice () funcin, el nico
numSides. Esto es igual que muchosotras funciones de
procesamiento.
Por ejemplo, los parmetros de la lnea ()
funcin de que sea posible trazar una lnea de cualquier pixel de la
pantalla para cualquierotro pixel.Sin los parmetros, la funcin sera
capaz de dibujar unnica lnea de un punto fijo a otro.
Cada parmetro tiene un tipo de datos (comoint ofloat), ya que
cada
parmetro es una variable que se crea cada vez que se ejecuta la
funcin.
Cuandoeste ejemplo se ejecuta la primera vez que se llama la funcin deowl, el valor deel parmetro X es de 110,y la Y tambin es 110.En el segundo uso de la funcin,el valor de x es de 180 yY es 110.
Cada valor se pasa a la funcin y siempre que el nombre de la variable dentro de la funcin, esreemplazado por el valor de entrada.
Asegrese de quelos valores pasadosa una funcinque coincida con eltipo de datosde los parmetros.
El aumento delexcedente de poblacin ahora que tenemosuna funcin
bsicapara dibujarla lechuzaen cualquier Por ejemplo, silasiguiente
aparecien el interior delsetup ()para
Ejemplo8-5:
owl (110.5,120.2);
Esto seraun error,porque eltipo de datospara losparmetros x e
y
esint,y los valores de110,5y120,2sonvalores de coma flotante.
Ejemplo 8-6:
lugar, podemos dibujarlechuzaseficientemente mediante la colocacin dela funcin dentro deunloopy cambiar elprimer parmetrocada vez quepasa a travs delloop:
void setup() {
size(480, 120);
smooth();
}
void draw() {
background(204);
for (int x = 35; x < width + 70; x += 70) {
owl(x, 110);
}
}
// Insert owl() function from Example 8-5
void owl(int x,int y,int g, float s) {
pushMatrix();
translate(x, y);
scale(s); // Set the size
stroke(g); // Set the gray value
strokeWeight(70);
line(0, -35, 0, -65); // Body
noStroke();
fill(255-g);
ellipse(-17.5, -65, 35, 35); // Left eye dome
ellipse(17.5, -65, 35, 35); // Right eye dome
arc(0, -65, 70, 70, 0, PI); // Chin
fill(g);
ellipse(-14, -65, 8, 8); // Left eye
ellipse(14, -65, 8, 8); // Right eye
quad(0, -58, 4, -51, 0, -44, -4, -51); //Beak
popMatrix(); }
7.8Ejemplo:
Los bhosde diferentes tamaos
En este ejemplo,hemos aadido dosparmetros para cambiarel valor de
gris y el tamaode cada uno debho
void setup() {
size(480, 120);
smooth();
}
void draw() {
background(204);
randomSeed(0);
for (inti = 35;i < width + 40;i += 40) {
int gray =int(random(0, 102));
float scalar = random(0.25, 1.0);
owl(i, 110, gray, scalar);
}
Valores de retorno
Las funciones puedenhacer un clculoy luegodevolver un valora los principales del programa.
Ya hemos usadolas funcionesde este tipo,
incluyendoalrandom()
ysin ().
Tenga en cuenta quecuandoeste tipo de funcinaparece,el valor de
retorno normalmente se asignaa una variable:
floatr =random (1,10);
En este caso,random ()devuelve un valorentre 1 y 10, quese asigna
ala variabler.
Una funcinque devuelve un valortambin se utiliza frecuentementecomo
un parmetro para
otra funcin.
Porejemplo:
point(random(width), random(height));
En este caso,los valores derandom ()nose asignan a
unavariableque
sepasan como parmetro apunto()y se utilizapara colocar el
puntoen
la ventana.
Valores
es unafuncionel cual uno puede realizar un clculo y, para lograr devolver el valor para su programa principal.
utilizan lafuncionrandom() ywithout(). Donde el valor y su funcin aparece, y se asigna a una variable:float r =random(1, 10); en este caso,random() devuelve un valor entre 1 y 10, que luego se le asigna a la variable .
los valores derandom() no son elegidos para cada variable se dirige hacia un parmetros apoint() y se utiliza para estar dentro de la ventana.
los tipos de datos como floatson la funcin de poder mostrar que se puedan devolver a un valor de coma flotante, y la ltima lnea del bloque, se devuelve hacia la variablenewWeight
Ejemplo
Imagen 1.pngFuncin del Robot
se van a dibujar cuatro robot en diferentes variaciones dentro del mismo programa (processing) . en donde losdrawRobot() es una funcin que va aparecer cuatro veces.
el cdigo esta dentro del bloquedrawRobot() se realiza cuatro veces, cada vez con un conjunto diferente de parmetros para cambiar la posicin y altura del cuerpo del robot .
Ejemplo Robot
Imagen 2.pngCambios
Sin ttulo3.jpgSin ttulo5.jpgSin ttulo4.jpgSin ttulo6.jpgHaga clic para modificar el estilo de ttulo del patrn
Haga clic para modificar el estilo de texto del patrn
Segundo nivel
Tercer nivel
Cuarto nivel
Quinto nivel
27/09/2011
Haga clic para modificar el estilo de ttulo del patrn
Haga clic para modificar el estilo de subttulo del patrn
27/09/2011
Haga clic para modificar el estilo de ttulo del patrn
Haga clic para modificar el estilo de texto del patrn
Segundo nivel
Tercer nivel
Cuarto nivel
Quinto nivel
27/09/2011
Haga clic para modificar el estilo de ttulo del patrn
Haga clic para modificar el estilo de texto del patrn
27/09/2011
Haga clic para modificar el estilo de ttulo del patrn
Haga clic para modificar el estilo de texto del patrn
Segundo nivel
Tercer nivel
Cuarto nivel
Quinto nivel
Haga clic para modificar el estilo de texto del patrn
Segundo nivel
Tercer nivel
Cuarto nivel
Quinto nivel
27/09/2011
Haga clic para modificar el estilo de ttulo del patrn
Haga clic para modificar el estilo de texto del patrn
Haga clic para modificar el estilo de texto del patrn
Segundo nivel
Tercer nivel
Cuarto nivel
Quinto nivel
Haga clic para modificar el estilo de texto del patrn
Haga clic para modificar el estilo de texto del patrn
Segundo nivel
Tercer nivel
Cuarto nivel
Quinto nivel
27/09/2011
Haga clic para modificar el estilo de ttulo del patrn
27/09/2011
27/09/2011
Haga clic para modificar el estilo de ttulo del patrn
Haga clic para modificar el estilo de texto del patrn
Segundo nivel
Tercer nivel
Cuarto nivel
Quinto nivel
Haga clic para modificar el estilo de texto del patrn
27/09/2011
Haga clic para modificar el estilo de ttulo del patrn
Haga clic para modificar el estilo de texto del patrn
27/09/2011
Haga clic para modificar el estilo de ttulo del patrn
Haga clic para modificar el estilo de texto del patrn
Segundo nivel
Tercer nivel
Cuarto nivel
Quinto nivel
27/09/2011
Haga clic para modificar el estilo de ttulo del patrn
Haga clic para modificar el estilo de texto del patrn
Segundo nivel
Tercer nivel
Cuarto nivel
Quinto nivel
27/09/2011