mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			213 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			213 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
| // This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
 | |
| // To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
 | |
| // letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
 | |
| 
 | |
| // Persistence Of Vision Ray Tracer Include File
 | |
| // File: building.inc
 | |
| // Desc: building for 'balcony.pov' demonstration scene
 | |
| // Date: July/August 2001
 | |
| // Auth: Christoph Hormann
 | |
| 
 | |
| // Updated: 09Aug2008 (jh) for v3.7 distribution
 | |
| 
 | |
| /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
 | |
| 
 | |
| #if (version < 3.7)
 | |
|   #version 3.5;
 | |
| #end
 | |
| 
 | |
| #declare Tex_Stone=
 | |
| texture {
 | |
|   pigment {
 | |
| 
 | |
|     agate
 | |
|     color_map {
 | |
|       [0.7 color rgb <0.6,0.6,0.6> ]
 | |
|       [1.0 color rgb 0.46 ]
 | |
|     }
 | |
|     warp { turbulence <0.7,0.4,0.4> }
 | |
|     scale <0.3,1.2,1.2>*0.25
 | |
|     rotate -60*y
 | |
|     rotate 70*z
 | |
|   }
 | |
|   finish {
 | |
|     ambient 0.0//0.1
 | |
|     diffuse 0.5
 | |
|     specular 0.15
 | |
|   }
 | |
|   normal {
 | |
|     granite 0.2
 | |
|     warp {turbulence 1}
 | |
|     scale 0.1
 | |
|   }
 | |
| }
 | |
| 
 | |
| #declare Tex_Floor_A=
 | |
| texture {
 | |
|   pigment {
 | |
|     color rgb <0.6,0.6,0.6>
 | |
|   }
 | |
|   finish {
 | |
|     ambient 0.0
 | |
|     diffuse 0.5
 | |
|     specular 0.15
 | |
|   }
 | |
|   normal {
 | |
|     granite 0.2
 | |
|     warp {turbulence 1}
 | |
|     scale 0.25
 | |
|     translate 2
 | |
|   }
 | |
| }
 | |
| 
 | |
| #declare Tex_Floor_B=
 | |
| texture {
 | |
|   pigment {
 | |
|     color rgb <0.18,0.18,0.22>
 | |
|   }
 | |
|   finish {
 | |
|     ambient 0.0
 | |
|     diffuse 0.5
 | |
|     specular 0.15
 | |
|   }
 | |
|   normal {
 | |
|     granite 0.2
 | |
|     warp {turbulence 1}
 | |
|     scale 0.25
 | |
|   }
 | |
| }
 | |
| 
 | |
| #declare Tex_Floor=
 | |
| texture {
 | |
|   checker
 | |
|   texture { Tex_Floor_A },
 | |
|   texture { Tex_Floor_B }
 | |
|   scale 0.4
 | |
|   rotate 45*z
 | |
| }
 | |
| 
 | |
| /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
 | |
| 
 | |
| #include "shapes.inc"
 | |
| 
 | |
| #declare fn_Rad=
 | |
| function {
 | |
|   sin(pow(abs(z*0.4),1.8))+0.4
 | |
| }
 | |
| 
 | |
| #declare Small_Column_part1=
 | |
| isosurface {
 | |
|   function { min(sqrt( x*x + y*y ) - fn_Rad(x, y, z), sqrt( x*x + y*y + pow(abs(z*2),1.4)) - 1.0) }
 | |
|   max_gradient 1.8
 | |
|   //eval
 | |
|   accuracy 0.001
 | |
|   contained_by { box { -4, 4 } }
 | |
|   translate 4*z
 | |
|   scale 6
 | |
| 
 | |
|   texture { Tex_Stone }
 | |
| }
 | |
| 
 | |
| #declare Small_Column=
 | |
| union {
 | |
|   object { Small_Column_part1 translate 3*z }
 | |
|   object { Round_Cylinder_Union (0, 3*z, 10, 1) }
 | |
|   object { Round_Cylinder_Union (51*z, 54*z, 10, 1) }
 | |
| 
 | |
|   scale 0.01
 | |
| 
 | |
|   translate 0.1*z
 | |
|   texture { Tex_Stone }
 | |
| }
 | |
| 
 | |
| #declare Large_Column=
 | |
