Vai al contenuto

I – Circonferenze – 2


Lemniscata


Inviluppo di circonferenze con centro sull’iperbole e passanti per il centro dell’iperbole

Prima stesura…

DIM =800
DIM2=DIM/2
 
RAGGIO1 =DIM/8
RAGGIO12=RAGGIO1*RAGGIO1
 
QUANTI=50
DELTA =2*RAGGIO1/QUANTI
 
GraphicsWindow.Width =DIM
GraphicsWindow.Height=DIM
GraphicsWindow.Title="Inviluppo di circonferenze"
 
x=RAGGIO1
y=0
'------------------------------------------------------------------------------------------ VERTICI IPERBOLE
GraphicsWindow.BrushColor="#660000FF"
GraphicsWindow.FillEllipse(DIM2+x-5,DIM2-5, 10,10)
GraphicsWindow.FillEllipse(DIM2-x-5,DIM2-5, 10,10)
'------------------------------------------------------------------------------------------ Prime 2 circonferenze
raggio2   =RAGGIO1
diametro2=2*raggio2
GraphicsWindow.PenWidth=1
GraphicsWindow.PenColor="#99000000"
GraphicsWindow.DrawEllipse(DIM2+raggio2-raggio2,DIM2-raggio2, diametro2,diametro2)
GraphicsWindow.DrawEllipse(DIM2-raggio2-raggio2,DIM2-raggio2, diametro2,diametro2)
Program.Delay(50)
'------------------------------------------------------------------------------------------ 4*QUANTI punti e circonferenze
For i=1 To QUANTI
  xn=x+DELTA
  yn=Math.SquareRoot(xn*xn-RAGGIO12)
 
  raggio2  =Math.SquareRoot(xn*xn+yn*yn)
  diametro2=2*raggio2
 
  GraphicsWindow.PenWidth=10
  GraphicsWindow.PenColor="#660000FF"
  GraphicsWindow.DrawLine(DIM2+x,DIM2+y, DIM2+xn,DIM2+yn)
  GraphicsWindow.DrawLine(DIM2+x,DIM2-y, DIM2+xn,DIM2-yn)
  GraphicsWindow.DrawLine(DIM2-x,DIM2+y, DIM2-xn,DIM2+yn)
  GraphicsWindow.DrawLine(DIM2-x,DIM2-y, DIM2-xn,DIM2-yn)
 
  GraphicsWindow.PenWidth=1
  GraphicsWindow.PenColor="#99000000"
  GraphicsWindow.DrawEllipse(DIM2+xn-raggio2,DIM2+yn-raggio2, diametro2,diametro2)
  GraphicsWindow.DrawEllipse(DIM2+xn-raggio2,DIM2-yn-raggio2, diametro2,diametro2)
  GraphicsWindow.DrawEllipse(DIM2-xn-raggio2,DIM2+yn-raggio2, diametro2,diametro2)
  GraphicsWindow.DrawEllipse(DIM2-xn-raggio2,DIM2-yn-raggio2, diametro2,diametro2)
 
  x=xn
  y=yn
  Program.Delay(50)
EndFor

Strofoide


Inviluppo di circonferenze con centro sulla parabola e passanti per il punto simmetrico al fuoco (rispetto al vertice)

Prima stesura…

DIM =800
DIM2=DIM/2
 
ya=DIM/8
a=1/(4*ya)
QUANTI=100
DELTA =3*ya/QUANTI
 
GraphicsWindow.Width =DIM
GraphicsWindow.Height=DIM
GraphicsWindow.Title="Inviluppo di circonferenze"
'----------------------------------------------------------------------------- Vertice parabola
x=0                                                   
y=0
GraphicsWindow.BrushColor="#660000FF"                
GraphicsWindow.FillEllipse(DIM2-5,DIM2-5+ya, 10, 10)
'----------------------------------------------------------------------------- Prima circonferenza
raggio  =ya
diametro=2*raggio
GraphicsWindow.PenWidth=1                            
GraphicsWindow.PenColor="#99000000"
GraphicsWindow.DrawEllipse(DIM2-raggio,DIM2+ya-raggio, diametro,diametro)
Program.Delay(25)
'------------------------------------------------------------------------------ 2*QUANTI punti e circonferenze
For i=1 To QUANTI
  xn=x+DELTA
  yn=a*xn*xn
 
  raggio =Math.SquareRoot(xn*xn+(yn+ya)*(yn+ya))
  diametro=2*raggio
 
  GraphicsWindow.PenWidth=10
  GraphicsWindow.PenColor="#660000FF"
  GraphicsWindow.DrawLine(DIM2+x,DIM2-y+ya, DIM2+xn,DIM2-yn+ya)
  GraphicsWindow.DrawLine(DIM2-x,DIM2-y+ya, DIM2-xn,DIM2-yn+ya)
 
  GraphicsWindow.PenWidth=1
  GraphicsWindow.PenColor="#99000000"
  GraphicsWindow.DrawEllipse(DIM2+xn+-raggio,DIM2-yn+ya-raggio, diametro,diametro)
  GraphicsWindow.DrawEllipse(DIM2-xn+-raggio,DIM2-yn+ya-raggio, diametro,diametro)
 
  x=xn
  y=yn
  Program.Delay(25)
EndFor

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.