//This file is licensed under the terms of the CC-LGPL #version 3.7; global_settings { assumed_gamma 1.4 } #declare Fast = yes; #include "rm_rubiksmagic.inc" #declare RM_Decoration = RM_DecDogs; /* * this brand has the wire path reverted with respect to the * classic matchbox puzzle. For this reason the "front" face * of the tiles actually depict the image corresponding to the * "boomerang" shape and viceversa */ //#declare RM_Decoration = RM_DecLingao; // another brand //#declare RM_Decoration = RM_DecMatchboxFast; // renders faster, no transparent plastic //#declare RM_Decoration = RM_DecBlack; // undecorated tiles //#declare RM_Decoration = RM_DecDiagonal; // undecorated with diagonal parallel to wires //#declare RM_Decoration = RM_DecArrow; // with orientation //#declare RM_Decoration = RM_DecTileId; // with orientation and tiles numbering //#declare RM_Decoration = RM_DecTransparent;// transparent tiles //#declare RM_StartTile = 3; // default: 0 //#declare RM_TilesIncrement = 1; // default: 1 //#declare RM_TilesRotation = -1; // default: 0 //#declare RM_FlipTiles = 1; // default: 0 object { RM_RubiksMagic("RRRURRRU") // rectangle //{ RM_RubiksMagic("RDLDURRU") // solved //{ RM_RubiksMagic("RRvRmURRmRvU") // hinge equivalent to "rectangle" //{ RM_RubiksMagic("RURmDvRvUvLvUm") // magic (2,7) rotate 180*z translate 3*RM_SizeDogs*x translate RM_HalfThickness*y + RM_SizeDogs*<-1.5,0,0.5> rotate -60*x translate RM_SizeDogs*2*z } object { RM_RubiksMagic("DLLDLURU") translate -RM_SizeDogs*(x+z) translate RM_HalfThickness*y rotate 0*y } object { RM_RubiksMagic("RRmUmLmDUmLmDm") rotate 90*z translate RM_HalfThickness*y translate 0.5*RM_SizeDogs*y rotate -30*y translate RM_SizeDogs*<-4,0,0> } object { RM_RubiksMagic("RmRmUmLmLmDvDmDv") translate RM_HalfThickness*y translate 1.5*RM_SizeDogs*z rotate -135*x //rotate -30*y translate RM_SizeDogs*<-3,0,2.5> } /* * floor, lights, camera... */ camera { location <8, 9, -10>*3 //look_at 6.6/2-y*.4 look_at 1.2*RM_Size*y angle 35 } light_source { <20, 30, -10>, 1 fade_distance 30 fade_power 2 #if(!Fast) area_light x*4, y*4, 16, 16 jitter adaptive 1 circular orient #end } light_source { <-20, 20, -15>, .5 fade_distance 30 fade_power 2 #if(!Fast) area_light x*4, y*4, 16, 16 jitter adaptive 1 circular orient #end } plane { y, 0 #if(Fast) pigment { rgb <1, .9, .7> } #else texture { average texture_map { #declare S = seed(0); #local ReflColor = .8*<1, .9, .7> + .2*<1,1,1>; #declare Ind = 0; #while(Ind < 20) [1 pigment { rgb <1, .9, .7> } normal { bumps .1 translate *100 scale .001 } finish { reflection { ReflColor*.1, ReflColor*.5 } } ] #declare Ind = Ind+1; #end } } #end }