POV-Ray : Newsgroups : povray.text.scene-files : Wanted: POV-source for diamond shape Server Time
25 Dec 2024 12:31:02 EST (-0500)
  Wanted: POV-source for diamond shape (Message 1 to 5 of 5)  
From: Niek Bergboer
Subject: Wanted: POV-source for diamond shape
Date: 15 Aug 1999 09:04:11
Message: <37B6BA8E.C5D3FA52@student.utwente.nl>
Hi all,

I'm looking for a POV-Ray object-source of a round-brilliant cut
diamond. I.e.: the "classical" shape of a diamond with 58 faces.
Does anybody have one that I could use?

Thanks in advance,

Niek Bergboer
n.h### [at] studentutwentenl


Post a reply to this message

From: Spock
Subject: Re: Wanted: POV-source for diamond shape
Date: 15 Aug 1999 09:30:33
Message: <37b6c0f9@news.povray.org>
See posting to povray.binaries.scene-files
by Jerome Grimbert on January 6th 1999.

Niek Bergboer <n.h### [at] studentutwentenl> wrote in message
news:37B6BA8E.C5D3FA52@student.utwente.nl...
> Hi all,
>
> I'm looking for a POV-Ray object-source of a round-brilliant cut
> diamond. I.e.: the "classical" shape of a diamond with 58 faces.
> Does anybody have one that I could use?
>
> Thanks in advance,
>
> Niek Bergboer
> n.h### [at] studentutwentenl
>


Post a reply to this message

From: Ken
Subject: Re: Wanted: POV-source for diamond shape
Date: 15 Aug 1999 09:40:26
Message: <37B6C33E.1AED4807@pacbell.net>
Niek Bergboer wrote:
> 
> Hi all,
> 
> I'm looking for a POV-Ray object-source of a round-brilliant cut
> diamond. I.e.: the "classical" shape of a diamond with 58 faces.
> Does anybody have one that I could use?
> 
> Thanks in advance,
> 
> Niek Bergboer
> n.h### [at] studentutwentenl

Look in povray.binaries.scene-files. There was the pov source for a
brilliant cut diamond posted on 01-05-1999 by Jerome. It should do
what you want.

Also try the source below for both textures and some gemstone cuts you may find
find useful.


// Textures
#version 2.0;
#declare Blue_Diamond_Texture =
texture {
  tiles {
    texture {
      pigment {
        color red 0.80 green 0.90 blue 1.00 filter 0.99
      }
      finish {
        specular 1
        roughness 0.001
        diffuse 0
        reflection 0.99
        refraction 1
        ior 2.417
        ambient 0.5
      }
    }
  tile2
    texture {
      tiles {
        texture {
          pigment {
            color red 0.80 green 0.90 blue 1.00 filter 0.99
          }
          finish {
            specular 1
            roughness 0.001
            diffuse 0
            reflection 0.99
            refraction 1
            ior 2.417
            ambient 0.5
          }
        }
      tile2
        texture {
          pigment {
            gradient x
            turbulence 1
            omega 0.8
            color_map {
              [0.00 color red 0.80 green 0.90 blue 1.00 filter 0.99]
              [0.60 color red 0.80 green 0.90 blue 1.00 filter 0.99]
              [0.60 color red 1.00 green 0.80 blue 0.80 filter 0.99]
              [0.70 color red 1.00 green 1.00 blue 0.80 filter 0.99]
              [0.80 color red 0.80 green 1.00 blue 0.80 filter 0.99]
              [0.90 color red 0.80 green 0.80 blue 1.00 filter 0.99]
              [1.00 color red 1.00 green 0.80 blue 1.00 filter 0.99]
            }
          }
          finish {
            specular 1
            roughness 0.001
            diffuse 0
            reflection 0.99
            refraction 1
            ior 2.417
            ambient 0.5
          }
          scale <30, 30, 30>
        }
      }
      scale <0.2, 0.2, 0.2>
    }
  }
  translate <-0.5, 0, 0.5>
  scale <1.2, 5, 1.2>
}

#version 3.1;
#declare Chrysopras_Texture =
texture {
  pigment {
    bozo
    color_map {
      [0 1 color red 0.00 green 0.50 blue 0.20 filter 0.47
           color red 0.00 green 0.55 blue 0.45 filter 0.47]
    }
  }
  finish {
    specular 1
    roughness 0.0007
    brilliance 0.1
    diffuse 0.7
    reflection 0.1
  }
}

