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)