mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			383 lines
		
	
	
		
			9.3 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			383 lines
		
	
	
		
			9.3 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: chair.inc
 | 
						|
// Desc: chair 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_Table_Foot=
 | 
						|
texture {
 | 
						|
  pigment {
 | 
						|
    color rgb 0.4
 | 
						|
  }
 | 
						|
  finish {
 | 
						|
    ambient 0.0
 | 
						|
    diffuse 0.3
 | 
						|
    specular 0.4
 | 
						|
    roughness 0.01
 | 
						|
    metallic
 | 
						|
 | 
						|
    reflection {
 | 
						|
      0.8
 | 
						|
      metallic
 | 
						|
    }
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
#declare Tex_Table_Foot_Bottom=
 | 
						|
texture {
 | 
						|
  pigment {
 | 
						|
    color rgb 0.2
 | 
						|
  }
 | 
						|
  finish {
 | 
						|
    ambient 0.0
 | 
						|
    diffuse 0.3
 | 
						|
    specular 0.4
 | 
						|
    roughness 0.02
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
#declare Tex_Dark_Wood=
 | 
						|
texture {
 | 
						|
  pigment {
 | 
						|
    bozo
 | 
						|
    color_map {
 | 
						|
      [0.3 color rgb <0.0,0.0,0.16> ]
 | 
						|
      [0.5 color rgb <0.0,0.0,0.08> ]
 | 
						|
      [0.7 color rgb <0.0,0.0,0.0> ]
 | 
						|
    }
 | 
						|
    scale <4,1,1>*0.036
 | 
						|
  }
 | 
						|
  finish {
 | 
						|
    ambient 0.09
 | 
						|
    diffuse 0.3
 | 
						|
    specular 0.5
 | 
						|
    roughness 0.025
 | 
						|
 | 
						|
    reflection {
 | 
						|
      0.15
 | 
						|
      metallic
 | 
						|
    }
 | 
						|
  }
 | 
						|
  normal {
 | 
						|
    granite 0.1
 | 
						|
    scale 0.03
 | 
						|
    accuracy 0.007
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
 | 
						|
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
 | 
						|
 | 
						|
#include "shapes.inc"
 | 
						|
 | 
						|
#local Chair_Tube_Rad=0.01;
 | 
						|
#local Chair_Tube_Curve_Rad=0.045;
 | 
						|
#local Chair_Leg_Angle=7;
 | 
						|
#local Chair_Leg_AngleA=4;
 | 
						|
#local Chair_Leg_Depth=0.13;
 | 
						|
 | 
						|
#local Chair_Plate_Curve_Rad=0.03;
 | 
						|
#local Chair_Plate_Thickness=0.008;
 | 
						|
#local Chair_Plate_Width=0.48;
 | 
						|
#local Chair_Plate_UWidth=0.22;
 | 
						|
#local Chair_Plate_Height=0.45;
 | 
						|
#local Chair_Plate_UAngle=5;
 | 
						|
#local Chair_Plate_Depth=0.26;
 | 
						|
 | 
						|
#local Chair_Leg=
 | 
						|
union {
 | 
						|
 | 
						|
  intersection {
 | 
						|
    torus { Chair_Tube_Curve_Rad, Chair_Tube_Rad }
 | 
						|
    plane { x, 0 }
 | 
						|
    plane { -x, 0 rotate (-90+Chair_Leg_Angle)*y }
 | 
						|
  }
 | 
						|
 | 
						|
  cylinder {
 | 
						|
    <-Chair_Tube_Curve_Rad,0,0>,
 | 
						|
    <-Chair_Tube_Curve_Rad,0,-Chair_Plate_Height+0.01>, Chair_Tube_Rad
 | 
						|
    rotate Chair_Leg_Angle*y
 | 
						|
  }
 | 
						|
  cylinder {
 | 
						|
    <0,0,Chair_Tube_Curve_Rad>,
 | 
						|
    <Chair_Leg_Depth,0,Chair_Tube_Curve_Rad>, Chair_Tube_Rad
 | 
						|
  }
 | 
						|
 | 
						|
  object { Round_Cylinder_Merge (
 | 
						|
    <-Chair_Tube_Curve_Rad,0,-Chair_Plate_Height-0.003>,
 | 
						|
    <-Chair_Tube_Curve_Rad,0,-Chair_Plate_Height+0.025>, Chair_Tube_Rad+0.001, 0.005)
 | 
						|
    rotate Chair_Leg_Angle*y
 | 
						|
    texture { Tex_Table_Foot_Bottom }
 | 
						|
  }
 | 
						|
 | 
						|
  translate -Chair_Leg_Depth*x
 | 
						|
 | 
						|
  translate Chair_Plate_Height*cos(radians(Chair_Leg_Angle))*z
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
#macro Chair_Back(Rotate)
 | 
						|
union {
 | 
						|
 | 
						|
  intersection {
 | 
						|
    torus { Chair_Tube_Curve_Rad, Chair_Tube_Rad }
 | 
						|
    plane { x, 0 }
 | 
						|
    plane { z, 0 }
 | 
						|
 | 
						|
    translate <-Chair_Leg_Depth, 0.0,Chair_Tube_Curve_Rad*2>
 | 
						|
  }
 | 
						|
 | 
						|
  cylinder {
 | 
						|
    <-0.08, 0.0,Chair_Tube_Curve_Rad>,
 | 
						|
    < 0.05, 0.0,Chair_Tube_Curve_Rad>, Chair_Tube_Rad
 | 
						|
  }
 | 
						|
 | 
						|
  intersection {
 | 
						|
    torus { 4, Chair_Tube_Rad }
 | 
						|
    plane { z, 0.4 }
 | 
						|
    plane { -z, 0 }
 | 
						|
 | 
						|
    translate <-4-Chair_Leg_Depth-Chair_Tube_Curve_Rad, 0.0,Chair_Tube_Curve_Rad*2>
 | 
						|
  }
 | 
						|
 | 
						|
  translate -Chair_Tube_Curve_Rad*z
 | 
						|
 | 
						|
  rotate 3*y
 | 
						|
  rotate Rotate*x
 | 
						|
 | 
						|
  translate Chair_Tube_Curve_Rad*z
 | 
						|
 | 
						|
  translate Chair_Plate_Height*cos(radians(Chair_Leg_Angle))*z
 | 
						|
 | 
						|
 | 
						|
}
 | 
						|
#end
 | 
						|
 | 
						|
#local Chair_Base=
 | 
						|
union {
 | 
						|
 | 
						|
  union {
 | 
						|
    object { Chair_Back(-0.25) translate  Chair_Tube_Rad*2*y }
 | 
						|
 | 
						|
    object { Chair_Leg }
 | 
						|
    object { Chair_Leg rotate 180*z }
 | 
						|
    rotate -Chair_Leg_AngleA*x
 | 
						|
    translate -0.23*y
 | 
						|
  }
 | 
						|
  union {
 | 
						|
    object { Chair_Back( 0.25) translate -Chair_Tube_Rad*2*y }
 | 
						|
 | 
						|
    object { Chair_Leg }
 | 
						|
    object { Chair_Leg rotate 180*z }
 | 
						|
    rotate Chair_Leg_AngleA*x
 | 
						|
    translate 0.23*y
 | 
						|
  }
 | 
						|
 | 
						|
  texture { Tex_Table_Foot }
 | 
						|
}
 | 
						|
 | 
						|
#local Chair_Plate=
 | 
						|
union {
 | 
						|
 | 
						|
  intersection {
 | 
						|
    merge {
 | 
						|
      torus { Chair_Plate_Curve_Rad, Chair_Plate_Thickness translate  (Chair_Plate_Width/2)*y }
 | 
						|
      torus { Chair_Plate_Curve_Rad, Chair_Plate_Thickness translate -(Chair_Plate_Width/2)*y }
 | 
						|
 | 
						|
      difference {
 | 
						|
        cylinder {
 | 
						|
          -(Chair_Plate_Width/2)*y, (Chair_Plate_Width/2)*y,
 | 
						|
          Chair_Plate_Curve_Rad+Chair_Plate_Thickness
 | 
						|
        }
 | 
						|
        cylinder {
 | 
						|
          -(Chair_Plate_Width/1.8)*y, (Chair_Plate_Width/1.8)*y,
 | 
						|
          Chair_Plate_Curve_Rad-Chair_Plate_Thickness
 | 
						|
        }
 | 
						|
      }
 | 
						|
    }
 | 
						|
 | 
						|
    plane { -z, 0 rotate -20*y}
 | 
						|
    plane { -x, 0 }
 | 
						|
  }
 | 
						|
 | 
						|
 | 
						|
  merge {
 | 
						|
    cylinder {
 | 
						|
      <0.0, -Chair_Plate_Width/2, Chair_Plate_Curve_Rad>
 | 
						|
      <0.0,  Chair_Plate_Width/2, Chair_Plate_Curve_Rad>,
 | 
						|
      Chair_Plate_Thickness
 | 
						|
    }
 | 
						|
 | 
						|
    sphere { <0.0, -Chair_Plate_Width/2, Chair_Plate_Curve_Rad>, Chair_Plate_Thickness }
 | 
						|
    sphere { <0.0,  Chair_Plate_Width/2, Chair_Plate_Curve_Rad>, Chair_Plate_Thickness }
 | 
						|
 | 
						|
    rotate 70*y
 | 
						|
  }
 | 
						|
 | 
						|
  box {
 | 
						|
    < 0.00, -Chair_Plate_Width/2, Chair_Plate_Curve_Rad-Chair_Plate_Thickness>,
 | 
						|
    <-Chair_Plate_Depth,  Chair_Plate_Width/2, Chair_Plate_Curve_Rad+Chair_Plate_Thickness>
 | 
						|
  }
 | 
						|
  cylinder {
 | 
						|
    < 0.00, -Chair_Plate_Width/2, Chair_Plate_Curve_Rad>
 | 
						|
    <-Chair_Plate_Depth, -Chair_Plate_Width/2, Chair_Plate_Curve_Rad>,
 | 
						|
    Chair_Plate_Thickness
 | 
						|
  }
 | 
						|
  cylinder {
 | 
						|
    < 0.00,  Chair_Plate_Width/2, Chair_Plate_Curve_Rad>
 | 
						|
    <-Chair_Plate_Depth,  Chair_Plate_Width/2, Chair_Plate_Curve_Rad>,
 | 
						|
    Chair_Plate_Thickness
 | 
						|
  }
 | 
						|
 | 
						|
  box {
 | 
						|
    <-Chair_Plate_Depth, -Chair_Plate_Width/2+Chair_Plate_Curve_Rad,
 | 
						|
      Chair_Plate_Curve_Rad-Chair_Plate_Thickness>,
 | 
						|
    <-Chair_Plate_Depth-Chair_Plate_Curve_Rad,  Chair_Plate_Width/2-Chair_Plate_Curve_Rad,
 | 
						|
      Chair_Plate_Curve_Rad+Chair_Plate_Thickness>
 | 
						|
  }
 | 
						|
 | 
						|
  cylinder {
 | 
						|
    <-Chair_Plate_Depth,  Chair_Plate_Width/2-Chair_Plate_Curve_Rad,
 | 
						|
      Chair_Plate_Curve_Rad-Chair_Plate_Thickness>
 | 
						|
    <-Chair_Plate_Depth,  Chair_Plate_Width/2-Chair_Plate_Curve_Rad,
 | 
						|
      Chair_Plate_Curve_Rad+Chair_Plate_Thickness>,
 | 
						|
    Chair_Plate_Curve_Rad
 | 
						|
  }
 | 
						|
  cylinder {
 | 
						|
    <-Chair_Plate_Depth, -Chair_Plate_Width/2+Chair_Plate_Curve_Rad,
 | 
						|
      Chair_Plate_Curve_Rad-Chair_Plate_Thickness>
 | 
						|
    <-Chair_Plate_Depth, -Chair_Plate_Width/2+Chair_Plate_Curve_Rad,
 | 
						|
      Chair_Plate_Curve_Rad+Chair_Plate_Thickness>,
 | 
						|
    Chair_Plate_Curve_Rad
 | 
						|
  }
 | 
						|
  torus {
 | 
						|
    Chair_Plate_Curve_Rad, Chair_Plate_Thickness
 | 
						|
    rotate 90*x
 | 
						|
    translate <-Chair_Plate_Depth,
 | 
						|
               -Chair_Plate_Width/2+Chair_Plate_Curve_Rad, Chair_Plate_Curve_Rad>
 | 
						|
  }
 | 
						|
  torus {
 | 
						|
    Chair_Plate_Curve_Rad, Chair_Plate_Thickness
 | 
						|
    rotate 90*x
 | 
						|
    translate <-Chair_Plate_Depth,
 | 
						|
                Chair_Plate_Width/2-Chair_Plate_Curve_Rad, Chair_Plate_Curve_Rad>
 | 
						|
  }
 | 
						|
 | 
						|
  translate (Chair_Plate_Height+0.03)*z
 | 
						|
  translate 0.18*x
 | 
						|
}
 | 
						|
 | 
						|
#local Chair_Back_Plate=
 | 
						|
union {
 | 
						|
  intersection {
 | 
						|
    union {
 | 
						|
      intersection {
 | 
						|
        difference {
 | 
						|
          cylinder { <0.0, -0.30, 0.0>, <0.0,  0.30, 0.0>, 4+2*Chair_Plate_Thickness }
 | 
						|
          cylinder { <0.0, -0.40, 0.0>, <0.0,  0.40, 0.0>, 4 }
 | 
						|
        }
 | 
						|
        plane {  y, Chair_Plate_UWidth rotate  Chair_Plate_UAngle*x }
 | 
						|
        plane { -y, Chair_Plate_UWidth rotate -Chair_Plate_UAngle*x }
 | 
						|
      }
 | 
						|
 | 
						|
      torus {
 | 
						|
        4+Chair_Plate_Thickness, Chair_Plate_Thickness
 | 
						|
        scale <1, 1, 1/cos(radians(Chair_Plate_UAngle))>
 | 
						|
        rotate  Chair_Plate_UAngle*x
 | 
						|
        translate  Chair_Plate_UWidth*y
 | 
						|
      }
 | 
						|
 | 
						|
      torus {
 | 
						|
        4+Chair_Plate_Thickness, Chair_Plate_Thickness
 | 
						|
        scale <1, 1, 1/cos(radians(Chair_Plate_UAngle))>
 | 
						|
        rotate -Chair_Plate_UAngle*x
 | 
						|
        translate -Chair_Plate_UWidth*y
 | 
						|
      }
 | 
						|
    }
 | 
						|
 | 
						|
    plane { z, 0 rotate -8*y }
 | 
						|
    plane { -z, 0 rotate -0.2*y }
 | 
						|
  }
 | 
						|
 | 
						|
  intersection {
 | 
						|
    union {
 | 
						|
      cylinder {
 | 
						|
        <4+Chair_Plate_Thickness,  0.3, 0.0>,
 | 
						|
        <4+Chair_Plate_Thickness, -0.3, 0.0>,
 | 
						|
        Chair_Plate_Thickness
 | 
						|
        rotate -0.2*y
 | 
						|
      }
 | 
						|
      cylinder {
 | 
						|
        <4+Chair_Plate_Thickness,  0.3, 0.0>,
 | 
						|
        <4+Chair_Plate_Thickness, -0.3, 0.0>,
 | 
						|
        Chair_Plate_Thickness
 | 
						|
        rotate -8*y
 | 
						|
      }
 | 
						|
    }
 | 
						|
    plane {  y, Chair_Plate_UWidth rotate  Chair_Plate_UAngle*x }
 | 
						|
    plane { -y, Chair_Plate_UWidth rotate -Chair_Plate_UAngle*x }
 | 
						|
  }
 | 
						|
  sphere {
 | 
						|
    <4+Chair_Plate_Thickness,  Chair_Plate_UWidth, 0.0>,
 | 
						|
    Chair_Plate_Thickness
 | 
						|
    rotate -0.2*y
 | 
						|
  }
 | 
						|
  sphere {
 | 
						|
    <4+Chair_Plate_Thickness, -Chair_Plate_UWidth, 0.0>,
 | 
						|
    Chair_Plate_Thickness
 | 
						|
    rotate -0.2*y
 | 
						|
  }
 | 
						|
 | 
						|
  sphere {
 | 
						|
    <4+Chair_Plate_Thickness,
 | 
						|
     Chair_Plate_UWidth-4*sin(radians(Chair_Plate_UAngle))*sin(radians(8)), 0.0>,
 | 
						|
    Chair_Plate_Thickness
 | 
						|
    rotate -8*y
 | 
						|
  }
 | 
						|
  sphere {
 | 
						|
    <4+Chair_Plate_Thickness,
 | 
						|
    -Chair_Plate_UWidth+4*sin(radians(Chair_Plate_UAngle))*sin(radians(8)), 0.0>,
 | 
						|
    Chair_Plate_Thickness
 | 
						|
    rotate -8*y
 | 
						|
  }
 | 
						|
 | 
						|
 | 
						|
  translate <-4-Chair_Leg_Depth-Chair_Tube_Curve_Rad+Chair_Tube_Rad,
 | 
						|
             0.0, Chair_Tube_Curve_Rad*2>
 | 
						|
 | 
						|
  translate -Chair_Tube_Curve_Rad*z
 | 
						|
 | 
						|
  rotate 3*y
 | 
						|
 | 
						|
  translate Chair_Tube_Curve_Rad*z
 | 
						|
 | 
						|
  translate Chair_Plate_Height*cos(radians(Chair_Leg_Angle))*z
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
union {
 | 
						|
  object { Chair_Back_Plate texture { Tex_Dark_Wood rotate 90*y } }
 | 
						|
  object { Chair_Plate texture { Tex_Dark_Wood } }
 | 
						|
 | 
						|
  object { Chair_Base }
 | 
						|
  scale 0.92
 | 
						|
  rotate -60*z
 | 
						|
  translate <2.68,3.35,0>
 | 
						|
}
 | 
						|
 | 
						|
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
 |