コード例 #1
0
ファイル: old_scenes.py プロジェクト: ziranjuanchow/Pytracer
def batch_render_solar_system():
    planets = add_solar_system()
    print planets
    x = [lambda t:0 for i in range(len(planets))]
    y = [lambda t:0 for i in range(len(planets))]

    x[0] = lambda t: cos(t * 5) * 8
    y[0] = lambda t: sin(t * 5) * 8

    x[1] = lambda t: cos(t) * 14 - cos(3 * t) * 3
    y[1] = lambda t: sin(t) * 14 + sin(3 * t) * 3

    x[2] = lambda t: cos(t) * 14
    y[2] = lambda t: sin(t) * 14

    x[3] = lambda t: cos(t * 2) * 18
    y[3] = lambda t: sin(t * 2) * 18

    last_t = 0
    for T in range(1, 151):
        print 'frame', T
        if not is_mac():
            render(5)
        else:
            render(15)
        r = 300.0
        t = (T + T * sqrt(T)) / r
        for i in range(len(planets)):
            dx = x[i](t) - x[i](last_t)
            dy = y[i](t) - y[i](last_t)
            ray_tracer.move(planets[i], (dx, 0, dy), world=1)
            ray_tracer.set_velocity(planets[i], (dx, 0, dy))
        ray_tracer.c_focus = (x[2](t), 0, y[2](t))
        ray_tracer.move(sun, (3, 0, 0))
        last_t = t
コード例 #2
0
ファイル: old_scenes.py プロジェクト: ziranjuanchow/Pytracer
def add_table():
    sphere = ray_tracer.create_sphere()
    global sun
    sun = ray_tracer.create_object(sphere, Materials.sun, (-300, 200, -100), 100)

    ray_tracer.create_square_with_picture('sky.jpg', Materials.picture, (0, 400, 0), 3000, (0, -1, 0))
    table = ray_tracer.create_square_with_picture('table2.jpg', Materials.cloth, (-20, -10, -20), 150, (0, 1, 0))
    ray_tracer.move(table, (40, 0, -5))

    mesh = ray_tracer.create_mesh(filename='meshes/Espresso_Cup.obj', compress=1)
    ray_tracer.create_object(mesh, Materials.china, (0, -10, 0), 2.3)

    mesh = ray_tracer.create_mesh(filename='meshes/spoon/spoon.obj', compress=1)
    spoon = ray_tracer.create_object(mesh, Materials.ice, (10, -10.2, 20), .15)
    ray_tracer.rotate(spoon, (0, 0, 1), 0.04)
    ray_tracer.rotate(spoon, (0, 1, 0), 0.2)

    ray_tracer.move(spoon, (1, 0, 0))


    ray_tracer.rotate_view_port((0, 1, 0), 0.5)
    ray_tracer.rotate_view_port((1, 0, 0), 0.3)
    ray_tracer.move_view_port((-11, 0, 0))

    ray_tracer.move_view_port((0, 4, 0))

    ray_tracer.c_color_gamma = 1.0 / 2.2
    ray_tracer.c_apertureRadius = 2.5
    ray_tracer.c_focus = (0, -10, 0)

    ray_tracer.c_viewPortRatio = 7.5
    ray_tracer.move_view_port((-3, 1, 100))
コード例 #3
0
ファイル: render.py プロジェクト: IteratorAdvance/Pytracer
def add_mesh_table():
    sphere = ray_tracer.create_sphere()
    ray_tracer.create_object(sphere, Materials.sun, (-50, 100, -100), 55)

    plane = ray_tracer.create_plane()
    ray_tracer.create_object(plane, Materials.wall, (-1000, 0, 0), 1, (1, 0, 0))
    ray_tracer.create_object(plane, Materials.wall, (1000, 0, 0), 1, (-1, 0, 0))
    ray_tracer.create_object(plane, Materials.wall, (0, 0, -1000), 1, (0, 0, 1))
    # ray_tracer.create_object(plane, Materials.wall, (0, 0, 4000000), 1, (0, 0, -1))

    ray_tracer.create_square_with_picture('sky.jpg', Materials.picture, (0, 400, 0), 3000, (0, -1, 0))
    table = ray_tracer.create_square_with_picture('sea.jpg', Materials.cloth, (20, -10, -20), 150, (0, 1, 0))
    ray_tracer.set_velocity(table, (10, 0, 0))

    ray_tracer.move(table, (-5, 0, -5))
    mesh = ray_tracer.create_mesh(filename='meshes/fixed.perfect.dragon.100K.0.07.obj', compress=1)
    dragon = ray_tracer.create_object(mesh, Materials.red_ice, (6, 0, 6), 14)

    ray_tracer.c_global_decay = 0.0

    # exit()

    ray_tracer.rotate_view_port((0, 1, 0), 0.5)
    ray_tracer.rotate_view_port((1, 0, 0), 0.4)
    ray_tracer.move_view_port((-11, 0, 0))

    ray_tracer.move_view_port((0, 4, 0))

    ray_tracer.c_color_gamma = 1.0 / 2.2
    ray_tracer.c_apertureRadius = 0.5
    ray_tracer.c_focus = (1, 7, 11)

    ray_tracer.c_viewPortRatio = 11.5
    ray_tracer.move_view_port((0, 2, 100))
