import manin.ellcurve.ellcurve as ec
import manin.plot.graph as G
import manin.rings.rings as rings

g = G.Graph("group2",(-2,-5),(3,4), unit=1.5)
g.color(0.7)
g.grid(subgriddiv=2)
g.color(0.2)
g.line_width(0.02)
g.axes(offset=0.15)
g.line_width(0.01)
g.color(0.8)
g.elliptic_curve(0,0,1,-1,0,50)
g.color(0)
g.text((-1,-6.5), "$y^2+y = x^3-x$")

M = 150
e = ec.EllipticCurve("37A"); z=e([0,0])
R = rings.RealField()
P = [(R((n*z)[0]),R((n*z)[1])) for n in xrange(1,M) if n]

i=0.0
delta = 1.0/len(P)
for x, y in P:
    if abs(x) < 10 and abs(y) < 10:
        g.color((1-i,0,i))
        #g.dot((x,y),0.07)
        #g.dot((x,y),i/10)
        g.dot((x,y),0.025)
    i = i + delta


g.ps()