#version 2.0;
#declare Diamond_Texture =
texture {
  tiles {
    texture {
      pigment {
        color red 1.00 green 1.00 blue 1.00 filter 0.99
      }
      finish {
        specular 1
        roughness 0.001
        diffuse 0
        reflection 0.99
        refraction 1
        ior 2.417
        ambient 0.5
      }
    }
  tile2
    texture {
      tiles {
        texture {
          pigment {
            color red 1.00 green 1.00 blue 1.00 filter 0.99
          }
            finish {
            specular 1
            roughness 0.001
            diffuse 0
            reflection 0.99
            refraction 1
            ior 2.417
            ambient 0.5
          }
        }
      tile2
        texture {
          pigment {
            gradient x
            turbulence 1
            omega 0.8
            color_map {
              [0.00 color red 1.00 green 1.00 blue 1.00 filter 0.99]
              [0.60 color red 1.00 green 1.00 blue 1.00 filter 0.99]
              [0.60 color red 1.00 green 0.80 blue 0.80 filter 0.99]
              [0.70 color red 1.00 green 1.00 blue 0.80 filter 0.99]
              [0.80 color red 0.80 green 1.00 blue 0.80 filter 0.99]
              [0.90 color red 0.80 green 0.80 blue 1.00 filter 0.99]
              [1.00 color red 1.00 green 0.80 blue 1.00 filter 0.99]
            }
          }
          finish {
            specular 1
            roughness 0.001
            diffuse 0
            reflection 0.99
            refraction 1
            ior 2.417
            ambient 0.5
          }
          scale <30, 30, 30>
        }
      }
      scale <0.2, 0.2, 0.2>
    }
  }
  translate <-0.5, 0, 0.5>
  scale <1.2, 5, 1.2>
}

#version 3.1;
#declare Emerald_Texture =
material {
  texture {
   pigment {
    color red 0.35 green 0.95 blue 0.70 filter 0.90
  }
  finish {
    specular 1
    roughness 0.001
    diffuse 0
    reflection 0.99
    ambient 0.3
    }
  }
  interior { ior 1.58 }
}


#declare Opal_Texture =
texture {
  pigment {
    granite
    color_map {
      [0.00 color red 0.00 green 0.50 blue 0.40 filter 0.30]
      [0.20 color red 0.10 green 0.45 blue 0.60 filter 0.30]
      [0.50 color red 0.10 green 0.30 blue 0.60 filter 0.30]
      [1.00 color red 1.00 green 0.45 blue 0.45 filter 0.30]
    }
  }
  finish {
    specular 1
    roughness 0.0007
    brilliance 0.1
    diffuse 0.7
    reflection 0.1
  }
  scale <0.5, 0.5, 0.5>
}

#version 2.0;
#declare Pink_Diamond_Texture =
texture {
  tiles {
    texture {
      pigment {
        color red 1.00 green 0.90 blue 0.95 filter 0.99
      }
      finish {
        specular 1
        roughness 0.001
        diffuse 0
        reflection 0.99
        refraction 1
        ior 2.417
        ambient 0.5
      }
    }
  tile2
    texture {
      tiles {
        texture {
          pigment {
            color red 1.00 green 0.90 blue 0.95 filter 0.99
          }
          finish {
            specular 1
            roughness 0.001
            diffuse 0
            reflection 0.99
            refraction 1
            ior 2.417
            ambient 0.5
          }
        }
      tile2
        texture {
          pigment {
            gradient x
            turbulence 1
            omega 0.8
            color_map {
              [0.00 color red 1.00 green 0.90 blue 0.95 filter 0.99]
              [0.60 color red 1.00 green 0.90 blue 0.95 filter 0.99]
              [0.60 color red 1.00 green 0.80 blue 0.80 filter 0.99]
              [0.70 color red 1.00 green 1.00 blue 0.80 filter 0.99]
              [0.80 color red 0.80 green 1.00 blue 0.80 filter 0.99]
              [0.90 color red 0.80 green 0.80 blue 1.00 filter 0.99]
              [1.00 color red 1.00 green 0.80 blue 1.00 filter 0.99]
            }
          }
          finish {
            specular 1
            roughness 0.001
            diffuse 0
            reflection 0.99
            refraction 1
            ior 2.417
            ambient 0.5
          }
          scale <30, 30, 30>
        }
      }
      scale <0.2, 0.2, 0.2>
    }
  }
  translate <-0.5, 0, 0.5>
  scale <1.2, 5, 1.2>
}


#version 3.1;
#declare Ruby_Texture =
material {
  texture {
    pigment {
    color red 1.00 green 0.50 blue 0.55 filter 0.95
  }
  finish {
    specular 1
    roughness 0.001
    diffuse 0
    reflection 0.99
    ambient 0.4
    }
  }
  interior { ior 1.77 }
}

#declare Saphire_Texture =
material {
  texture {
   pigment {
    color red 0.60 green 0.85 blue 1.00 filter 0.95
  }
  finish {
    specular 1
    roughness 0.001
    diffuse 0
    reflection 0.99
    ambient 0.4
    }
  }
 interior { ior 1.77 }
}


// Layer one of star ruby. Make the star by three layers of this
// turned 0 30 and 60 degrees.
#declare StarRuby_Texture_1 =
texture {
  pigment {
    marble
    color_map {
      [0.00 color red 1.00 green 0.90 blue 0.96 filter 0.45]
      [0.01 color red 1.00 green 0.90 blue 0.96 filter 1.00]
      [1.00 color red 1.00 green 0.90 blue 0.96 filter 1.00]
    }
  }
  finish {
    specular 1
    roughness 0.001
    brilliance 1.8
    diffuse 0.7
  }
  scale <10, 10, 10>
  rotate <0, 0, 0>
}

