#!/usr/bin/env python

from pycart import *

class graph:
    def __init__(self, nome="piano cartesiano", minx=-1, maxx=20, miny=-1, maxy=20, dx=400, dy=400):
        sx=dx/(maxx-minx)
        sy=dy/(maxy-miny)
        self.p=Plain(nome, dx, dy, sx, sy)
        self.p.seto((-minx*sx, dy+miny*sy))
        self.p.setwidth(4)
        self.p.setcolor("black")
        self.p.axes()
    def plot(self, c, colore="black"):
        self.p.setcolor(colore)
        self.p.drawpoly((c,c))
    def line(self, s, colore="black"):
        self.p.setcolor(colore)
        self.p.drawpoly(s)
    
p=graph()

#-tabella
n=10
t=[0,1,2,3,4,5,6,7,8,9]
x=[2,4,6,8,10,12,14,16,18,20]
v=range(0,n)
a=range(0,n)
    
for i in range(0,n-1):
    v[i]=(x[i+1]-x[i])/(t[i+1]-t[i])

for i in range(0,n-2):
    a[i]=(v[i+1]-v[i])/(t[i+1]-t[i])

print 't(s) | x(m) | v(m/s) | a(m/s^2)'
print '-------------------------------'
for i in range(0,n):
    print ' %2d  |  %2d  |  %2d    |  %2d' % (t[i],x[i],v[i],a[i])

for i in range(0,n-1):
    p.plot((t[i],x[i]))
    p.line(((t[i],x[i]),(t[i+1],x[i+1])))
for i in range(0,n-2):
    p.line(((t[i],v[i]),(t[i+1],v[i+1])))
for i in range(0,n-3):
    p.line(((t[i],a[i]),(t[i+1],a[i+1])))