/** 
  Description: The glass in my kitchen
  Object Name: Glass_Cup
  Sub-parts  : Glass_Top, Glass_Base
  Textures   : Glass_Texture
  Position   : Base of glass at origin
**/

#declare Glass_Inside =
  superellipsoid{
    <1,0.4> 
    rotate x*90
    scale 2.05
    translate y*2.8
    scale <1,1.5,1>
  }

#declare Glass_Top=
  merge{
    torus{ 2.18,0.075 translate y*5.01 }
    difference{
      cylinder{ y*0.99 y*5 2.25  }
      object { Glass_Inside }
    }
  }

#declare Glass_Base=
  difference{
    merge{
      cylinder{<0,-0.25,0> <0,1,0> 2 }
      cylinder{<0,0, 0> <0,1,0> 2.25 }
      torus{ 2, .25 }
    }
    sphere{
      <0,0.5,0>, 0.25
    }
  }

#declare Glass_Cup=
  merge{
    object { Glass_Base }
    object {Glass_Top}
    translate y*0.25 // place it above the origin
  }

#declare Glass_Texture= texture {
  pigment{ color rgbf <0.98, 1.0, 0.99, 0.75> }
  finish {
    ambient 0.1
    diffuse 0.1
    reflection .2
    refraction 1
    ior 1.5
    specular 1
    roughness .001
  }
}








    Source: geocities.com/siliconvalley/sector/1057

               ( geocities.com/siliconvalley/sector)                   ( geocities.com/siliconvalley)