plt.plot([g[0] for g in self.gridpoints], [g[1] for g in self.gridpoints], 'o')
        #plt.xlim(self.start, self.width)
        #plt.ylim(self.start, self.height)

        if mode == 1:
            from matplotlib.lines import Line2D
            axis = fig.add_subplot(111)
            plt.plot(self.cam.u_vector[0], self.cam.u_vector[1], 'x', color='m')
            plt.plot(self.cam.v_vector[0], self.cam.v_vector[1], 'o', color='m')
            line1 = Line2D([self.start, self.cam.u_vector[0], self.cam.u_vector[0]*100], [self.start, self.cam.u_vector[1], self.cam.u_vector[1] * 100])
            line2 = Line2D([self.start, self.cam.v_vector[0], self.cam.v_vector[0]*100], [self.start, self.cam.v_vector[1], self.cam.v_vector[1] * 100])
            axis.add_line(line1)
            axis.add_line(line2)

        plt.show()

if __name__ == '__main__':
    testgrid = Grid(10, 480, 640)
    testgrid.draw()

    from camera import Camera
    cam2d = Camera(3.97, 640, 95, 120, 400, 48, Point2d())
    cam2d.object_view2d(120, 400, 640)
    conetestgrid = Grid(10, 480, 640, cam=cam2d)
    conetestgrid.draw(1)

    for gp in conetestgrid.gridpoints[:]:
        if cam2d.is_within_view(gp):
            conetestgrid.gridpoints.remove(gp)
    conetestgrid.draw(1)