Desafío Poligonator
#3 Solución de Electros
Ver código
|
Ver comentarios (7)
|
Descargar código
Fecha: 22 agosto 2005
Tamaño: 7563 caracteres
Comentarios: 7
Solución online:
Lo siento, pero no está disponible
Valoración









9.00
(2 votos)
"El código es muy pequeño y cumple perfectamente su función, es el primer script que hago usando GD, haber que les parece."
Valora esta solución
<?
#*******************
#*** Poligonator ***
#*******************
# Creado por: Electros
# Web: www.electros.net
# Fecha: 22 Ago 2005
# Descripción: Creado para el desafío Poligonator de www.php-hispano.net.
if(isset($_POST['enviar'])) {
# Comprobamos que el número de lados no sea menor a 3
if($_POST['lados'] < 3) {
echo 'El poligono debe tener un número mínimo de 3 lados.' ;
}
else {
# Creamos la imagen
$imagen = imagecreate(200,200) ;
# Color de fondo de la imagen
imagecolorallocate($imagen,0,0,0) ;
# Color del polígono
$color = imagecolorallocate($imagen,0,255,0) ;
# Obtener la distancia en grados entre los vértices del polígono
$grados_vertice = 360 / $_POST['lados'] ;
# Con esto conseguimos que la base del polígono siempre sea horizontal
$grados = 90 - $grados_vertice / 2 ;
# Calcular las coordenadas del polígono
for($i = 0 ; $i < $_POST['lados'] ; $i++) {
# Convertimos los grados a radianes
$rad = deg2rad($grados) ;
$lados[] = 75 * cos($rad) + 100 ;
$lados[] = 75 * sin($rad) + 100 ;
$grados += $grados_vertice ;
}
# Crear el polígono
imagepolygon($imagen,$lados,$_POST['lados'],$color) ;
header('content-type: image/png') ;
imagepng($imagen) ;
imagedestroy($imagen) ;
}
}
else {
?>
<h3>Poligonator » Creador de polígonos</h3>
<form method="post" action="<?=$_SERVER['PHP_SELF']?>">
<b>Selecciona número de lados:</b><br>
<input type="text" name="lados" size="3" value="3"><br><br>
<input type="submit" name="enviar" value="Dibujar Poligono">
</form>
<?
}
?>