// Layer two of star ruby.
#declare StarRuby_Texture_2 =
material {
  texture {
   pigment {
    granite
    turbulence 0.7
    color_map {
      [0.00 color red 1.00 green 0.23 blue 0.55 filter 0.30]
      [0.20 color red 0.93 green 0.23 blue 0.35 filter 0.35]
      [1.00 color red 0.93 green 0.23 blue 0.35 filter 0.55]
    }
  }
  finish {
    specular 1
    roughness 0.001
    diffuse 0.3
     ambient 0.4
   }
  }
 interior { ior 1.77 }
}

// Layer one of star saphire. Make the star by three layers of this
// turned 0 30 and 60 degrees.
#declare StarSaphire_Texture_1 =
texture {
  pigment {
    marble
    color_map {
      [0.00 color red 0.85 green 0.95 blue 1.00 filter 0.45]
      [0.01 color red 0.85 green 0.95 blue 1.00 filter 1.00]
      [1.00 color red 0.85 green 0.95 blue 1.00 filter 1.00]
    }
  }
  finish {
    specular 1
    roughness 0.001
    brilliance 1.8
    diffuse 0.7
  }
  scale <10, 10, 10>
  rotate <0, 0, 0>
}

// Layer two of star saphire.
#declare StarSaphire_Texture_2 =
material {
  texture {
   pigment {
     granite
     turbulence 0.7
     color_map {
       [0.00 color red 0.10 green 0.60 blue 0.75 filter 0.35]
       [0.20 color red 0.10 green 0.55 blue 0.75 filter 0.40]
       [1.00 color red 0.10 green 0.55 blue 0.75 filter 0.50]
     }
   }
  finish {
    specular 1
    roughness 0.001
    diffuse 0.3
    ambient 0.4
   }
 }
 interior {  ior 1.77 }
}


/***************/

// Gem Objects

