Reto 1 - Ejercicios - Dibujos
Reto 1 - Ejercicios - Dibujos
Reto 1 - Ejercicios - Dibujos
ENUNCIADOS – EJERCICIOS 20.116 PDA 20191
Reto 1 – Dibujos
Dificultad: Fácil
1.1 Hello canvas
El canvas es nuestro lienzo en blanco y puede ocupar el tamaño que queramos dentro de una página html.
¡Vamos a probar!
Modifica el siguiente código para que el canvas tenga un tamaño de 1024 x 500 y cambia el color de fondo a
#A6D8DF.
function setup() {
createCanvas(500, 500); //Ancho y el alto del canvas.
background(120); //Color de fondo del canvas
function draw() {
}
1
ENUNCIADOS – EJERCICIOS 20.116 PDA 20191
Dificultad: Fácil
1.2 Hello World – setup() vs. draw() – Consola
Vamos a escribir en la consola del editor on-line la frase "Hello World". (Hay una pestaña justo debajo de donde
escribes el código, que se llama “Console”, asegúrate de que está abierta)
Pista: Para ello utiliza la función de p5.js: console.log("frase que queremos mostrar en la Consola");
Dificultad: Fácil
1.3 Hello World – setup() vs. draw() – Dibujo
En este ejercicio vamos a dibujar una esfera con relleno de color negro y transparencia 0.1 (o 10%).
1º) Dibújala en la función setup(). ¿Cuántas veces crees que se dibuja la esfera? ¿por qué?
2
ENUNCIADOS – EJERCICIOS 20.116 PDA 20191
2º) Borra la esfera de la función setup() y dibújala en el draw(). ¿Cuántas veces crees que se dibuja la esfera?
¿por qué?¿Y si quitas el background del setup() y lo pones en la función draw(), antes de dibujar la esfera, qué
crees que pasa?
3º) Cambia el color de la esfera a los valores RGB (244,172,69);
4º) Comenta la línea del color RGB, y ahora aplícale a la esfera el color hexadecimal #38E4AE.
Mira cómo aplicar la transparencia en modo RGBA en la Referencia de la web p5.js ->
https://p5js.org/es/reference/#/p5/fill
function setup() {
// Creamos el canvas
createCanvas(400, 400);
background(255);
/* Color de fondo del canvas, lo ponemos aquí en el setup()
para que sólo se dibuje 1 vez
*/
function draw() {
}
Dificultad: Fácil
1.4 Coordenadas 1
Dibuja una línea que vaya de la coordenada x=10 y=10 a x=630 y=470
Busca en el apartado Referencia de la web de p5.js, la funcion line()
3
ENUNCIADOS – EJERCICIOS 20.116 PDA 20191
function setup() {
createCanvas(640, 480);
background('#f94891');
}
function draw() {
}
Dificultad: Fácil
1.5 Hello Ellipse
Empecemos a dibujar!
1º – Dibuja un círculo escribiendo esta línea dentro de la función setup() ---> ellipse(100, 200, 50, 50);
//ellipse(x,y,width,height)
function setup() {
createCanvas(500, 500);
background(200);
}
function draw() {
4
ENUNCIADOS – EJERCICIOS 20.116 PDA 20191
Dificultad: Fácil
1.6 Hello Color!
1º – Dibuja 2 círculos cómo los de la imagen. A cada uno le tendrás que aplicar el color de relleno por separado,
justo antes de dibujar cada esfera. El contorno (stroke) como es mismo para los 2, lo puedes poner sólo 1 vez
antes del color de relleno rojo (ya que al no aplicar otro color de stroke, las esferas cogerán el último aplicado)
---> fill('#EE5840');
---> noStroke();
2º – Ahora borra el noStroke() y añade estas líneas a continuación del stroke, para cambiar la líneas de los
contornos.
function setup() {
createCanvas(500, 500);
background('#A6D8DF');
}
function draw() {
5
ENUNCIADOS – EJERCICIOS 20.116 PDA 20191
Dificultad: Medio
1.7 fill() & stroke()
Modifica el siguiente código, para que las elipses no tengan relleno, sólo stroke.
function setup() {
createCanvas(800, 800);
}
function draw() {
if (mouseIsPressed) {
fill(255, 63, 145);
} else {
fill(0);
}
ellipse(mouseX, mouseY, 80, 80);
}
6
ENUNCIADOS – EJERCICIOS 20.116 PDA 20191
Dificultad: Fácil
1.8 Formas Básicas I
function setup() {
createCanvas(500, 500);
}
function draw() {
background("#EE5B5B");
// Cara
strokeWeight(8);
stroke("#57C4B9");
fill(255);
ellipse(250,250,250,250);
// Ojos
fill("#57C4B9");
ellipse(200,220,20,20);
ellipse(295,220,20,20);
// Boca triste
noFill();
strokeWeight(8);
stroke("#57C4B9");
arc(245, 310, 100, 80, PI, PI);
}
7
ENUNCIADOS – EJERCICIOS 20.116 PDA 20191
Dificultad: Fácil
1.9 Formas Básicas 2
Dibuja las siguientes formas primitivas repartidas por el canvas. Cambia los colores de relleno y el grosor del
stroke de cada figura. No hace falta que tus gráficos sean exactamente igual que en la imagen de referencia.
Dificultad: Medio
1.10 PAC-MAN 1
8
ENUNCIADOS – EJERCICIOS 20.116 PDA 20191
function setup() {
createCanvas(1024, 768);
background(0);
}
function draw() {
Dificultad: Medio
1.11 SPACE INVADERS 1
function setup() {
createCanvas(1024, 768);
background(0);
}
function draw() {
Dificultad: Medio
1.12 Modifica el Robot
9
ENUNCIADOS – EJERCICIOS 20.116 PDA 20191
Modifica las formas y color del robot (que tenéis el código del libro de la asignatura “Make: Getting Started with
p5.js” páginas 38 y 39) para convertirlo en otro objeto, animal, persona...
Dificultad: Medio
1.13 Space Ships I - Dibujo
Dibuja una nave del juego de arcade Galaga a tu elección. Sólo necesitarás usar rectángulos.
PISTA: Hacer un esbozo en un papel reticulado, para ubicar los rectángulos en el eje x e y de coordenadas.
Dificultad: Fácil
1.14 Orden de dibujo
Dibuja las siguientes elipses para que se dibujen de más pequeña (arriba - 1a capa)
a más grande (abajo - última capa).
PISTA: Recuerda que el orden de las capas, en p5.js es inversa al de las capas de Adobe Photoshop.
NOTA: No hace falta que utilices los mismos colores que en la foto.
function setup() {
createCanvas(1024, 768);
}
function draw() {
background("#231A33");
10
ENUNCIADOS – EJERCICIOS 20.116 PDA 20191
noStroke(); // Lo ponemos sólo 1 vez, porque afectará a todas las formas que
haya debajo (mientras no haya otra función stroke())
ellipseMode(CENTER)
fill("#103F40");
ellipse(1024/2,768/2,500,500);
Dificultad: Fácil
1.15 Transparencia
Modifica tu ejercicio 1.14 para que todas las elipses tengan el mismo color de relleno y su transparencia sea
menor si la elipse está arriba (elipse pequeña) y más transparencia si la elipse está abajo (elipse grande)
Pista: Mira en la referencia de p5.js los valores que puedes poner en la función fill() para usar transparencia con
valores RGBA.
function setup() {
createCanvas(1024, 768);
}
function draw() {
background("#231A33");
}
Dificultad: Medio
1.16 Coordenadas 2
11
ENUNCIADOS – EJERCICIOS 20.116 PDA 20191
Dibuja el logotipo diseñado por Oskar Schlemmer en 1922 para la Bauhaus. (ver foto)
Utiliza sólo las formas ellipse, rect y line. Para poner los cantos cuadrados de la línea mira cómo utilizar
la propiedad strokeCap(...) en la referencia de p5.js.
function setup() {
createCanvas(500, 500);
background(0);
// Código
}
function draw() {
Dificultad: Medio
1.17 Formas personalizadas 1
12
ENUNCIADOS – EJERCICIOS 20.116 PDA 20191
function setup() {
createCanvas(1024, 768);
}
function draw() {
background(255);
noFill();
stroke(40);
strokeCap(ROUND); //Redondea el final de un vértice
strokeJoin(ROUND); //Redondea la unión de 2 vértices
strokeWeight(30);
Dificultad: Medio
1.18 Formas personalizadas 2
function setup() {
createCanvas(1024, 768);
}
13
ENUNCIADOS – EJERCICIOS 20.116 PDA 20191
function draw() {
background(255);
noFill();
stroke(40);
strokeCap(ROUND);
strokeJoin(ROUND);
strokeWeight(15);
beginShape();
vertex(10, 400); // vértice de inicio
bezierVertex(10,400,60,330,110,400); // bezierVertex(v-inicio x, v-inicio
y, v-curva x, v-curva y, v-final x, v-final y)
bezierVertex(110,400,160,470,210,400);
// ...
endShape();
}
Dificultad: Difícil
1.19 PAC-MAN 2
function setup() {
createCanvas(1024, 768);
background(0);
// Código
}
function draw() {
14
ENUNCIADOS – EJERCICIOS 20.116 PDA 20191
Dificultad: Difícil
1.20 DIBUJA TU NOMBRE
Trabajar con formas básicas es un ejercicio muy interesante que nos permite construir un diseño proporcionado
y limpio. Así pues, podemos encontrar alfabetos e incluso tipografías elaborados con formas básicas:
● http://4.bp.blogspot.com/--KV64mUMOn4/TaWanp3P-OI/AAAAAAAAAPY/9HNReuAuX3E/s1600/007.jp
g
● http://2.bp.blogspot.com/-R4lXjvAyBZU/TZXqlYx-ldI/AAAAAAAAAOo/_nYb1ysq5as/s1600/1240003866.
png
● https://biancamanihera.wordpress.com/2012/02/01/geometric-alphabet/
● https://www.vecteezy.com/vector-art/107096-geometric-bauhaus-style-vector-type
Utilizando algunas de las formas básicas de p5.js ellipse, triangle, line, arc y rect, dibuja las 5 primeras letras de
tu nombre y si tu nombre es más corto añade la/s primera/s letras de tu apellido. Las formas tendrán que tener
diferentes colores, transparencias y strokes.
15