Matemáticas en el arte
Sectores proporcionales
Paso a paso
Fijamos el origen en O=(0,0)
Creamos un deslizador n de tipo entero, valor mínimo 3, valor máximo 20, incremento 1.
Creamos los valores aleatorios con los que realizaremos el reparto proporcional de la unidad:
- ale=Secuencia(AleatorioEntre(1,10),k,1,n)
Calculamos los ángulos proporcionales:
- orden=Ordena(Secuencia(ale(k) * 360 / Suma(ale), k, 1, Longitud(ale)))
Creamos la lista con todos ángulos que nos harán falta para crear los sectores.
- Suma=Unión({0},Ordena(Secuencia(Suma(orden, k), k, 1, Longitud(orden))))
Genero una lista aleatoria de longitudes:
- lng=Secuencia(AleatorioEntre(1,10),k,1,n+1)
Para crear los sectores tenemos dos opciones:
- Usando la hoja de cálculo
- En la columna A generamos números 1, 2, 3, 4, ...
- En la columna B:
- B1 escribimos: =O + (lng(A1); Suma(A1)º)
- Arrastramos hasta el B20.
- Para B21 escribiremos: =O + (lng(20); 360°)
- En la columna C:
- En C1 escribimos: =SectorCircular(O, B1, B2)
- Personalizamos los colores en el sector creado en C1:
- Rojo n/3
- Verde; A2/5
- Azul: A2 n/7
- Opacidad: 0.5
- Arrastramos hasta C19.
- Usando el comando secuencia
- Ejecuta(Secuencia("A"+ k + "=CircularSector(O, (lng(" + k + "); Suma(" + k + ") π / 180), (lng(" + (k + 1)+ "); Suma(" + (k + 1)+") π / 180))", k, 1, n))
- Ejecuta(Secuencia("SetDynamicColor(A"+i+", random(),random(), random(),0.5)",i,1,20))
Obra publicada con Licencia Creative Commons Reconocimiento Compartir igual 4.0