mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 09:40:21 +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 }
|
|
|
|
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
|
|