| union {
 | |
|   object { Round_Cylinder_Merge (0.7*z, 0.8*z, 0.22, 0.02) }
 | |
| 
 | |
|   cylinder { 0.75*z, 3*z, 0.2 }
 | |
|   object { Round_Box_Union (<-0.23,-0.23,-0.1>, <0.23,0.23,0.15>, 0.02) }
 | |
|   object { Round_Box_Union (<-0.20,-0.20,0.00>, <0.20,0.20,0.70>, 0.02) }
 | |
|   object { Round_Box_Union (<-0.23,-0.23,0.58>, <0.23,0.23,0.70>, 0.02) }
 | |
|   object { Round_Box_Union (<-0.26,-0.26,0.64>, <0.26,0.26,0.74>, 0.02) }
 | |
| 
 | |
|   torus { 0.2, 0.06 rotate 90*x translate 2.74*z }
 | |
| 
 | |
|   object { Round_Box_Union (<-0.26,-0.26,2.80>, <0.26,0.26,2.88>, 0.01) }
 | |
| 
 | |
|   texture { Tex_Stone }
 | |
| }
 | |
| 
 | |
| #declare Balustrade=
 | |
| union {
 | |
|   object { Round_Box_Union (<0.0,-0.15,0>, <5,0.15,0.1>, 0.02) }
 | |
|   object { Round_Box_Union (<0.0,-0.15,0.64>, <5,0.15,0.74>, 0.02) }
 | |
| 
 | |
|   #declare Cnt=0;
 | |
| 
 | |
|   #while (Cnt<10)
 | |
|     object { Small_Column translate(Cnt*0.5+0.6)*x }
 | |
|     #declare Cnt=Cnt+1;
 | |
|   #end
 | |
| 
 | |
|   texture { Tex_Stone }
 | |
| }
 | |
| 
 | |
| #declare Walls=
 | |
| union {
 | |
|   box { <-0.5,-0.5,-1>, <-2,5.5,3.2> }
 | |
|   box { <-0.5,-0.5,-1>, <5.5,-2,3.2> }
 | |
| 
 | |
|   texture { Tex_Stone }
 | |
| }
 | |
| 
 | |
| #declare Ceiling_Segment=
 | |
| union {
 | |
|   box { <-0.20,-0.20,2.94>, <0.20,0.20,2.98> }
 | |
|   box { <-0.14,-0.14,2.94>, <0.14,0.14,3.01> }
 | |
| }
 | |
| 
 | |
| #declare Ceiling=
 | |
| union {
 | |
|   box { <5.6,5.6,3.04>, <-2,-2,3.5> }
 | |
| 
 | |
|   union {
 | |
|     object { Round_Box_Union (<0.0,-0.26,3.1>, <6,0.26,2.88>, 0.02) rotate 180*z }
 | |
|     object { Round_Box_Union (<0.0,-0.26,3.1>, <6,0.26,2.88>, 0.02) rotate -90*z }
 | |
|     translate <5,5,0>
 | |
|   }
 | |
| 
 | |
|   difference {
 | |
|     box { <5.0,5.0,2.95>, <-2,-2,3.5> }
 | |
|     object { Ceiling_Segment translate <4.44,4.44,0> }
 | |
|     object { Ceiling_Segment translate <4.44,3.94,0> }
 | |
|     object { Ceiling_Segment translate <3.94,4.44,0> }
 | |
|     object { Ceiling_Segment translate <3.94,3.94,0> }
 | |
|     object { Ceiling_Segment translate <4.44,3.44,0> }
 | |
|     object { Ceiling_Segment translate <3.44,4.44,0> }
 | |
|     object { Ceiling_Segment translate <3.94,3.44,0> }
 | |
|     object { Ceiling_Segment translate <3.44,3.94,0> }
 | |
|     object { Ceiling_Segment translate <4.44,2.94,0> }
 | |
|     object { Ceiling_Segment translate <2.94,4.44,0> }
 | |
|   }
 | |
| 
 | |
|   texture { Tex_Stone }
 | |
| }
 | |
| 
 | |
| #declare Base=
 | |
| union {
 | |
|   box { <5.4,5.4,0>, <0,0,-1> texture { Tex_Floor } }
 | |
|   box { <6,6,-1>, <0,0,-2> }
 | |
| 
 | |
|   texture { Tex_Stone }
 | |
| }
 | |
| 
 | |
| object { Balustrade rotate 180*z translate <5,5,0> }
 | |
| object { Balustrade rotate -90*z translate <5,5,0> }
 | |
| object { Large_Column translate <5,5,0> }
 | |
| object { Base }
 | |
| object { Walls }
 | |
| object { Ceiling }
 | |
| 
 | |
| /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
 | |
| 
 |