Solitaire Diamond Example

DataToRayica[OpticalMedium->Diamond]

?Solitaire

Timing[diamond = Solitaire[100,ComponentMedium->Diamond]][[1]]

DrawSystem[
	{Move[diamond,-100],
	Move[diamond,{0,0,0},{0,0,1},0]},
	PlotType->TopView];

Timing[sol = TurboPlot[
	{Move[WedgeOfRays[10,NumberOfRays->51,Polarization->{1,0,0}],{-500,10},-1],
	Move[diamond,{0,0,0},{0,0,1},0],
	Boundary[{-70,-70,-70},{17,70,70}],
	Boundary[{17,-70,-70},{70,70,70}]},
	ScoutRays->False,
	ReportedSurfaces->All,
	ColorView->Log[Intensity],
	FresnelReflections->True,
	ThresholdIntensity->.1,
	PlotType->TopView,
	PlotRange->Automatic]][[1]]

TurboPlot[sol,ColorView->Log[Intensity],PlotType->FrontView, PlotRange->Automatic];

TurboPlot[sol,ColorView->Log[Intensity],CreateStereoView->Crossed, PlotType->Full3D, PlotRange->Automatic];

TurboPlot[sol,ColorView->Log[Intensity],CreateStereoView->Crossed,ViewPoint->{-3.384, -0.024, -0.026}, PlotType->Full3D, PlotRange->Automatic];