32
32
class CornellBox (object ):
33
33
"""
34
34
Cornell box mainly as an object, except for the lights which are bit complicated
35
+ 300 x 300 is the default size, but we need to add the inc files here.
35
36
"""
36
37
def __init__ (self ):
37
38
self .scene = POVFile ("cornell_box.pov" , (300 , 300 ), "colors.inc" , "skies.inc" )
@@ -47,7 +48,7 @@ def __init__(self):
47
48
self .skylight = Box ((21.3 , 54.87 , 33.2 ), (34.3 , 54.88 , 22.7 ), 'no_shadow' ,
48
49
Pigment (rgb = (1 , 1 , 1 )), Finish (emission = 0.78 , diffuse = 0 ))
49
50
# Floor, Ceiling, Backwall
50
- self .cornell_box = Union (
51
+ self .cornell_box = Merge (
51
52
# Floor
52
53
Triangle ((55.28 , 0.0 , 0.0 ), (0.0 , 0.0 , 0.0 ), (0.0 , 0.0 , 55.92 )),
53
54
Triangle ((55.28 , 0.0 , 0.0 ), (0.0 , 0.0 , 55.92 ), (54.96 , 0.0 , 55.92 )),
@@ -58,53 +59,52 @@ def __init__(self):
58
59
Triangle ((0.0 , 54.88 , 55.92 ), (55.60 , 54.88 , 55.92 ), (54.96 , 0.0 , 55.92 )),
59
60
Triangle ((0.0 , 54.88 , 55.92 ), (54.96 , 0.0 , 55.92 ), (0.0 , 0.0 , 55.92 )),
60
61
Texture (Pigment (rgb = (1 , 1 , 1 )), Finish (diffuse = 0.75 , ambient = 0 ))
61
- )
62
+ )
62
63
63
64
# Right wall
64
- self .right_wall = Union (
65
+ self .right_wall = Merge (
65
66
Triangle ((0.0 , 54.88 , 0.0 ), (0.0 , 54.88 , 55.92 ), (0.0 , 0.0 , 55.92 )),
66
67
Triangle ((0.0 , 54.88 , 0.0 ), (0.0 , 0.0 , 55.92 ), (0.0 , 0.0 , 0.0 )),
67
68
Texture (Pigment (rgb = (0.025 , 0.236 , 0.025 )), Finish (diffuse = 0.75 , ambient = 0 ))
68
69
)
69
70
70
71
# Left wall
71
- self .left_wall = Union (
72
+ self .left_wall = Merge (
72
73
Triangle ((55.28 , 0.0 , 0.0 ), (54.96 , 0.0 , 55.92 ), (55.60 , 54.88 , 55.92 )),
73
74
Triangle ((55.28 , 0.0 , 0.0 ), (55.60 , 54.88 , 55.92 ), (55.60 , 54.88 , 0.0 )),
74
75
Texture (Pigment (rgb = (0.57 , 0.025 , 0.025 )), Finish (diffuse = 0.75 , ambient = 0 ))
75
76
)
76
77
77
78
78
- self .short_box = Union (
79
- #Short block
80
- Triangle ((13.00 , 16.50 , 6.50 ), (8.20 , 16.50 , 22.50 ), (24.00 , 16.50 , 27.20 )),
81
- Triangle ((13.00 , 16.50 , 6.50 ), (24.00 , 16.50 , 27.20 ), (29.00 , 16.50 , 11.40 )),
82
- Triangle ((29.00 , 0.0 , 11.40 ), (29.00 , 16.50 , 11.40 ), (24.00 , 16.50 , 27.20 )),
83
- Triangle ((29.00 , 0.0 , 11.40 ), (24.00 , 16.50 , 27.20 ), (24.00 , 0.0 , 27.20 )),
84
- Triangle ((13.00 , 0.0 , 6.50 ), (13.00 , 16.50 , 6.50 ), (29.00 , 16.50 , 11.40 )),
85
- Triangle ((13.00 , 0.0 , 6.50 ), (29.00 , 16.50 , 11.40 ), (29.00 , 0.0 , 11.40 )),
86
- Triangle ((8.20 , 0.0 , 22.50 ), (8.20 , 16.50 , 22.50 ), (13.00 , 16.50 , 6.50 )),
87
- Triangle ((8.20 , 0.0 , 22.50 ), (13.00 , 16.50 , 6.50 ), (13.00 , 0.0 , 6.50 )),
88
- Triangle ((24.00 , 0.0 , 27.20 ), (24.00 , 16.50 , 27.20 ), (8.20 , 16.50 , 22.50 )),
89
- Triangle ((24.00 , 0.0 , 27.20 ), (8.20 , 16.50 , 22.50 ), (8.20 , 0.0 , 22.50 )),
90
- Texture (Pigment (rgb = (1 , 1 , 1 )), Finish (diffuse = 0.75 , ambient = 0 ))
91
-
92
- )
79
+ self .short_box = Merge (
80
+ #Short block
81
+ Triangle ((13.00 , 16.50 , 6.50 ), (8.20 , 16.50 , 22.50 ), (24.00 , 16.50 , 27.20 )),
82
+ Triangle ((13.00 , 16.50 , 6.50 ), (24.00 , 16.50 , 27.20 ), (29.00 , 16.50 , 11.40 )),
83
+ Triangle ((29.00 , 0.0 , 11.40 ), (29.00 , 16.50 , 11.40 ), (24.00 , 16.50 , 27.20 )),
84
+ Triangle ((29.00 , 0.0 , 11.40 ), (24.00 , 16.50 , 27.20 ), (24.00 , 0.0 , 27.20 )),
85
+ Triangle ((13.00 , 0.0 , 6.50 ), (13.00 , 16.50 , 6.50 ), (29.00 , 16.50 , 11.40 )),
86
+ Triangle ((13.00 , 0.0 , 6.50 ), (29.00 , 16.50 , 11.40 ), (29.00 , 0.0 , 11.40 )),
87
+ Triangle ((8.20 , 0.0 , 22.50 ), (8.20 , 16.50 , 22.50 ), (13.00 , 16.50 , 6.50 )),
88
+ Triangle ((8.20 , 0.0 , 22.50 ), (13.00 , 16.50 , 6.50 ), (13.00 , 0.0 , 6.50 )),
89
+ Triangle ((24.00 , 0.0 , 27.20 ), (24.00 , 16.50 , 27.20 ), (8.20 , 16.50 , 22.50 )),
90
+ Triangle ((24.00 , 0.0 , 27.20 ), (8.20 , 16.50 , 22.50 ), (8.20 , 0.0 , 22.50 )),
91
+ Texture (Pigment (rgb = (1 , 1 , 1 )), Finish (diffuse = 0.75 , ambient = 0 ))
92
+ )
93
93
94
- self .tall_box = Union (
95
- #Tall block
96
- Triangle ((42.30 , 33.00 , 24.70 ), (26.50 , 33.00 , 29.60 ), (31.40 , 33.00 , 45.60 )),
97
- Triangle ((42.30 , 33.00 , 24.70 ), (31.40 , 33.00 , 45.60 ), (47.20 , 33.00 , 40.60 )),
98
- Triangle ((42.30 , 0.0 , 24.70 ), (42.30 , 33.00 , 24.70 ), (47.20 , 33.00 , 40.60 )),
99
- Triangle ((42.30 , 0.0 , 24.70 ), (47.20 , 33.00 , 40.60 ), (47.20 , 0.0 , 40.60 )),
100
- Triangle ((47.20 , 0.0 , 40.60 ), (47.20 , 33.00 , 40.60 ), (31.40 , 33.00 , 45.60 )),
101
- Triangle ((47.20 , 0.0 , 40.60 ), (31.40 , 33.00 , 45.60 ), (31.40 , 0.0 , 45.60 )),
102
- Triangle ((31.40 , 0.0 , 45.60 ), (31.40 , 33.00 , 45.60 ), (26.50 , 33.00 , 29.60 )),
103
- Triangle ((31.40 , 0.0 , 45.60 ), (26.50 , 33.00 , 29.60 ), (26.50 , 0.0 , 29.60 )),
104
- Triangle ((26.50 , 0.0 , 29.60 ), (26.50 , 33.00 , 29.60 ), (42.30 , 33.00 , 24.70 )),
105
- Triangle ((26.50 , 0.0 , 29.60 ), (42.30 , 33.00 , 24.70 ), (42.30 , 0.0 , 24.70 )),
106
- Texture (Pigment (rgb = (1 , 1 , 1 )), Finish (diffuse = 0.75 , ambient = 0 ))
107
- )
94
+ self .tall_box = Merge (
95
+ #Tall block
96
+ Triangle ((42.30 , 33.00 , 24.70 ), (26.50 , 33.00 , 29.60 ), (31.40 , 33.00 , 45.60 )),
97
+ Triangle ((42.30 , 33.00 , 24.70 ), (31.40 , 33.00 , 45.60 ), (47.20 , 33.00 , 40.60 )),
98
+ Triangle ((42.30 , 0.0 , 24.70 ), (42.30 , 33.00 , 24.70 ), (47.20 , 33.00 , 40.60 )),
99
+ Triangle ((42.30 , 0.0 , 24.70 ), (47.20 , 33.00 , 40.60 ), (47.20 , 0.0 , 40.60 )),
100
+ Triangle ((47.20 , 0.0 , 40.60 ), (47.20 , 33.00 , 40.60 ), (31.40 , 33.00 , 45.60 )),
101
+ Triangle ((47.20 , 0.0 , 40.60 ), (31.40 , 33.00 , 45.60 ), (31.40 , 0.0 , 45.60 )),
102
+ Triangle ((31.40 , 0.0 , 45.60 ), (31.40 , 33.00 , 45.60 ), (26.50 , 33.00 , 29.60 )),
103
+ Triangle ((31.40 , 0.0 , 45.60 ), (26.50 , 33.00 , 29.60 ), (26.50 , 0.0 , 29.60 )),
104
+ Triangle ((26.50 , 0.0 , 29.60 ), (26.50 , 33.00 , 29.60 ), (42.30 , 33.00 , 24.70 )),
105
+ Triangle ((26.50 , 0.0 , 29.60 ), (42.30 , 33.00 , 24.70 ), (42.30 , 0.0 , 24.70 )),
106
+ Texture (Pigment (rgb = (1 , 1 , 1 )), Finish (diffuse = 0.75 , ambient = 0 ))
107
+ )
108
108
109
109
110
110
def writePovray (self ):
@@ -119,7 +119,7 @@ def writePovray(self):
119
119
self .scene .declare (JE )
120
120
self .scene .declare (IE )
121
121
self .scene .write (self .cam , self .skylight , self .cornell_box , self .right_wall , self .left_wall ,
122
- self .short_box , self .tall_box )
122
+ self .short_box , self .tall_box )
123
123
124
124
125
125
def main ():
0 commit comments