#declare Brillant57 =
difference {
  intersection {
    union {
      cone { <0, -2, 0> 0 <0, 0, 0> 1 }
      cone { <0, 2, 0> 0 <0, 0, 0> 1 }
    }
  cylinder { <0, -4, 0> <0, 4, 0> 0.97 }
  }
  union {
    box { <-4, 0.324, -4> <4, 4, 4> }
    union {
      box { <-4, 0, -4> <4, 4, 4>
        rotate <0, 0, -34.50>
        translate <1, 0, 0>
      }
      box { <-4, 0, -4> <4, 4, 4>
        rotate <0, 0, 34.50>
        translate <-1, 0, 0>
      }
      box { <-4, 0, -4> <4, 4, 4>
        rotate <-34.50, 0, 0>
        translate <0, 0, -1>
      }
      box { <-4, 0, -4> <4, 4, 4>
        rotate <34.50, 0, 0>
        translate <0, 0, 1>
      }
    }
    union {
      box { <-4, 0, -4> <4, 4, 4>
        rotate <0, 0, -34.50>
        translate <1, 0, 0>
      }
      box { <-4, 0, -4> <4, 4, 4>
        rotate <0, 0, 34.50>
        translate <-1, 0, 0>
      }
      box { <-4, 0, -4> <4, 4, 4>
        rotate <-34.50, 0, 0>
        translate <0, 0, -1>
      }
      box { <-4, 0, -4> <4, 4, 4>
        rotate <34.50, 0, 0>
        translate <0, 0, 1>
      }
      rotate <0, 45, 0>
    }
    union {
      box { <-4, -4, -4> <4, 0, 4>
        rotate <0, 0, -40.75>
        translate <-1, 0, 0>
      }
      box { <-4, -4, -4> <4, 0, 4>
        rotate <0, 0, 40.75>
        translate <1, 0, 0>
      }
      box { <-4, -4, -4> <4, 0, 4>
        rotate <-40.75, 0, 0>
        translate <0, 0, 1>
      }
      box { <-4, -4, -4> <4, 0, 4>
        rotate <40.75, 0, 0>
        translate <0, 0, -1>
      }
    }
    union {
      box { <-4, -4, -4> <4, 0, 4>
        rotate <0, 0, -40.75>
        translate <-1, 0, 0>
      }
      box { <-4, -4, -4> <4, 0, 4>
        rotate <0, 0, 40.75>
        translate <1, 0, 0>
      }
      box { <-4, -4, -4> <4, 0, 4>
        rotate <-40.75, 0, 0>
        translate <0, 0, 1>
      }
      box { <-4, -4, -4> <4, 0, 4>
        rotate <40.75, 0, 0>
        translate <0, 0, -1>
      }
      rotate <0, 45, 0>
    }
    union {
      box { <-4, 0, -4> <4, 4, 4>
        rotate <0, 0, -22>
        translate <1.285, 0, 0>
      }
      box { <-4, 0, -4> <4, 4, 4>
        rotate <0, 0, 22>
        translate <-1.285, 0, 0>
      }
      box { <-4, 0, -4> <4, 4, 4>
        rotate <-22, 0, 0>
        translate <0, 0, -1.285>
      }
      box { <-4, 0, -4> <4, 4, 4>
        rotate <22, 0, 0>
        translate <0, 0, 1.285>
      }
      rotate <0, -22.5, 0>
    }
    union {
      box { <-4, 0, -4> <4, 4, 4>
        rotate <0, 0, -22>
        translate <1.285, 0, 0>
      }
      box { <-4, 0, -4> <4, 4, 4>
        rotate <0, 0, 22>
        translate <-1.285, 0, 0>
      }
      box { <-4, 0, -4> <4, 4, 4>
        rotate <-22, 0, 0>
        translate <0, 0, -1.285>
      }
      box { <-4, 0, -4> <4, 4, 4>
        rotate <22, 0, 0>
        translate <0, 0, 1.285>
      }
      rotate <0, 22.5, 0>
    }
    union {
      box { <-4, 0, -4> <4, 4, 4>
        rotate <0, 0, -40>
        translate <0.98, 0, 0>
      }
      box { <-4, 0, -4> <4, 4, 4>
        rotate <0, 0, 40>
        translate <-0.98, 0, 0>
      }
      box { <-4, 0, -4> <4, 4, 4>
        rotate <-40, 0, 0>
        translate <0, 0, -0.98>
      }
      box { <-4, 0, -4> <4, 4, 4>
        rotate <40, 0, 0>
        translate <0, 0, 0.98>
      }
      rotate <0, -11.25, 0>
    }
    union {
      box { <-4, 0, -4> <4, 4, 4>
        rotate <0, 0, -40>
        translate <0.98, 0, 0>
      }
      box { <-4, 0, -4> <4, 4, 4>
        rotate <0, 0, 40>
        translate <-0.98, 0, 0>
      }
      box { <-4, 0, -4> <4, 4, 4>
        rotate <-40, 0, 0>
        translate <0, 0, -0.98>
      }
      box { <-4, 0, -4> <4, 4, 4>
        rotate <40, 0, 0>
        translate <0, 0, 0.98>
      }
      rotate <0, -33.75, 0>
    }
    union {
      box { <-4, 0, -4> <4, 4, 4>
        rotate <0, 0, -40>
        translate <0.98, 0, 0>
      }
      box { <-4, 0, -4> <4, 4, 4>
        rotate <0, 0, 40>
        translate <-0.98, 0, 0>
      }
      box { <-4, 0, -4> <4, 4, 4>
        rotate <-40, 0, 0>
        translate <0, 0, -0.98>
      }
      box { <-4, 0, -4> <4, 4, 4>
        rotate <40, 0, 0>
        translate <0, 0, 0.98>
      }
      rotate <0, 11.25, 0>
    }
    union {
      box { <-4, 0, -4> <4, 4, 4>
        rotate <0, 0, -40>
        translate <0.98, 0, 0>
      }
      box { <-4, 0, -4> <4, 4, 4>
        rotate <0, 0, 40>
        translate <-0.98, 0, 0>
      }
      box { <-4, 0, -4> <4, 4, 4>
        rotate <-40, 0, 0>
        translate <0, 0, -0.98>
      }
      box { <-4, 0, -4> <4, 4, 4>
        rotate <40, 0, 0>
        translate <0, 0, 0.98>
      }
      rotate <0, 33.75, 0>
    }
    union {
      box { <-4, -4, -4> <4, 0, 4>
        rotate <0, 0, -42.5>
        translate <-0.982, 0, 0>
      }
      box { <-4, -4, -4> <4, 0, 4>
        rotate <0, 0, 42.5>
        translate <0.982, 0, 0>
      }
      box { <-4, -4, -4> <4, 0, 4>
        rotate <-42.5, 0, 0>
        translate <0, 0, 0.982>
      }
      box { <-4, -4, -4> <4, 0, 4>
        rotate <42.5, 0, 0>
        translate <0, 0, -0.982>
      }
      rotate <0, -11.25, 0>
    }
    union {
      box { <-4, -4, -4> <4, 0, 4>
        rotate <0, 0, -42.5>
        translate <-0.982, 0, 0>
      }
      box { <-4, -4, -4> <4, 0, 4>
        rotate <0, 0, 42.5>
        translate <0.982, 0, 0>
      }
      box { <-4, -4, -4> <4, 0, 4>
        rotate <-42.5, 0, 0>
        translate <0, 0, 0.982>
      }
      box { <-4, -4, -4> <4, 0, 4>
        rotate <42.5, 0, 0>
        translate <0, 0, -0.982>
      }
      rotate <0, -33.75, 0>
    }
    union {
      box { <-4, -4, -4> <4, 0, 4>
        rotate <0, 0, -42.5>
        translate <-0.982, 0, 0>
      }
      box { <-4, -4, -4> <4, 0, 4>
        rotate <0, 0, 42.5>
        translate <0.982, 0, 0>
      }
      box { <-4, -4, -4> <4, 0, 4>
        rotate <-42.5, 0, 0>
        translate <0, 0, 0.982>
      }
      box { <-4, -4, -4> <4, 0, 4>
        rotate <42.5, 0, 0>
        translate <0, 0, -0.982>
      }
      rotate <0, 11.25, 0>
    }
    union {
      box { <-4, -4, -4> <4, 0, 4>
        rotate <0, 0, -42.5>
        translate <-0.982, 0, 0>
      }
      box { <-4, -4, -4> <4, 0, 4>
        rotate <0, 0, 42.5>
        translate <0.982, 0, 0>
      }
      box { <-4, -4, -4> <4, 0, 4>
        rotate <-42.5, 0, 0>
        translate <0, 0, 0.982>
      }
      box { <-4, -4, -4> <4, 0, 4>
        rotate <42.5, 0, 0>
        translate <0, 0, -0.982>
      }
      rotate <0, 33.75, 0>
    }
  }
  bounded_by {
    sphere { <0, 0, 0> 1 }
  }
}

#declare Brillant58 =
difference {
  object { Brillant57 }
  box { <-4, -4, -4> <4, -0.82, 4> }
  bounded_by {
    sphere { <0, 0, 0> 1 }
  }
}

#declare Stairs =
difference {
  box { <-1.8, -1.0, -1.3> <1.8, 1.0, 1.3> }
  union {
    box { <-3, 0, -3> <3, 3, 3>
      rotate <0, 0, 0>
      translate <0, 0.4, 0>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <0, 0, 40>
      translate <-1.8, 0, 0>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <0, 0, -40>
      translate <1.8, 0, 0>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <0, 0, 30>
      translate <-1.9, 0, 0>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <0, 0, -30>
      translate <1.9, 0, 0>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <0, 0, 17>
      translate <-2.4, 0, 0>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <0, 0, -17>
      translate <2.4, 0, 0>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <40, 0, 0>
      translate <0, 0, 1.3>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <-40, 0, 0>
      translate <0, 0, -1.3>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <30, 0, 0>
      translate <0, 0, 1.4>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <-30, 0, 0>
      translate <0, 0, -1.4>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <17, 0, 0>
      translate <0, 0, 1.9>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <-17, 0, 0>
      translate <0, 0, -1.9>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <0, 0, 50>
      translate <1.8, 0, 0>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <0, 0, -50>
      translate <-1.8, 0, 0>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <0, 0, 40>
      translate <1.9, 0, 0>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <0, 0, -40>
      translate <-1.9, 0, 0>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <0, 0, 27>
      translate <2.4, 0, 0>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <0, 0, -27>
      translate <-2.4, 0, 0>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <50, 0, 0>
      translate <0, 0, -1.3>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <-50, 0, 0>
      translate <0, 0, 1.3>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <40, 0, 0>
      translate <0, 0, -1.4>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <-40, 0, 0>
      translate <0, 0, 1.4>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <27, 0, 0>
      translate <0, 0, -1.9>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <-27, 0, 0>
      translate <0, 0, 1.9>
    }
  }
  bounded_by {
    box { <-1.9, -1.0, -1.4> <1.9, 1.0, 1.4> }
  }
}


#declare Square_Stairs =
difference {
  box { <-1.3, -1.0, -1.3> <1.3, 1.0, 1.3> }
  union {
   box{<-3,  0, -3> <3, 3, 3> rotate <  0, 0,   0>  translate <0, 0.4, 0>}
   box{<-3,  0, -3> <3, 3, 3> rotate <  0, 0,  40> translate <-1.3, 0, 0>}
   box{<-3,  0, -3> <3, 3, 3> rotate <  0, 0, -40> translate <1.3, 0,  0>}
   box{<-3,  0, -3> <3, 3, 3> rotate <  0, 0,  30> translate <-1.4, 0, 0>}
   box{<-3,  0, -3> <3, 3, 3> rotate <  0, 0, -30> translate <1.4, 0,  0>}
   box{<-3,  0, -3> <3, 3, 3> rotate <  0, 0,  17> translate <-1.9, 0, 0>}
   box{<-3,  0, -3> <3, 3, 3> rotate <  0, 0, -17> translate <1.9, 0,  0>}
   box{<-3,  0, -3> <3, 3, 3> rotate < 40, 0,   0> translate <0, 0,  1.3>}
   box{<-3,  0, -3> <3, 3, 3> rotate <-40, 0,   0> translate <0, 0, -1.3>}
   box{<-3,  0, -3> <3, 3, 3> rotate < 30, 0,   0> translate <0, 0,  1.4>}
   box{<-3,  0, -3> <3, 3, 3> rotate <-30, 0,   0> translate <0, 0, -1.4>}
   box{<-3,  0, -3> <3, 3, 3> rotate < 17, 0,   0> translate <0, 0,  1.9>}
   box{<-3,  0, -3> <3, 3, 3> rotate <-17, 0,   0> translate <0, 0, -1.9>}
   box{<-3, -3, -3> <3, 0, 3> rotate <  0, 0,  50> translate <1.3, 0,  0>}
   box{<-3, -3, -3> <3, 0, 3> rotate <  0, 0, -50> translate <-1.3, 0, 0>}
   box{<-3, -3, -3> <3, 0, 3> rotate <  0, 0,  40> translate <1.4, 0,  0>}
   box{<-3, -3, -3> <3, 0, 3> rotate <  0, 0, -40> translate <-1.4, 0, 0>}
   box{<-3, -3, -3> <3, 0, 3> rotate <  0, 0,  27> translate <1.9, 0,  0>}
   box{<-3, -3, -3> <3, 0, 3> rotate <  0, 0, -27> translate <-1.9, 0, 0>}
   box{<-3, -3, -3> <3, 0, 3> rotate < 50, 0,   0> translate <0, 0, -1.3>}
   box{<-3, -3, -3> <3, 0, 3> rotate <-50, 0,   0> translate <0, 0,  1.3>}
   box{<-3, -3, -3> <3, 0, 3> rotate < 40, 0,   0> translate <0, 0, -1.4>}
   box{<-3, -3, -3> <3, 0, 3> rotate <-40, 0,   0> translate <0, 0,  1.4>}
   box{<-3, -3, -3> <3, 0, 3> rotate < 27, 0,   0> translate <0, 0, -1.9>}
   box{<-3, -3, -3> <3, 0, 3> rotate <-27, 0,   0> translate <0, 0,  1.9>}
  }
  bounded_by {
    box { <-1.4, -1.0, -1.4> <1.4, 1.0, 1.4> }
  }
}

