POV-Ray : Newsgroups : povray.text.scene-files : Wanted: POV-source for diamond shape : Re: Wanted: POV-source for diamond shape Server Time
28 Jul 2024 20:25:54 EDT (-0400)
  Re: Wanted: POV-source for diamond shape  
From: Ken
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

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