コード例 #4
0
ファイル: old_scenes.py プロジェクト: ziranjuanchow/Pytracer
def add_mesh_table():
    sphere = ray_tracer.create_sphere()
    ray_tracer.create_object(sphere, Materials.sun, (-50, 100, -100), 55)

    plane = ray_tracer.create_plane()
    ray_tracer.create_object(plane, Materials.wall, (-1000, 0, 0), 1, (1, 0, 0))
    ray_tracer.create_object(plane, Materials.wall, (1000, 0, 0), 1, (-1, 0, 0))
    ray_tracer.create_object(plane, Materials.wall, (0, 0, -1000), 1, (0, 0, 1))
    # ray_tracer.create_object(plane, Materials.wall, (0, 0, 4000000), 1, (0, 0, -1))

    ray_tracer.create_square_with_picture('sky.jpg', Materials.picture, (0, 400, 0), 3000, (0, -1, 0))
    table = ray_tracer.create_square_with_picture('sea.jpg', Materials.cloth, (20, -10, -20), 150, (0, 1, 0))
    ray_tracer.set_velocity(table, (10, 0, 0))

    ray_tracer.move(table, (-5, 0, -5))
    import random
    for i in range(0):
        # ball = ray_tracer.create_object(sphere, Materials.china, (6, 1 + 2 * random.random(), 6 + 2 * random.random()),
        #                                 1 * (1.0 + random.random()))
        ball = ray_tracer.create_object(sphere, Materials.silver, (6 + 30 * random.random(), 1 + 10 * random.random(), 4 + 30 * random.random()),
                                        0.5 * (1.0 + random.random()))

        ray_tracer.set_velocity(ball, (5, 0, 0))
    mesh = ray_tracer.create_mesh(filename='meshes/fixed.perfect.dragon.100K.0.07.obj', compress=1)
    dragon = ray_tracer.create_object(mesh, Materials.red_ice, (6, 0, 6), 14)
# ray_tracer.move(mesh, (6, 0, 6))
    # spoon = ray_tracer.create_object(mesh, Materials.red_ice, (1, 0.3, 12), 14.2)

    # spoon = ray_tracer.create_object(sphere, Materials.red_ice, (0, 0, 0), 4)

    # mesh = ray_tracer.create_mesh(nilename='meshes/fixed.perfect.dragon.100K.0.07.obj')
    # spoon = ray_tracer.create_object(sphere, Materials.blue_ice, (6, 0, 6), 6)

    # ray_tracer.rotate(spoon, (0, 0, 1), 0.04)
    # ray_tracer.rotate(spoon, (0, 1, 0), 0.2)

    ray_tracer.c_global_decay = 0.0

    # exit()

    ray_tracer.rotate_view_port((0, 1, 0), 0.5)
    ray_tracer.rotate_view_port((1, 0, 0), 0.3)
    ray_tracer.move_view_port((-11, 0, 0))

    ray_tracer.move_view_port((0, 4, 0))

    ray_tracer.c_color_gamma = 1.0 / 2.2
    ray_tracer.c_apertureRadius = 0.5
    ray_tracer.c_focus = (1, 7, 11)

    ray_tracer.c_viewPortRatio = 7.5
    ray_tracer.move_view_port((0, 2, 100))
コード例 #5
0
ファイル: old_scenes.py プロジェクト: ziranjuanchow/Pytracer
def batch_render_table():
    add_table()

    for t in range(32, 100):
        ray_tracer.move(sun, (4, 0, 0))

    for t in range(100, 300):
        print 'Frame:', t
        for sample_times in [1]:#, 30, 100, 1000]:
            ray_tracer.c_sample_times = sample_times
            if not is_mac():
                render(15)
            else:
                render(5)
        ray_tracer.move(sun, (4, 0, 0))
