sys.excepthook = sys.__excepthook__ ntracer = NTracer(args.dimension) if args.file: if ntracer.dimension != 3: sys.exit('a file can only be displayed with a dimensionality of 3') try: triangles = wavefront_obj.load_obj(args.file) except Exception as e: if args.debug: raise sys.exit('could not load file: ' + str(e)) scene = ntracer.build_composite_scene(triangles) else: scene = ntracer.BoxScene() pygame.display.init() pygame.font.init() pygame.display.set_caption('ntracer') screen = pygame.display.set_mode((640,480),pygame.RESIZABLE) current_img = pygame.Surface(screen.get_size()) next_img = pygame.Surface(screen.get_size()) started = False def translate(d):
print('building geometry...') timing = timer() p = Polygon(args.schlafli[0]) for i,s in enumerate(args.schlafli[1:]): p = compose(p,i+2,s) hull = p.hull() timing = timer() - timing print('done in {0} seconds'.format(timing)) cam_distance = -math.sqrt(p.circumradius_square()) * args.cam_dist print('partitioning scene...') timing = timer() scene = nt.build_composite_scene(hull) timing = timer() - timing print('done in {0} seconds'.format(timing)) del p del hull camera = nt.Camera() camera.translate(nt.Vector.axis(2,cam_distance) + jitter) scene.set_camera(camera) scene.set_fov(args.fov) if args.output is not None: if args.type != 'png': render = BlockingRenderer()
print("building geometry...") timing = timer() p = Polygon(args.schlafli[0]) for i, s in enumerate(args.schlafli[1:]): p = compose(p, i + 2, s) hull = p.hull() timing = timer() - timing print("done in {0} seconds".format(timing)) cam_distance = -math.sqrt(p.circumradius_square()) * args.cam_dist print("partitioning scene...") timing = timer() scene = nt.build_composite_scene(hull) timing = timer() - timing print("done in {0} seconds".format(timing)) del p del hull camera = nt.Camera() camera.translate(nt.Vector.axis(2, cam_distance) + jitter) scene.set_camera(camera) scene.set_fov(args.fov) if args.output is not None: if args.type != "png": render = BlockingRenderer()