#declare Emerald_Stairs =
difference {
  box { <-1.8, -1.0, -1.3> <1.8, 1.0, 1.3> }
  union {
    box { <-3, 0, -3> <3, 3, 3>
      rotate <0, 0, 0>
      translate <0, 0.4, 0>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <0, 0, 40>
      translate <-1.8, 0, 0>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <0, 0, -40>
      translate <1.8, 0, 0>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <0, 0, 30>
      translate <-1.9, 0, 0>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <0, 0, -30>
      translate <1.9, 0, 0>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <0, 0, 17>
      translate <-2.4, 0, 0>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <0, 0, -17>
      translate <2.4, 0, 0>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <40, 0, 0>
      translate <0, 0, 1.3>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <-40, 0, 0>
      translate <0, 0, -1.3>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <30, 0, 0>
      translate <0, 0, 1.4>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <-30, 0, 0>
      translate <0, 0, -1.4>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <17, 0, 0>
      translate <0, 0, 1.9>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <-17, 0, 0>
      translate <0, 0, -1.9>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <0, 0, 50>
      translate <1.8, 0, 0>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <0, 0, -50>
      translate <-1.8, 0, 0>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <0, 0, 40>
      translate <1.9, 0, 0>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <0, 0, -40>
      translate <-1.9, 0, 0>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <0, 0, 27>
      translate <2.4, 0, 0>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <0, 0, -27>
      translate <-2.4, 0, 0>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <50, 0, 0>
      translate <0, 0, -1.3>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <-50, 0, 0>
      translate <0, 0, 1.3>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <40, 0, 0>
      translate <0, 0, -1.4>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <-40, 0, 0>
      translate <0, 0, 1.4>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <27, 0, 0>
      translate <0, 0, -1.9>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <-27, 0, 0>
      translate <0, 0, 1.9>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <0, 0, 40>
      translate <-1.65, 0, 0>
      rotate <0, 45, 0>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <0, 0, 40>
      translate <-1.65, 0, 0>
      rotate <0, -45, 0>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <0, 0, 40>
      translate <-1.65, 0, 0>
      rotate <0, 135, 0>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <0, 0, 40>
      translate <-1.65, 0, 0>
      rotate <0, -135, 0>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <0, 0, 30>
      translate <-1.75, 0, 0>
      rotate <0, 45, 0>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <0, 0, 30>
      translate <-1.75, 0, 0>
      rotate <0, -45, 0>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <0, 0, 30>
      translate <-1.75, 0, 0>
      rotate <0, 135, 0>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <0, 0, 30>
      translate <-1.75, 0, 0>
      rotate <0, -135, 0>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <0, 0, 17>
      translate <-2.25, 0, 0>
      rotate <0, 45, 0>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <0, 0, 17>
      translate <-2.25, 0, 0>
      rotate <0, -45, 0>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <0, 0, 17>
      translate <-2.25, 0, 0>
      rotate <0, 135, 0>
    }
    box { <-3, 0, -3> <3, 3, 3>
      rotate <0, 0, 17>
      translate <-2.25, 0, 0>
      rotate <0, -135, 0>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <0, 0, -50>
      translate <-1.65, 0, 0>
      rotate <0, 45, 0>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <0, 0, -50>
      translate <-1.65, 0, 0>
      rotate <0, -45, 0>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <0, 0, -50>
      translate <-1.65, 0, 0>
      rotate <0, 135, 0>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <0, 0, -50>
      translate <-1.65, 0, 0>
      rotate <0, -135, 0>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <0, 0, -40>
      translate <-1.75, 0, 0>
      rotate <0, 45, 0>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <0, 0, -40>
      translate <-1.75, 0, 0>
      rotate <0, -45, 0>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <0, 0, -40>
      translate <-1.75, 0, 0>
      rotate <0, 135, 0>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <0, 0, -40>
      translate <-1.75, 0, 0>
      rotate <0, -135, 0>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <0, 0, -27>
      translate <-2.25, 0, 0>
      rotate <0, 45, 0>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <0, 0, -27>
      translate <-2.25, 0, 0>
      rotate <0, -45, 0>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <0, 0, -27>
      translate <-2.25, 0, 0>
      rotate <0, 135, 0>
    }
    box { <-3, -3, -3> <3, 0, 3>
      rotate <0, 0, -27>
      translate <-2.25, 0, 0>
      rotate <0, -135, 0>
    }
  }
  bounded_by {
    box { <-1.9, -1.0, -1.4> <1.9, 1.0, 1.4> }
  }
}