コード例 #6
0
ファイル: scenes.py プロジェクト: ziranjuanchow/Pytracer
def test_bias2():
    sphere = ray_tracer.create_sphere()
    plane = ray_tracer.create_plane()

    # ray_tracer.create_object(plane, Materials.wall, (6, 0, 0), 1, (-1, 0, 1))
    ray_tracer.create_object(plane, Materials.wall, (0, 0, -20), 1, (0, 0, 1))

    ray_tracer.create_object(sphere, Materials.strong_sun, (0, 0, -10), 1)

    mesh = ray_tracer.create_mesh(filename='meshes/shape.obj', compress=1)
    tri = ray_tracer.create_object(mesh, Materials.ice, (0, 0, 0), 8)
    ray_tracer.move(tri, (0, -1.5, 0), world=True)
    # ray_tracer.rotate(tri, (0, 0, 1), math.pi / 2)
    # ray_tracer.rotate(tri, (0, 1, 0), math.pi / 2)
    # ray_tracer.rotate(tri, (0, 1, 0), 1.6)

    ray_tracer.c_global_decay = 0.0
    ray_tracer.c_color_gamma = 1.0 / 2.2
    ray_tracer.c_apertureRadius = 0.0
    ray_tracer.c_viewPortRatio = 300.5
コード例 #7
0
ファイル: scenes.py プロジェクト: IteratorAdvance/Pytracer
def test_bias2():
    sphere = ray_tracer.create_sphere()
    plane = ray_tracer.create_plane()

    # ray_tracer.create_object(plane, Materials.wall, (6, 0, 0), 1, (-1, 0, 1))
    ray_tracer.create_object(plane, Materials.wall, (0, 0, -20), 1, (0, 0, 1))

    ray_tracer.create_object(sphere, Materials.strong_sun, (0, 0, -10), 1)

    mesh = ray_tracer.create_mesh(filename='meshes/shape.obj', compress=1)
    tri = ray_tracer.create_object(mesh, Materials.ice, (0, 0, 0), 8)
    ray_tracer.move(tri, (0, -1.5, 0), world=True)
    # ray_tracer.rotate(tri, (0, 0, 1), math.pi / 2)
    # ray_tracer.rotate(tri, (0, 1, 0), math.pi / 2)
    # ray_tracer.rotate(tri, (0, 1, 0), 1.6)

    ray_tracer.c_global_decay = 0.0
    ray_tracer.c_color_gamma = 1.0 / 2.2
    ray_tracer.c_apertureRadius = 0.0
    ray_tracer.c_viewPortRatio = 300.5
コード例 #8
0
def add_mesh_table():
    sphere = ray_tracer.create_sphere()
    ray_tracer.create_object(sphere, Materials.sun, (-50, 100, -100), 55)

    plane = ray_tracer.create_plane()
    ray_tracer.create_object(plane, Materials.wall, (-1000, 0, 0), 1,
                             (1, 0, 0))
    ray_tracer.create_object(plane, Materials.wall, (1000, 0, 0), 1,
                             (-1, 0, 0))
    ray_tracer.create_object(plane, Materials.wall, (0, 0, -1000), 1,
                             (0, 0, 1))
    # ray_tracer.create_object(plane, Materials.wall, (0, 0, 4000000), 1, (0, 0, -1))

    ray_tracer.create_square_with_picture('sky.jpg', Materials.picture,
                                          (0, 400, 0), 3000, (0, -1, 0))
    table = ray_tracer.create_square_with_picture('sea.jpg', Materials.cloth,
                                                  (20, -10, -20), 150,
                                                  (0, 1, 0))
    ray_tracer.set_velocity(table, (10, 0, 0))

    ray_tracer.move(table, (-5, 0, -5))
    mesh = ray_tracer.create_mesh(
        filename='meshes/fixed.perfect.dragon.100K.0.07.obj', compress=1)
    dragon = ray_tracer.create_object(mesh, Materials.red_ice, (6, 0, 6), 14)

    ray_tracer.c_global_decay = 0.0

    # exit()

    ray_tracer.rotate_view_port((0, 1, 0), 0.5)
    ray_tracer.rotate_view_port((1, 0, 0), 0.4)
    ray_tracer.move_view_port((-11, 0, 0))

    ray_tracer.move_view_port((0, 4, 0))

    ray_tracer.c_color_gamma = 1.0 / 2.2
    ray_tracer.c_apertureRadius = 0.5
    ray_tracer.c_focus = (1, 7, 11)

    ray_tracer.c_viewPortRatio = 11.5
    ray_tracer.move_view_port((0, 2, 100))