LOGO/Assonometria
Assonometria cavaliera
modificaLa tartaruga si muove nel piano, ma possiamo far disegnare delle figure solide utilizzando un'assonometria. Nell'assonometria cavaliera la faccia del solido che si ha di fronte viene disegnata in dimensioni reali, gli spigoli che si allontanano vengono dimezzati e ruotati di 45 gradi.
Cubo
modificaLe 6 facce di un cubo verranno disegnate dunque come 2 quadrati e 4 parallelogrammi.
Conviene predisporre due procedure che disegnino queste forme di base:
to quadrato :lato
repeat 4 [fd :lato rt 90]
end
to parall :lato1 :angolo :lato2
repeat 2 [fd :lato1 rt angolo
fd :lato2 rt 180-:angolo]
end
Per disegnare un cubo, ora, basta incominciare con la faccia che abbiamo di fronte (un quadrato), poi disegnare le 4 facce laterali e infine la faccia posteriore... Possiamo osservare che quest'ultima faccia non è necessario che venga disegnata, perché è si ottiene come conseguenza delle facce precedenti:
to cubo :spigolo
quadrato :spigolo
parall :spigolo 45 :spigolo/2
rt 45
parall :spigolo/2 45 :spigolo
lt 45 fd :spigolo rt 45
parall :spigolo/2 45 :spigolo
rt 45 fd :spigolo lt 45
parall :spigolo/2 135 :spigolo
lt 45 bk :spigolo rt 90 bk :spigolo lt 90
end
Anche la faccia di fronte non occorre che venga disegnata esplicitamente, quindi si può semplificare la procedura cubo. Tutto il programma diventa:
to parall :lato1 :angolo :lato2
repeat 2 [fd :lato1 rt angolo
fd :lato2 rt 180-:angolo]
end
to cubo :spigolo
parall :spigolo 45 :spigolo/2
rt 45
parall :spigolo/2 45 :spigolo
lt 45 fd :spigolo rt 45
parall :spigolo/2 45 :spigolo
rt 45 fd :spigolo lt 45
parall :spigolo/2 135 :spigolo
lt 45 bk :spigolo rt 90 bk :spigolo lt 90
end
clearscreen
cubo 109
Ma possiamo utilizzare un trucco per far apparire le linee coperte dalle facce con un colore meno intenso: basta disegnare i primi due parallelogrammi con un colore più scuro e tutto il resto con il colore più chiaro.
to cubo :spigolo
setpencolor 1
parall :spigolo 45 :spigolo/2
rt 45
parall :spigolo/2 45 :spigolo
setpencolor 15
lt 45 fd :spigolo rt 45
parall :spigolo/2 45 :spigolo
rt 45 fd :spigolo lt 45
parall :spigolo/2 135 :spigolo
lt 45 bk :spigolo rt 90 bk :spigolo lt 90
end
Parallelepipedo
modificaSe invece di un cubo vogliamo far disegnare un parallelepipedo dobbiamo fornire alla procedura 3 informazioni: la larghezza l'altezza e la profondità e utilizzarle al momento opportuno. Dopo qualche tentativo si ottiene:
to parallelepipedo :larg :alt :prof
setpencolor 1
parall :alt 45 :prof/2
rt 45
parall :prof/2 45 :larg
setpencolor 15
lt 45 fd :alt rt 45
parall :prof/2 45 :larg
rt 45 fd :larg lt 45
parall :prof/2 135 :alt
lt 45 bk :alt rt 90 bk :larg lt 90
end
A questo punto ricordandoci che un cubo è un particolare parallelepipedo possiamo riscrivere la procedura cubo:
to cubo :spigolo
parallelepipedo :spigolo :spigolo :spigolo
end
Torri
modificaOra che ci siamo costruiti i blocchetti di base possiamo usarli per realizzare delle costruzioni. Possiamo impilare cubi o parallelepipedi uno sopra l'altro magari facendo in modo che quello sopra sia più piccolo di quello sottostante. Possiamo posizionarli in modo che abbiano uno spigolo allineato o che le facce anteriori siano sullo stesso piano e centrate o che ogni nuovo blocchetto sia posizionato al centro della faccia su cui poggia...
Buon divertimento!