#version HMCCS155FALL2002 /* * boundingbox test. this case will be fast because the bounding boxes * will usefully determine which rays potentially intersect the * tetrahedron, and not test the ones that don't. */ #background 0.0 0.0 0.0 #ambient 0.7 0.7 0.7 #camera -50.0 2.0 0.0 // position 1.0 0.0 0.0 // direction 0.0 1.0 0.0 // up 30.0 // heightAngle // A simple tetrahedron #macro_begin -n tetrahedron -- #triangle -n tetrahedronBot -m plainGray -- 0.0 0.0 0.0 // vertex 1 -1.73 0.0 1.0 // vertex 2 -1.73 0.0 -1.0 // vertex 3 #triangle -n tetrahedronFront -m plainGray -- -1.15 1.63 0.0 // vertex 4 -1.73 0.0 -1.0 // vertex 3 -1.73 0.0 1.0 // vertex 2 #triangle -n tetrahedronRight -m plainGray -- 0.0 0.0 0.0 // vertex 1 -1.15 1.63 0.0 // vertex 4 -1.73 0.0 1.0 // vertex 2 #triangle -n tetrahedronLeft -m plainGray -- 0.0 0.0 0.0 // vertex 1 -1.73 0.0 -1.0 // vertex 3 -1.15 1.63 0.0 // vertex 4 #macro_end // A tetrahedron of tetrahedrons #macro_begin -n tetrahedronGroup1 -- #group_begin -n tG1v1 -- 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 #macro_instance tetrahedron #group_end #group_begin -n tG1v2 -- 1.0 0.0 0.0 -1.73 0.0 1.0 0.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 #macro_instance tetrahedron #group_end #group_begin -n tG1v3 -- 1.0 0.0 0.0 -1.73 0.0 1.0 0.0 0.0 0.0 0.0 1.0 -1.0 0.0 0.0 0.0 1.0 #macro_instance tetrahedron #group_end #group_begin -n tG1v4 -- 1.0 0.0 0.0 -1.15 0.0 1.0 0.0 1.63 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 #macro_instance tetrahedron #group_end #macro_end // A tetrahedron of tetrahedrons of tetrahedrons #macro_begin -n tetrahedronGroup2 -- #group_begin -n tG2v1 -- 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 #macro_instance tetrahedronGroup1 #group_end #group_begin -n tG2v2 -- 1.0 0.0 0.0 -1.73 0.0 1.0 0.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 #macro_instance tetrahedronGroup1 #group_end #group_begin -n tG2v3 -- 1.0 0.0 0.0 -1.73 0.0 1.0 0.0 0.0 0.0 0.0 1.0 -1.0 0.0 0.0 0.0 1.0 #macro_instance tetrahedronGroup1 #group_end #group_begin -n tG2v4 -- 1.0 0.0 0.0 -1.15 0.0 1.0 0.0 1.63 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 #macro_instance tetrahedronGroup1 #group_end #macro_end // A tetrahedron of tetrahedrons of tetrahedrons of tetrahedrons #macro_begin -n tetrahedronGroup3 -- #group_begin -n tG3v1 -- 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 #macro_instance tetrahedronGroup2 #group_end #group_begin -n tG3v2 -- 1.0 0.0 0.0 -1.73 0.0 1.0 0.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 #macro_instance tetrahedronGroup2 #group_end #group_begin -n tG3v3 -- 1.0 0.0 0.0 -1.73 0.0 1.0 0.0 0.0 0.0 0.0 1.0 -1.0 0.0 0.0 0.0 1.0 #macro_instance tetrahedronGroup2 #group_end #group_begin -n tG3v4 -- 1.0 0.0 0.0 -1.15 0.0 1.0 0.0 1.63 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 #macro_instance tetrahedronGroup2 #group_end #macro_end #material -n plainGray -- 0.1 0.1 0.1 // ambient 0.6 0.6 0.6 // diffuse 0.1 0.1 0.1 // specular 0.0 0.0 0.0 // emissive 0.9 0.0 0.0 // kspec ktrans refind #macro_instance tetrahedronGroup3 #rayfile_end