Contacto | #php_para_torpes | Enlázanos | ¿Quiénes somos?
18 usuarios Online (0)
Darse de alta en la web | Recuperar password   
Inicio / Desafios / Poligonator / Solucion de Electros

Desafío Poligonator

#3 Solución de Electros

Código de la Solución Ver código | Comentarios Ver comentarios (7) | Descargar Descargar código

Fecha: 22 agosto 2005

Tamaño: 7563 caracteres

Comentarios: 7

Solución online:
Lo siento, pero no está disponible

Valoración PuntuaciónPuntuaciónPuntuaciónPuntuaciónPuntuaciónPuntuaciónPuntuaciónPuntuaciónPuntuaciónPuntuació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>
<?
}
?>

Web alojada en Zilos

php-hispano.net 2002 - 2008 | XHTML 1.0
Datos Legales | Webmaster