Prova a disegnare un cerchio senza utilizzare la funzione predefinita GraphicsWindow.DrawEllipse().
Sarà necessario utilizzare le equazioni parametriche con seno e coseno e angolo variabile da 0 a 360 gradi
Il codice è piuttosto lungo perché sarà utilizzato in seguito per realizzare molte figure
'---------------------------------------- SCELTE GRAFICHE DIM =800 ' Finestra COLORE1 ="#10000000" ' Raggio SPESSORE=1 ' COLORE2 ="#30000060" ' Punto scuro raggioP =4 ' Raggio punto '--------------------------------------- SCELTE SPECIFICHE RAGGIO =0.4*DIM ' Fattore di scala PIATTI =2 ' Numeri di angoli piatti tMIN =0 ' Dominio t tMAX =tMIN+PIATTI*Math.Pi ' NUMERO =PIATTI*500 ' Numero di punti RITARDO=2 ' Per rallentare l'animazione '--------------------------------------- FINESTRA GRAFICA GraphicsWindow.Title ="Cerchio" GraphicsWindow.Width =DIM GraphicsWindow.Height =DIM GraphicsWindow.PenWidth =SPESSORE GraphicsWindow.PenColor =COLORE1 GraphicsWindow.BrushColor=COLORE2 '--------------------------------------- COSTANTI DI SERVIZIO W2=DIM/2 ' Centro dello schermo H2=DIM/2 diamP =2*raggioP ' diametro del punto nero deltaT=(tMAX-tMIN)/numero ' incremento t=tMIN For i=1 to NUMERO '--------------------------------- FUNZIONI x=Math.Cos(t) y=Math.Sin(t) '--------------------------------- x=W2+RAGGIO*x y=H2-RAGGIO*y GraphicsWindow.DrawLine(W2,H2, x,y) ' Raggio grigio GraphicsWindow.FillEllipse(x-raggioP,y-raggioP,diamP,diamP) ' Punto scuro '--------------------------------- t=t+deltaT Program.Delay(RITARDO) EndFor
Con la modifica
y=Math.Sin(t)/1.25
diventa un’ellisse
Nelle prossime pagine dovrai variare soltanto le FUNZIONI per x e y
x=... y=...
e di conseguenza fare le Scelte specifiche per rendere significativa la rappresentazione
RAGGIO =0.4*DIM ' Fattore di scala PIATTI =2 ' Numeri di angoli piatti tMIN =0 ' Dominio t tMAX =tMIN+PIATTI*Math.Pi ' NUMERO =PIATTI*500 ' Numero di punti RITARDO=2 ' Per rallentare l'animazione