Dibujar estrellas
Las estrellas que dibujaremos a continuación son polígonos estrellados, y pueden trazarse "sin levantar el lápiz".
Para dibujar el trazado utilizaremos la misma técnica que hemos utilizado para dibujar polígonos regulares, con una sola diferencia: suponiendo que queremos dibujar una estrella de 5 puntas, después de calcular la posición de estas, uniremos los puntos de dos en dos ( paso = 2
): 1 con 3, 3 con 5, 5 con 2, 2 con 4 y 4 con 1.
Para dibujar estrellas podemos utilizar tanto el elemento <polygon>
, como el elemento <polyline>
Elemento | ejemplo | Descripción |
---|---|---|
<polygon> | <polygon points = "220,10 300,210 220,250 140,210" style="fill: #6ab150; stroke: #003300; stroke-width: 3" /> | Dibuja un polígono |
<polyline> | <polyline points = "220,10 300,210 220,250 140,210" style= "fill: #6ab150; stroke: #003300; stroke-width: 3" /> | Dibuja una polilínea |
No te olvides: siempre que sea posible, pon el JavaScript
dentro del <body>
, justo antes de su cierre: los estilos arriba, los scripts al fondo.
var cx = 125;
var cy = 100;
var r = 75;
var lados = 5;
var paso = 2;
function points(cx, cy, r, lados, paso){
var a = 360/lados;
var points= (cx+r)+","+cy+" ";
for(var i=1;i <= lados;i++){
var aRad= ((Math.PI / 180) * (a*i))*paso;
Xp = cx+r * Math.cos(aRad);
Yp = cy+r * Math.sin(aRad);
points += Xp+","+Yp+" ";
}
return points
}
var estrella = document.getElementById("estrella");
estrella.setAttribute("points", points(cx, cy, r, lados,paso));
Galería de estrellas
Solo con cambiar el valor del número de lados
y el paso
podemos conseguir cualquiera de estos estrellas. Para unas estrellas "llenas" de color borre el atributo fill-rule="evenodd"
de <polygon>
.