global_settings {
   adc_bailout 0.00392157
   assumed_gamma 1.5
}

light_source {
   <-1.63172, 2.10979, 1.86667>, rgb <1, 1, 1>
}

camera {
   perspective
   location <-0.133333, 0.0333333, 2.43333>
   sky <0, 1, 0>
   direction <0, 0, 1>
   right <1.33333, 0, 0>
   up <0, 1, 0>
   look_at <0, 0, 0>
   angle 45
}

#declare glass1 = material {
   interior {
      ior 1.6
   }
   
   texture {
      finish {
         diffuse 0.2
         specular 0.2
         reflection rgb <0.321569, 0.321569, 0.376471>
      }
      
      pigment {
         color rgbft <0.376471, 0.411765, 0.560784, 0.8, 0.8>
      }
      
      normal {
         bumps
         0.5
         bump_size 1
      }
   }
}

box {
   <-1, -1, -1>, <1, 1, 1>
   
   pigment {
      color rgbt <0, 0, 0, 1>
   }
   scale 1
   rotate <0, 0, 0>
   translate <0, 0, 0>
   no_shadow
   hollow
}

union {
   //*PMName red
   //*PMRawBegin
   #declare Outer = 2;
   #declare Inner = 0.4;
   #declare Freq = 20;
   #declare Phase = 0;
   isosurface {
   function { sqrt(pow(y*Outer - Inner*sin(x*Freq + Phase), 2) + pow(z*Outer - Inner*cos(x*Freq + Phase),2) ) }
   max_gradient 20
   threshold .3
   accuracy .00001
   }
   //*PMRawEnd
   
   pigment {
      color rgb <0.890196, 0.258824, 0.270588>
   }
   
   finish {
      ambient rgb <0.172549, 0.172549, 0.172549>
      diffuse 0.62
      brilliance 0.9
      metallic 1
      specular 0.45
      roughness 0.06
      reflection rgb <0.313725, 0.313725, 0.313725>
   }
}

union {
   //*PMName blue
   //*PMRawBegin
   #declare Outer = 2;
   #declare Inner = 0.4;
   #declare Freq = 20;
   #declare Phase = pi;
   isosurface {
   function { sqrt(pow(y*Outer - Inner*sin(x*Freq + Phase), 2) + pow(z*Outer - Inner*cos(x*Freq + Phase),2) ) }
   max_gradient 20
   threshold .3
   accuracy .00001
   }
   //*PMRawEnd
   
   pigment {
      color rgb <0.0470588, 0.478431, 0.854902>
   }
   
   finish {
      ambient rgb <0.247059, 0.247059, 0.247059>
      diffuse 0.6
      brilliance 1
      metallic 1
      specular 0.5
      roughness 0.05
      reflection rgb <0.470588, 0.470588, 0.470588>
   }
}

union {
   //*PMName orange
   //*PMRawBegin
   #declare Outer = 2;
   #declare Inner = 0.9;
   #declare Freq = 10;
   #declare Phase = pi/2;
   isosurface {
   function { sqrt(pow(y*Outer - Inner*sin(x*Freq + Phase), 2) + pow(z*Outer - Inner*cos(x*Freq + Phase),2) ) }
   max_gradient 20
   threshold .3
   accuracy .00001
   }
   //*PMRawEnd
   
   pigment {
      color rgb <0.796078, 0.470588, 0.168627>
   }
   
   finish {
      ambient rgb <0.247059, 0.247059, 0.247059>
      diffuse 0.6
      brilliance 1
      metallic 1
      specular 0.5
      roughness 0.05
      reflection rgb <0.592157, 0.592157, 0.592157>
   }
}

union {
   //*PMName purple
   //*PMRawBegin
   #declare Outer = 2;
   #declare Inner = 0.9;
   #declare Freq = 10;
   #declare Phase = 3*pi/2;
   isosurface {
   function { sqrt(pow(y*Outer - Inner*sin(x*Freq + Phase), 2) + pow(z*Outer - Inner*cos(x*Freq + Phase),2) ) }
   max_gradient 20
   threshold .3
   accuracy .00001
   }
   //*PMRawEnd
   
   pigment {
      color rgb <0.0627451, 0.662745, 0.705882>
   }
   
   finish {
      ambient rgb <0.247059, 0.247059, 0.247059>
      diffuse 0.6
      brilliance 1
      metallic 1
      specular 0.5
      roughness 0.05
      reflection rgb <0.560784, 0.560784, 0.560784>
   }
}