Ejemplo n.º 1
0
def read_projectile_trajectories(csv_file="Dataset.csv"):
    projectiles = []
    
    with open(csv_file, 'rb') as csvfile:
        reader = csv.reader(csvfile, delimiter=',')
        
        projectile = Projectile()
        first_iteration = True
        
        for row in reader:
            time, along_x, along_y = int(row[0]), float(row[1]), float(row[2])
            
            if not(first_iteration) and time == 0:
                projectiles.append(projectile)
                projectile = Projectile()
                projectile.add_trajectory_point(time, along_x, along_y)
                continue
            
            projectile.add_trajectory_point(time, along_x, along_y)
            first_iteration = False
        
        if projectile.trajectory_points_count() != 0:
            projectiles.append(projectile)
    
    return projectiles
Ejemplo n.º 2
0
            



projectiles = read_projectile_trajectories()
base_features, label_x, label_y = build_training_sets(projectiles)

projectile_tracker = ProjectileTracker()
# Build a model on how a projectile behaves.
projectile_tracker.fit(base_features, label_x, label_y)

# Create the test projectile.
test_projectile = Projectile()
test_thorow_vx = 1.0 * cos(pi / 4.0)
test_thorow_vy = 1.0 * sin(pi / 4.0)

# print "Test Projectile(thrown in 45 degree angle at velocity 10 m/s):"
for i in xrange(101):
    base_feat = [[test_thorow_vx, test_thorow_vy, i]]
    prediction = projectile_tracker.predict(base_feat)
    pred_x = prediction[0][0]
    pred_y = prediction[0][1]
    
    if i != 0 and pred_y < 0:
        break
    
    test_projectile.add_trajectory_point(i, pred_x, pred_y)
    print ', '.join([str(elm) for elm in [i, pred_x, pred_y]])

# test_projectile.plot_trajectory()