|
To triangle
pu setpos [-100 -100]
pd setpos [0 100]
setpos [100 100]
setpos [-100 -100]
end
|
Configurar el triángulo
Configura el triángulo inicial usando las coordenadas
especificadas en los corchetes.
Nota que winlogo usa una cuadrícula de cuatro cuadrantes
|
to setcord
make "X1 0
make "X2 100
make "X3 -100
make "Y1 100
make "Y2 -100
make "Y3 -100
make "X4 0
make "X4 0
end
|
Las coordenadas
Establece las variables de X1 a X4 y de Y1 a Y4.
Ten en cuenta que las variables de X1 a X3 y de Y1 a Y3 se
relacionan con las
coordenadas de las esquinas del triangulo.
|
to corner1
make "X4 sum :X1 :X4
make "Y4 sum :Y1 :Y4
make "X4 :X4/2
make "Y4 :Y4/2
end
|
La parte matemática.
Los 3 procedimientos calculan el punto medio entre la esquina
seleccionada al azar por el procedimiento de Sierpinski y el
último punto trazado en la pantalla.
Las coordenadas del nuevo punto luego se convierten en X4 y Y4.
Estas se utilizan en el siguiente ciclo del programa.
|
to corner2
make "X4 sum :X2 :X4
make "Y4 sum :Y2 :Y4
make "X4 :X4/2
make "Y4 :Y4/2
end
|
to corner3
make "X4 sum :X3 :X4
make "Y4 sum :Y3 :Y4
make "X4 :X4/2
make "Y4 :Y4/2
end
|
to setsteps :iteration
make "a 1
make "c :iteration
end
|
¿Cuántas veces?
Esto necesita una entrada al
programa de pasos establecidos (número).
Este número se convierte en el número de ciclos que el programa
repite, es decir, si escribimos setsteps 100, el
programa realizará un ciclo 100 veces.
|
to sierpinski
make "b random 3
make "b :b+1
test :b=1
iftrue [corner1]
test :b=2
iftrue [corner2]
test :b=3
iftrue [corner3]
setdot se :X4 :Y4 1
make "a :a+1
test :a=:c
iftrue [stop]
sierpinski
end
|
La parte principal del programa.
Se crea un número aleatorio a partir de 1 a 3. Esto selecciona
qué esquina
se utilizará para trazar el punto medio.
Dependiendo de qué número es seleccionado el programa llamará
uno de los procedimientos corner1,
corner2 o corner3. Una vez que se han calculado las coordenadas
para X4 y Y4 el nuevo punto será trazado en la pantalla.
La siguiente parte cuenta cuántos ciclos (iteraciones) ha
terminado el programa. Si no ha llegado al número que
seleccionamos en setsteps, se ejecutará el programa
de nuevo hasta que tenga
completadas todas las iteraciones.
|
Instrucciones para usar el programa
|
Escribe el
programa como se indicó anteriormente. Una vez que hayas escrito
el programa, deberás ejecutar las siguientes instrucciones
- hideturtle
- triangle
- setcord
- setseps "xxx"
- sierpinski
nota: xxx es el número que tú escribes
Esto operará el programa por ti.
|