示例#1
0
               ]),
               Sphere(Point3(0.1, 0.175, 0.8), 0.165, SHINY_BLUE)]),
    Sphere(Point3(0.75, 0.17, .8), 0.17, SHINY_RED),
    Plane(Point3(0, 0, 0), Vector3(0, 1, 0), CHECK_FLOOR),
    Difference([
        Intersection([  # Cube
            Plane(Point3(0.2, 0.0, 0.5), Vector3(0, -1, 0), MATT_GREEN),
            Plane(Point3(0.1, 0.08, 0.8), Vector3(0, 1, 0), MATT_GREEN),
            Plane(Point3(0.3, 0.1, 0.5), Vector3(-1, 0, 0), MATT_GREEN),
            Plane(Point3(0.5, 0.1, 0.5), Vector3(1, 0, 0), MATT_GREEN),
            Plane(Point3(0.5, 0.1, 1.3), Vector3(0, 0, 1), MATT_GREEN),
            Plane(Point3(0.5, 0.1, 1), Vector3(0, 0, -1), MATT_GREEN)]),
        Sphere(Point3(0.4, .1, 1.3), 0.1, SHINY_RED)]),
])

scene.lights = [
    #Light(scene, unit(Vector3(2,5,3)), Colour(0.6, 0.6, 0.6)),
    #Light(scene, unit(Vector3(-4,3,0)), Colour(0.7, 0.7, 0.7)),
    PointLight(scene, Point3(.5, 1.1, 1.2), Colour(0.9, 0.9, 0.9)),
    SpotLight(scene, Point3(.5, .5, 1.5), Point3(
        0.4, 0.0, 1.15), 25, Colour(0.9, 0.9, 0.9))
]
scene.background = Colour(0, 0, 0)
scene.ambient = Colour(0.1, 0.1, 0.1)


camera = Camera(scene, Point3(0, 0.2, 2), WIN_SIZE)
# camera.lookAt(Point3(0.5,0.2,0.3))
camera.lookAt(Point3(0.5, 0.3, 0.5))
# camera.setFoV(90)
示例#2
0
    None, None, None, None,
    Texture_Check(6, Colour(.1, .1, .1), Colour(0.7, 0.7, 0.7)))

scene = Scene([
    Intersection([  # Cube
        Plane(Point3(0.5, 0.0, 0.5), Vector3(0, -1, 0), MATT_CUBE),
        Plane(Point3(0.5, 0.1, 0.5), Vector3(0, 1, 0), MATT_CUBE),
        Plane(Point3(0.2, 0.0, 0.5), Vector3(-1, .3, 0), MATT_CUBE),
        Plane(Point3(0.8, 0.0, 0.5), Vector3(1, .3, 0), MATT_CUBE),
        Plane(Point3(0.5, 0.0, 0.8), Vector3(0, .3, 1), MATT_CUBE),
        Plane(Point3(0.5, 0.0, 0.2), Vector3(0, .3, -1), MATT_CUBE)
    ]),
    Sphere(Point3(0.5, 0.3, 0.5), 0.2, SHINY_SPHERE),
    Plane(Point3(0, 0, 0), Vector3(0, 1, 0), CHECK_FLOOR),
])

scene.lights = [
    SpotLight(scene, Point3(1, 1, 1), Point3(0.5, 0.5, 0.5), 20,
              Colour(.8, 0, 0)),
    SpotLight(scene, Point3(1.2, 1, -1), Point3(0.5, 0.5, 0.5), 25,
              Colour(0, 1, 0)),
    SpotLight(scene, Point3(-1, 1, 1.2), Point3(0.5, 0.5, 0.5), 25,
              Colour(0, 0, 1)),
]
scene.background = Colour(0, 0, 0)
scene.ambient = Colour(0.3, 0.3, 0.3)

