"""
disegnare i vettori
un metodo di Line dato
da setArrow disegna anche la punta alla fine
"""
from graphics import *
from graftarta2 import Graf
from vettori0 import V
gr=Graf('vettori', 500,400)
gr.coordinate(-20,-16,20,16,True)
gr.nascondi_tarta()
""" linee di forza campo
elettrico prodotto da due cariche
le coordinate in cm ma le distanze in m
prima facendo clic in un punto si disegna un
segmentino orientato come E
Per terminare fare clic di nuovo su stop
si possono scegliere sia cariche uguali che diverse
in modulo e in segno"""
def punto_forza(fin):
""" clic con il mouse per avere un segmentino
orientato come E"""
while True:
P = fin.getMouse()
if 35<P.getX()<45 and
-35<P.getY()<-25:
break
x=P.getX()/100.0
y=P.getY()/100.0
R=risultante(V(x,y))
# R=1e-3*R
fin.pennasu()
fin.asPos(x*100,y*100)
fin.asDir(fin.verso(R.x,
R.y))
fin.pennagiu()
#fin.avanti(R.modulo()/2.0e6)
fin.avanti(3)
print R
from graftarta2 import Graf
from graphics import *
t=Graf("linee di forza ",600,400)
t.coordinate(-50,-40,50,40,True)
t.nascondi_tarta()
testo=Text(Point(40,-30),"stop")
testo.draw(t)
punto_forza(t)
t.close() import random
from graftarta2 import Graf
from graphics import *
gr=Graf('lanci moneta',500,400)
def lancia(nmax):
xi = -nmax/10.0
xs = 11.0*nmax/10.0
yi = -0.2
ys = 1.8
gr.coordinate(xi,yi,xs,ys,True)
gr.nascondi_tarta()
lin=Line(Point(0,0.5), Point(xs,0.5))
lin.draw(gr)
somma = 0.0
gr.asPos(0,0.5)
for i in range(1,nmax+1):
if random.randrange(0,2) ==
1:
somma =
somma +1
freq = somma/i
gr.asPos(i,freq)
lancia(500)
Lavori di gruppo
Con il programma disegna_vettori.py disegnare la
somma, la sottrazione, l'opposto di vettori.
in maniera perfettamente analoga a vettori0.py
definire una nuova classe per i vettori di tre dimensioni.
utilizzare il programma linee_campo.py per
disegnare alcune linee di forza
basandosi sul programma frequenza.py,
rappresentare la frequenza con cui esce ad es. 2 lanciando n volte un
dado. Si può utilizzare random.randint(a,b) che restituisce un
intero nell'intervallo [a, b] e cioè compresi gli estremi per
simulare il lancio di due dadi.