Usando il file seguente Modifica le istruzioni in modo da ottenere il fiocco riprodotto al centro, e rappresentato a destra con la griglia. | source("http://macosa.dima.unige.it/r.R") BF=3; HF=3; PIANO(-4.5,4.5, -4.5,4.5) X = function(a) cos(a*gradi) Y = function(a) sin(a*gradi) for(n in 0:5) { a <- n*60; Direzione(0,0, 0+a, 4.5, "black"); Direzione(X(a),Y(a), 120+a,1, "red") Direzione(X(a),Y(a), -120+a,1,"red") Direzione(X(a),Y(a), 60+a,1, "green") Direzione(X(a),Y(a), -60+a,1,"green") Direzione(2*X(a),2*Y(a), 60+a,2, "brown") Direzione(2*X(a),2*Y(a), -60+a,2, "brown") Direzione(2.5*X(a),2.5*Y(a), 60+a,1, "orange") Direzione(2.5*X(a),2.5*Y(a), -60+a,1, "orange") Direzione(3*X(a),3*Y(a), 60+a,0.5, "blue") Direzione(3*X(a),3*Y(a), -60+a,0.5, "blue") Direzione(3.5*X(a),3.5*Y(a), 60+a,0.5, "violet") Direzione(3.5*X(a),3.5*Y(a), -60+a,0.5,"violet") } |
È un esercizio sia di geometria che di programmazione: le attività di
programmazione consistono spesso nell'interpretare istruzioni già scritte
per fare cose simili e nel modificarle per ottenere il risultato voluto.
A destra i comandi per ottenere la figura a destra.
Per ottenere quella al centro al posto di PIANO c'è PIANOss. X ed Y potevo anche definirle così: X = function(a) cerchioA(0,0, 1,a)[1] Y = function(a) cerchioA(0,0, 1,a)[2] |
GRIGLIA(-4.5,4.5, -4.5,4.5) X = function(a) cos(a*gradi) Y = function(a) sin(a*gradi) for(n in 0:5) {a <- n*60; Direzione(0,0, 0+a, 4.5, 1); Direzione(X(a),Y(a), 120+a,1, 1) Direzione(X(a),Y(a), -120+a,1, 1) Direzione(X(a),Y(a), 60+a,1, 1) Direzione(X(a),Y(a), -60+a,1, 1) Direzione(2*X(a),2*Y(a), 60+a,2, 1) Direzione(2*X(a),2*Y(a), -60+a,2, 1) Direzione(2.5*X(a),2.5*Y(a), 60+a,1, 1) Direzione(2.5*X(a),2.5*Y(a), -60+a,1, 1) Direzione(3*X(a),3*Y(a), 60+a,0.5, 1) Direzione(3*X(a),3*Y(a), -60+a,0.5, 1) Direzione(3.5*X(a),3.5*Y(a), 60+a,0.5, 1) Direzione(3.5*X(a),3.5*Y(a), -60+a,0.5,1) } |