camera = Camera(scene, Point3(1.5, 0.9, 1.6), WIN_SIZE)
camera.lookAt(Point3(0.5, 0.1, 0.5))
camera.setFoV(30)
示例#3
0
		 Sphere(Point3(0.1,0.175,0.8), 0.165, SHINY_BLUE)]),
	       Sphere(Point3(0.75,0.17,.8), 0.17, SHINY_RED),
               Plane(Point3(0,0,0), Vector3(0,1,0), CHECK_FLOOR),
	       Difference([
	       Intersection([ # Cube
		  Plane(Point3(0.2,0.0,0.5), Vector3(0,-1,0), MATT_GREEN),
		  Plane(Point3(0.1,0.08,0.8), Vector3(0, 1,0), MATT_GREEN),
		  Plane(Point3(0.3,0.1,0.5), Vector3(-1,0,0), MATT_GREEN),
		  Plane(Point3(0.5,0.1,0.5), Vector3( 1,0,0), MATT_GREEN),
		  Plane(Point3(0.5,0.1,1.3), Vector3(0,0, 1), MATT_GREEN),
		  Plane(Point3(0.5,0.1,  1), Vector3(0,0,-1), MATT_GREEN)]),
	       Sphere(Point3(0.4, .1, 1.3), 0.1, SHINY_RED)]),
	       ])

scene.lights = [
	  #Light(scene, unit(Vector3(2,5,3)), Colour(0.6, 0.6, 0.6)),
	  #Light(scene, unit(Vector3(-4,3,0)), Colour(0.7, 0.7, 0.7)),
	  PointLight(scene, Point3(.5, 1.1, 1.2), Colour(0.9, 0.9, 0.9)),
	  SpotLight(scene, Point3(.5,.5,1.5), Point3(0.4,0.0,1.15), 25, Colour(0.9, 0.9, 0.9))
	  ]
scene.background = Colour(0, 0, 0)
scene.ambient = Colour(0.1, 0.1, 0.1) 


camera = Camera(scene, Point3(0, 0.2, 2),WIN_SIZE)
#camera.lookAt(Point3(0.5,0.2,0.3))
camera.lookAt(Point3(0.5,0.3, 0.5))
#camera.setFoV(90)


示例#4
0
scene = Scene([
    Sphere(Point3(0.35, 0.6, 0.5), 0.25, SHINY_BLUE),
    # Difference([
    Intersection([  # Cube
        #Plane(Point3(0.2,0.0,0.5), Vector3(0,-1,0), CHECK_FLOOR),
        Plane(Point3(0.1, 0.175, 0.8), Vector3(0.5, 1, 0.1), SHINY_BLUE),
        #Plane(Point3(0.1,0.1,0.5), Vector3(-1,0,0), CHECK_FLOOR),
        #Plane(Point3(0.4,0.1,0.5), Vector3( 1,0,0), CHECK_FLOOR),
        #Plane(Point3(0.5,0.1,0.8), Vector3(0,0, 1), CHECK_FLOOR),
        #Plane(Point3(0.5,0.1,0.5), Vector3(0,0,-1), CHECK_FLOOR),
        Sphere(Point3(0.1, 0.175, 0.8), 0.175, SHINY_BLUE),
    ]),
    # Sphere(Point3(0.1,0.175,0.8), 0.165, SHINY_BLUE)]),
    #Sphere(Point3(0.75,0.15,.2), 0.15, SHINY_RED),
    Plane(Point3(0, 0, 0), Vector3(0, 1, 0), CHECK_FLOOR)
])

scene.lights = [
    #Light(scene, unit(Vector3(2,5,3)), Colour(0.6, 0.6, 0.6)),
    #Light(scene, unit(Vector3(-4,3,0)), Colour(0.7, 0.7, 0.7)),
    PointLight(scene, Point3(.5, 1.1, 1.2), Colour(0.9, 0.9, 0.9)),
]
scene.background = Colour(0, 0, 0)
scene.ambient = Colour(0.4, 0.4, 0.4)