#declare Cabochon =
intersection {
  sphere { <0, 0, 0> 1 }
  box { <-1.1, 0, -1.1> <1.1, 1.1, 1.1> }
  scale <1, 0.5, 1>
}


-- 
Ken Tyler

See my 700+ Povray and 3D Rendering and Raytracing Links at:
http://home.pacbell.net/tylereng/index.html


Post a reply to this message

From: Ken
Subject: Re: Wanted: POV-source for diamond shape
Date: 17 Aug 1999 01:08:25
Message: <37B8EE33.4FC6D570@pacbell.net>
Niek Bergboer wrote:
> 
> Hi all,
> 
> I'm looking for a POV-Ray object-source of a round-brilliant cut
> diamond. I.e.: the "classical" shape of a diamond with 58 faces.
> Does anybody have one that I could use?
> 
> Thanks in advance,
> 
> Niek Bergboer
> n.h### [at] studentutwentenl

Here is another one for you in case you have not found what you needed.
This particular diamond is based on 64 facets and resembles the hope
diamond.

Enjoy,

#include "colors.inc"

global_settings
{
  assumed_gamma 1.0
}

// ----------------------------------------
camera
{
  //location  <0.0, 1.75, -2.0>
  //location  <-3.0, .20, -.0>
  location  <-0.0, 3.00, -.0>
  direction 1.5*z
  right     4/3*x
  look_at   <0.0, -0.25,  0.0>
}

sky_sphere
{
  pigment
  {
    gradient y
    color_map { [0.0 color rgb 0.6] [1.0 color rgb 0] }
  }
}

light_source
{
  0*x // light's position (translated below)
  color red 1.0  green 1.0  blue 1.0  // light's color
  translate <-0, 30, -0>
}

// ----------------------------------------
plane
{
  y, -1
  texture
  {
    pigment {checker color rgb 1 color rgb 0 scale 0.5}
    //finish {reflection 0.2}
  }
}

// GIRDLE
#declare girdle_cut=plane { y, 0 rotate z*90.00 translate x*0.970 }
#declare girdle_cuts=union
{
    object { girdle_cut rotate y*04/64*360 }
    object { girdle_cut rotate y*08/64*360 }
    object { girdle_cut rotate y*12/64*360 }
    object { girdle_cut rotate y*16/64*360 }
    object { girdle_cut rotate y*20/64*360 }
    object { girdle_cut rotate y*24/64*360 }
    object { girdle_cut rotate y*28/64*360 }
    object { girdle_cut rotate y*32/64*360 }
    object { girdle_cut rotate y*36/64*360 }
    object { girdle_cut rotate y*40/64*360 }
    object { girdle_cut rotate y*44/64*360 }
    object { girdle_cut rotate y*48/64*360 }
    object { girdle_cut rotate y*52/64*360 }
    object { girdle_cut rotate y*56/64*360 }
    object { girdle_cut rotate y*60/64*360 }
    object { girdle_cut rotate y*64/64*360 }
}
  // PAVILION
  #declare p19_rad=1.0;
  // 1-8
  #declare p1_cut=plane { y, 0 rotate z*40.16 translate x*1.0 }
  #declare p1_cuts=union
  {
    object { p1_cut rotate y*04/64*360 }
    object { p1_cut rotate y*08/64*360 }
    object { p1_cut rotate y*12/64*360 }
    object { p1_cut rotate y*16/64*360 }
    object { p1_cut rotate y*20/64*360 }
    object { p1_cut rotate y*24/64*360 }
    object { p1_cut rotate y*28/64*360 }
    object { p1_cut rotate y*32/64*360 }
    object { p1_cut rotate y*36/64*360 }
    object { p1_cut rotate y*40/64*360 }
    object { p1_cut rotate y*44/64*360 }
    object { p1_cut rotate y*48/64*360 }
    object { p1_cut rotate y*52/64*360 }
    object { p1_cut rotate y*56/64*360 }
    object { p1_cut rotate y*60/64*360 }
    object { p1_cut rotate y*64/64*360 }
  }
  // 2
  #declare p2_cut=plane { y, 0 rotate z*38.00 translate x*1.020 }
  #declare p2_cuts=union
  {
    object { p2_cut rotate y*06/64*360 }
    object { p2_cut rotate y*14/64*360 }
    object { p2_cut rotate y*22/64*360 }
    object { p2_cut rotate y*30/64*360 }
    object { p2_cut rotate y*38/64*360 }
    object { p2_cut rotate y*46/64*360 }
    object { p2_cut rotate y*54/64*360 }
    object { p2_cut rotate y*62/64*360 }
  }
