Exemplo n.º 1
0
def make_middle():
    middle = set_transform(Sphere(), Translation(-0.5, 1, 0.5))
    middle.material = Material()
    middle.material.color = Color(0.1, 1, 0.5)
    middle.material.diffuse = 0.7
    middle.material.specular = 0.3
    return middle
Exemplo n.º 2
0
def make_right():
    right = set_transform(Sphere(),
                          Translation(1.5, 0.5, -0.5) * Scaling(0.5, 0.5, 0.5))
    right.material = Material()
    right.material.color = Color(0.5, 1, 0.1)
    right.material.diffuse = 0.7
    right.material.specular = 0.3
    return right
Exemplo n.º 3
0
def make_left():
    left = set_transform(
        Sphere(),
        Translation(-1.5, 0.33, -0.75) * Scaling(0.33, 0.33, 0.33))
    left.material = Material()
    left.material.color = Color(1, 0.8, 0.1)
    left.material.diffuse = 0.7
    left.material.specular = 0.3
    return left
Exemplo n.º 4
0
def make_middle():
    middle = set_transform(Sphere(), Translation(-0.5, 1, 0.5))
    middle.material = Material()
    middle.material.color = Color(0.1, 1, 0.5)
    middle.material.diffuse = 0.7
    middle.material.specular = 0.3
    middle.material.pattern = gradient_pattern(BLUE, GREEN)
    middle.material.pattern.transform = Scaling(.2, .2, .2)
    return middle
Exemplo n.º 5
0
def make_left():
    left = set_transform(
        Sphere(),
        Translation(-1.5, 0.33, -0.75) * Scaling(0.33, 0.33, 0.33))
    left.material = Material()
    left.material.color = Color(1, 0.8, 0.1)
    left.material.diffuse = 0.7
    left.material.specular = 0.3
    left.material.pattern = checkers_pattern(WHITE, BLACK)
    return left
Exemplo n.º 6
0
def make_right():
    right = set_transform(Sphere(),
                          Translation(1.5, 0.5, -0.5) * Scaling(0.5, 0.5, 0.5))
    right.material = Material()
    #right.material.color = Color(0.5, 1, 0.1)
    #right.material.diffuse = 0.7
    #right.material.specular = 0.3
    right.material.pattern = ring_pattern(GREEN, BLACK)
    right.material.pattern.transform = Scaling(.2, .2, .2) * rotation_x(
        math.pi / 2)
    return right
Exemplo n.º 7
0
def step_impl(context, pattern, dx, dy, dz):
    _pattern = getattr(context, pattern)
    _pattern = set_pattern_transform(_pattern, Translation(dx, dy, dz))
    setattr(context, pattern, _pattern)
Exemplo n.º 8
0
def step_impl(context, transform, x, y, z):
    _transform = Translation(x, y, z)
    setattr(context, transform, _transform)
Exemplo n.º 9
0
def step_impl(context, sphere, dx, dy, dz):
    _transform = Translation(dx, dy, dz)
    setattr(context, "transform", _transform)
    context.execute_steps(f'when set_transform({sphere}, transform)')
Exemplo n.º 10
0
def make_wall(theta):
    transform = Translation(0, 0, 5) * rotation_y(theta) * rotation_x(
        math.pi / 2) * Scaling(10, .01, 10)
    wall = set_transform(Sphere(), transform)
    wall.material = floor_material()
    return wall