Vai al contenuto

EP – Cerchio

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

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.