################################################################################
# importation bibliotheques
################################################################################
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
################################################################################
# importation donnees mesures
################################################################################
#fname = input("Saisir le nom du fichier sans l'extension (.csv)")
#Lecture du fichier
#Data = pd.read_csv(fname+'.csv', sep=';', header=0)
#si separateur = tableau mettre ; si sep = barre d'espace mettre \t
df = pd.read_csv("2nde_C9_choc_frontal.csv", sep="\t", decimal=",",\
names=['t','x1','y1','x2','y2'],header=0)
#à convertir dans le nouveau format sep = , et décimale .
df.to_csv("fichier_converti.csv", sep=',', decimal='.',encoding='utf-8' )
print(df)

#Stockage des variables dans une liste
t= list(df['t']); x1= list(df['x1']);y1= list(df['y1']);x2= list(df['x2']);y2= list(df['y2'])
print(t,x1,y1,x2,y2)

################################################################################
# Calcul des coordonnées Vx et Vy pour le point 1 (chariot)     A COMPLETER
# ecrire Vxi = [(x[i+1] - x[i]) / (t[i+1] - t[i])] puis Vx = Vxi + Vx ou vx.append(formule)
################################################################################
vx1=[]
vy1=[]
for i in range(len(t)-1):
    # à compléter pour vx1
    # à compléter pour vy1

################################################################################
# Calcul des coordonnées Vx et Vy pour le point 2 bonhomme     A COMPLETER
# Avec la fonction append : Vx.append((x[i+1] - x[i]) / (t[i+1] - t[i]))
################################################################################
vx2=[]
vy2=[]
for i in range(len(t)-1):
    # à compléter pour vx2
    # à compléter pour vy2

#préparation de la zone graphique
fig = plt.figure(figsize=(16,8))
#plt.subplot(121)
plt.grid()
#plt.title("Représentation du vecteur vitesse point 1")
plt.xlabel('x (m)')
plt.ylabel('y (m)')
plt.xlim(0.05,0.35)
plt.ylim(0,0.2)
#tracé des points de la trajectoire point 1 voiture
plt.plot(x1,y1,'bo')
#tracé des vecteurs vitesse avec un facteur d'échelle
for i in range(len(t)-1):
    plt.arrow(x1[i],y1[i],vx1[i]/100, \
    vy1[i]/100,head_width=0.003, width= 0.0005, \
    head_length=0.005 ,color="blue")
    plt.text(x1[i],y1[i]-0.01,r"$\vec{v}$"+str(i+1),color="blue")


#tracé des points de la trajectoire point 2 conducteur
plt.plot(x2,y2,'ro')
#tracé des vecteurs vitesse avec un facteur d'échelle
for i in range(len(t)-1):
    plt.arrow(x2[i],y2[i],vx2[i]/100, \
    vy2[i]/100,head_width=0.003, width= 0.0005, \
    head_length=0.005 ,color="red")
    plt.text(x2[i],y2[i]-0.01,r"$\vec{v}$"+str(i+1),color="red")


plt.text(0.15,0.05,"système voiture",color="blue")
plt.text(0.15,0.125,"système conducteur",color="red")
#Légende
#plt.text(0.1,0.8,"Echelle 1 cm $\leftrightarrow$ 10 cm/s", color="blue")
"""
plt.subplot(122)
plt.grid()
plt.title("Représentation du vecteur vitesse point 2")
plt.xlabel('x2 (m)')
plt.ylabel('y2 (m)')
plt.xlim(0.05,0.35)
plt.ylim(0,0.2)
#tracé des points de la trajectoire
plt.plot(x2,y2,'ro')

#tracé des vecteurs vitesse avec un facteur d'échelle
for i in range(len(t)-1):
    plt.arrow(x2[i],y2[i],vx2[i]/100, \
    vy2[i]/100,head_width=0.003, width= 0.0005, \
    head_length=0.005 ,color="blue")
    plt.text(x2[i],y2[i]-0.01,r"$\vec{v}$"+str(i+1),color="blue")
"""
plt.show()