camera = Camera(scene, Point3(0.5, 0.2, 1.6), WIN_SIZE)
camera.lookAt(Point3(0.5, 0.2, 0.3))
#camera.lookAt(Point3(0.1,0.1, 0.9))
示例#5
0
SHINY_SPHERE = Material(Colour(0.2, 0.3, 0.7), Colour(0.8,0.8,0.8), 200, .3)
MATT_CUBE = Material(Colour(0.7,0.7, 0.7), Colour(0.9,0.9,0.9), 300, .5)
CHECK_FLOOR = Material(None, None, None, None, Texture_Check(6, Colour(.1,.1,.1), Colour(0.7,0.7,0.7)))

scene = Scene([
    Intersection([ # Cube
	Plane(Point3(0.5,0.0,0.5), Vector3(0,-1,0), MATT_CUBE),
	Plane(Point3(0.5,0.1,0.5), Vector3(0, 1,0), MATT_CUBE),
	Plane(Point3(0.2,0.0,0.5), Vector3(-1,.3,0), MATT_CUBE),
	Plane(Point3(0.8,0.0,0.5), Vector3( 1,.3,0), MATT_CUBE),
	Plane(Point3(0.5,0.0,0.8), Vector3(0,.3, 1), MATT_CUBE),
	Plane(Point3(0.5,0.0,0.2), Vector3(0,.3,-1), MATT_CUBE)]),
    Sphere(Point3(0.5,0.3,0.5), 0.2, SHINY_SPHERE),
    Plane(Point3(0,0,0), Vector3(0,1,0), CHECK_FLOOR),
])

scene.lights = [
    SpotLight(scene, Point3( 1, 1,  1), Point3(0.5,0.5,0.5), 20, Colour(.8,0,0)),
    SpotLight(scene, Point3( 1.2, 1, -1), Point3(0.5,0.5,0.5), 25, Colour(0,1,0)),
    SpotLight(scene, Point3(-1, 1,  1.2), Point3(0.5,0.5,0.5), 25, Colour(0,0,1)),
]
scene.background = Colour(0, 0, 0)
scene.ambient = Colour(0.3, 0.3, 0.3) 


camera = Camera(scene, Point3(1.5, 0.9, 1.6),WIN_SIZE)
camera.lookAt(Point3(0.5,0.1,0.5))
camera.setFoV(30)


示例#6
0
	       Sphere(Point3(0.35,0.6,0.5), 0.25, SHINY_BLUE),
	       #Difference([
	       Intersection([ # Cube
		  #Plane(Point3(0.2,0.0,0.5), Vector3(0,-1,0), CHECK_FLOOR),
		  Plane(Point3(0.1,0.175,0.8), Vector3(0.5, 1,0.1), SHINY_BLUE),
		  #Plane(Point3(0.1,0.1,0.5), Vector3(-1,0,0), CHECK_FLOOR),
		  #Plane(Point3(0.4,0.1,0.5), Vector3( 1,0,0), CHECK_FLOOR),
		  #Plane(Point3(0.5,0.1,0.8), Vector3(0,0, 1), CHECK_FLOOR),
		  #Plane(Point3(0.5,0.1,0.5), Vector3(0,0,-1), CHECK_FLOOR),
		  Sphere(Point3(0.1,0.175,0.8), 0.175, SHINY_BLUE),
			  ]),
		 #Sphere(Point3(0.1,0.175,0.8), 0.165, SHINY_BLUE)]),
	       #Sphere(Point3(0.75,0.15,.2), 0.15, SHINY_RED),
               Plane(Point3(0,0,0), Vector3(0,1,0), CHECK_FLOOR)
	       ])

scene.lights = [
	  #Light(scene, unit(Vector3(2,5,3)), Colour(0.6, 0.6, 0.6)),
	  #Light(scene, unit(Vector3(-4,3,0)), Colour(0.7, 0.7, 0.7)),
	  PointLight(scene, Point3(.5, 1.1, 1.2), Colour(0.9, 0.9, 0.9)),
	  ]
scene.background = Colour(0, 0, 0)
scene.ambient = Colour(0.4, 0.4, 0.4) 


camera = Camera(scene, Point3(0.5, 0.2, 1.6),WIN_SIZE)
camera.lookAt(Point3(0.5,0.2,0.3))
#camera.lookAt(Point3(0.1,0.1, 0.9))