#declare pavillion_cuts=union
{
    object { p1_cuts }
    object { p2_cuts }
}
  #declare c1_cut=plane { -y, 0 rotate z*29.60 translate -x*1 }
  #declare c1_cuts=union
  {
    object { c1_cut rotate y*04/64*360 }
    object { c1_cut rotate y*08/64*360 }
    object { c1_cut rotate y*12/64*360 }
    object { c1_cut rotate y*16/64*360 }
    object { c1_cut rotate y*20/64*360 }
    object { c1_cut rotate y*24/64*360 }
    object { c1_cut rotate y*28/64*360 }
    object { c1_cut rotate y*32/64*360 }
    object { c1_cut rotate y*36/64*360 }
    object { c1_cut rotate y*40/64*360 }
    object { c1_cut rotate y*44/64*360 }
    object { c1_cut rotate y*48/64*360 }
    object { c1_cut rotate y*52/64*360 }
    object { c1_cut rotate y*56/64*360 }
    object { c1_cut rotate y*60/64*360 }
    object { c1_cut rotate y*64/64*360 }
  }
  #declare c2_cut=plane { -y, 0 rotate z*25.40 translate -x*1.025 }
  #declare c2_cuts=union
  {
    object { c2_cut rotate y*06/64*360 }
    object { c2_cut rotate y*14/64*360 }
    object { c2_cut rotate y*22/64*360 }
    object { c2_cut rotate y*30/64*360 }
    object { c2_cut rotate y*38/64*360 }
    object { c2_cut rotate y*46/64*360 }
    object { c2_cut rotate y*54/64*360 }
    object { c2_cut rotate y*62/64*360 }
  }
  #declare c3_cut=plane { -y, 0 rotate z*15.95 translate -x*1.33 }
  #declare c3_cuts=union
  {
    object { c3_cut rotate y*02/64*360 }
    object { c3_cut rotate y*10/64*360 }
    object { c3_cut rotate y*18/64*360 }
    object { c3_cut rotate y*26/64*360 }
    object { c3_cut rotate y*34/64*360 }
    object { c3_cut rotate y*42/64*360 }
    object { c3_cut rotate y*50/64*360 }
    object { c3_cut rotate y*58/64*360 }
  }
  #declare c4_cuts=plane { -y, -.248 }
#declare crown_cuts=union
{
    object { c1_cuts }
    object { c2_cuts }
    object { c3_cuts }
    object { c4_cuts }
}

#declare Diamond_Texture =
texture {
  tiles {
    texture {
      pigment {
        color red 1.00 green 1.00 blue 1.00 filter 0.99
      }
      finish {
        specular 1
        roughness 0.001
        diffuse 0
        reflection 0.99
        ambient 0.5
      }
    }
  tile2
    texture {
      tiles {
        texture {
          pigment {
            color red 1.00 green 1.00 blue 1.00 filter 0.99
          }
            finish {
            specular 1
            roughness 0.001
            diffuse 0
            reflection 0.99
            ambient 0.5
          }
        }
      tile2
        texture {
          pigment {
            gradient x
            turbulence 1
            omega 0.8
            color_map {
              [0.00 color red 1.00 green 1.00 blue 1.00 filter 0.99]
              [0.60 color red 1.00 green 1.00 blue 1.00 filter 0.99]
              [0.60 color red 1.00 green 0.80 blue 0.80 filter 0.99]
              [0.70 color red 1.00 green 1.00 blue 0.80 filter 0.99]
              [0.80 color red 0.80 green 1.00 blue 0.80 filter 0.99]
              [0.90 color red 0.80 green 0.80 blue 1.00 filter 0.99]
              [1.00 color red 1.00 green 0.80 blue 1.00 filter 0.99]
            }
          }
          finish {
            specular 1
            roughness 0.001
            diffuse 0
            reflection 0.99
            ambient 0.5
          }
          scale <30, 30, 30>
        }
      }
      scale <0.2, 0.2, 0.2>
    }
  }
  translate <-0.5, 0, 0.5>
  scale <1.2, 5, 1.2>
}

#declare HopeDiamond=difference
{
  cylinder { <0,1,0>, <0,-1,0>, 2 }
  object { pavillion_cuts translate -y*.02 }
  object { girdle_cuts }
  object { crown_cuts translate y*.02 }
  texture { Diamond_Texture }
  //pigment { Blue }
  interior { ior 1.54 }
  rotate y*clock*8/64*360
  rotate x*90
}

object { HopeDiamond }




-- 
Ken Tyler

See my 700+ Povray and 3D Rendering and Raytracing Links at:
http://home.pacbell.net/tylereng/index.html


Post a reply to this message

From: Niek Bergboer
Subject: Re: Wanted: POV-source for diamond shape
Date: 20 Aug 1999 18:33:53
Message: <37BDD77E.BFFAC84C@student.utwente.nl>
Thank you for your help. Especially the source by Jerome posted in
povray.binaries.scene-files has proven very useful.

Niek Bergboer wrote:

> Hi all,
>
> I'm looking for a POV-Ray object-source of a round-brilliant cut
> diamond. I.e.: the "classical" shape of a diamond with 58 faces.
> Does anybody have one that I could use?
>
> Thanks in advance,
>
> Niek Bergboer
> n.h### [at] studentutwentenl


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.