Hi All,
I'm working on an animation for which I needed to model brilliant-cut diamonds. Going from the specs for an ideal, so-called "Hearts and Arrows" brilliant I developed a model in POV-Ray, a free, Open Source raytracing program.
The first image is of the cut, rendered in a 'test' material which renders quickly and shows the overall shape:

#1 - The Cuts.
#2 and #3 show two views of an HnA diamond with only the Upper & Lower Girdle facets, Pavillion (lower) facets, and the rim cut. In these views the diamond is optically modeled using the optical properties of actual diamonds:

#2 - Upper & Lower Girdle facets, Pavillion facets and Rim. View #1

#3 - Upper & Lower Girdle facets, Pavillion facets and Rim. View #2
In #4 and #5 the spotlight light-cone has been reduced to conform exactly with the diamond's diameter and, in #6 we see the same diamond as viewed from the spotlight proper in order to show the 'caustics' - refracted light from the piece on the walls of an enclosing box:

#4 - Finished "Hearts and Arrows" diamond. View #1

#5 - Finished "Hearts and Arrows" diamond. View #2

#6 - Finished "Hearts and Arrows" diamond. View from spotlight.
The scene in the previous three images is rather dark (to show the caustics more prominently). More toward a more realistic setting, the following are scenes derived from a sample POV-Ray scene description containing a wooden box. The scenes progress from setup through scenes containing new materials and lighting toward a more aesthetically-pleasing scene using a jade 'floor' and additional contrast:

#7 - Prototypes in and around wood box. Scene is washed-out IMO.

#8 - Optical renders in and around wood box. Scene is washed-out.

#9 - Prototypes against a stone floor. Single light source. Patterns clash.

#10 - Optical renders against a stone floor. Single light source. Patterns clash.

#11 - Prototypes against a jade floor. Single light source. Better.

#12 - ORs against a jade floor. Single light source. Better but caustics weak.
Hope you've enjoyed these.

-----
Note: I'll make the code available when it's finished - still in the 'blackboard' stage.
"Almost" Good Answers: