//-------------------- cubicMapCamera.pov --------------------- // Create cubic map or template for cubic map. // Output image size Width/Height ratio always 4/3. // Black background or clear with +UA for use in image editor. // // +H900 +W1200 +UA // #version 3.8; global_settings { assumed_gamma 1 } #declare Clear100 = srgbt <1,1,1,1>; background { color Clear100 } #default { finish {ambient 0.0 diffuse 0.0 emission 1.0} } #declare White = rgb <1,1,1>; #declare VarRadius = 0.05; #declare SpherePPP = sphere { <1,1,1>, VarRadius } #declare SphereNPP = sphere { <-1,1,1>, VarRadius } #declare SpherePNP = sphere { <1,-1,1>, VarRadius } #declare SphereNNP = sphere { <-1,-1,1>, VarRadius } #declare SpherePPN = sphere { <1,1,-1>, VarRadius } #declare SphereNPN = sphere { <-1,1,-1>, VarRadius } #declare SpherePNN = sphere { <1,-1,-1>, VarRadius } #declare SphereNNN = sphere { <-1,-1,-1>, VarRadius } #declare UnionSpheres = union { object { SpherePPP } object { SphereNPP } object { SpherePNP } object { SphereNNP } object { SpherePPN } object { SphereNPN } object { SpherePNN } object { SphereNNN } pigment { color White } scale 0.5 } #declare Cylinder00 = cylinder { <-1,1,1>, <1,1,1>, VarRadius } #declare Cylinder01 = cylinder { <1,-1,1>, <1,1,1>, VarRadius } #declare Cylinder02 = cylinder { <1,1,-1>, <1,1,1>, VarRadius } #declare Cylinder03 = cylinder { <-1,-1,-1>, <1,-1,-1>, VarRadius } #declare Cylinder04 = cylinder { <-1,-1,-1>, <-1,1,-1>, VarRadius } #declare Cylinder05 = cylinder { <-1,-1,-1>, <-1,-1,1>, VarRadius } #declare Cylinder06 = cylinder { <1,-1,1>, <1,-1,-1>, VarRadius } #declare Cylinder07 = cylinder { <-1,1,-1>, <-1,1,1>, VarRadius } #declare Cylinder08 = cylinder { <-1,1,1>, <-1,-1,1>, VarRadius } #declare Cylinder09 = cylinder { <-1,1,-1>, <1,1,-1>, VarRadius } #declare Cylinder10 = cylinder { <1,-1,-1>, <1,1,-1>, VarRadius } #declare Cylinder11 = cylinder { <-1,-1,1>, <1,-1,1>, VarRadius } #declare UnionCyls = union { object { Cylinder00 } object { Cylinder01 } object { Cylinder02 } object { Cylinder03 } object { Cylinder04 } object { Cylinder05 } object { Cylinder06 } object { Cylinder07 } object { Cylinder08 } object { Cylinder09 } object { Cylinder10 } object { Cylinder11 } pigment { color White } scale 0.5 } #include "functions.inc" #declare FnXnrm = function (x) { x+0.5 } #declare FnYnrm = function (y) { y+0.5 } #declare Fn00 = function (x,y) { (FnXnrm(x)<1/4) & (FnYnrm(y)<1/3) } #declare Fn10 = function (x,y) { (FnXnrm(x)>=1/4) & (FnXnrm(x)<2/4) & (FnYnrm(y)<1/3) } #declare Fn20 = function (x,y) { (FnXnrm(x)>=2/4) & (FnXnrm(x)<3/4) & (FnYnrm(y)<1/3) } #declare Fn30 = function (x,y) { (FnXnrm(x)>=3/4) & (FnYnrm(y)<1/3) } #declare Fn01 = function (x,y) { (FnXnrm(x)<1/4) & (FnYnrm(y)>=1/3) & (FnYnrm(y)<2/3) } #declare Fn11 = function (x,y) { (FnXnrm(x)>=1/4) & (FnXnrm(x)<2/4) & (FnYnrm(y)>=1/3) & (FnYnrm(y)<2/3) } #declare Fn21 = function (x,y) { (FnXnrm(x)>=2/4) & (FnXnrm(x)<3/4) & (FnYnrm(y)>=1/3) & (FnYnrm(y)<2/3) } #declare Fn31 = function (x,y) { (FnXnrm(x)>=3/4) & (FnYnrm(y)>=1/3) & (FnYnrm(y)<2/3) } #declare Fn02 = function (x,y) { (FnXnrm(x)<1/4) & (FnYnrm(y)>=2/3) } #declare Fn12 = function (x,y) { (FnXnrm(x)>=1/4) & (FnXnrm(x)<2/4) & (FnYnrm(y)>=2/3) } #declare Fn22 = function (x,y) { (FnXnrm(x)>=2/4) & (FnXnrm(x)<3/4) & (FnYnrm(y)>=2/3) } #declare Fn32 = function (x,y) { (FnXnrm(x)>=3/4) & (FnYnrm(y)>=2/3) } #declare Fnx00L = function (x,y) { select(Fn00(x,y),0,0,-99) } #declare Fny00L = function (x,y) { select(Fn00(x,y),0,0,-99) } #declare Fnz00L = function (x,y) { select(Fn00(x,y),0,0,-99) } #declare Fnx00D = function (x,y) { select(Fn00(x,y),0,0,0) } #declare Fny00D = function (x,y) { select(Fn00(x,y),0,0,0) } #declare Fnz00D = function (x,y) { select(Fn00(x,y),0,0,1) } #declare Fnx10L = function (x,y) { select(Fn10(x,y),0,0,((FnXnrm(x)-1/4)*4)-0.5) } #declare Fny10L = function (x,y) { select(Fn10(x,y),0,0,-2) } #declare Fnz10L = function (x,y) { select(Fn10(x,y),0,0,(FnYnrm(y)*3)-0.5) } #declare Fnx10D = function (x,y) { select(Fn10(x,y),0,0,0) } #declare Fny10D = function (x,y) { select(Fn10(x,y),0,0,1) } #declare Fnz10D = function (x,y) { select(Fn10(x,y),0,0,0) } #declare Fnx20L = function (x,y) { select(Fn20(x,y),0,0,-99) } #declare Fny20L = function (x,y) { select(Fn20(x,y),0,0,-99) } #declare Fnz20L = function (x,y) { select(Fn20(x,y),0,0,-99) } #declare Fnx20D = function (x,y) { select(Fn20(x,y),0,0,0) } #declare Fny20D = function (x,y) { select(Fn20(x,y),0,0,0) } #declare Fnz20D = function (x,y) { select(Fn20(x,y),0,0,1) } #declare Fnx30L = function (x,y) { select(Fn30(x,y),0,0,-99) } #declare Fny30L = function (x,y) { select(Fn30(x,y),0,0,-99) } #declare Fnz30L = function (x,y) { select(Fn30(x,y),0,0,-99) } #declare Fnx30D = function (x,y) { select(Fn30(x,y),0,0,0) } #declare Fny30D = function (x,y) { select(Fn30(x,y),0,0,0) } #declare Fnz30D = function (x,y) { select(Fn30(x,y),0,0,1) } #declare Fnx01L = function (x,y) { select(Fn01(x,y),0,0,-2) } #declare Fny01L = function (x,y) { select(Fn01(x,y),0,0,((FnYnrm(y)-1/3)*3)-0.5) } #declare Fnz01L = function (x,y) { select(Fn01(x,y),0,0,(FnXnrm(x)*4)-0.5) } #declare Fnx01D = function (x,y) { select(Fn01(x,y),0,0,1) } #declare Fny01D = function (x,y) { select(Fn01(x,y),0,0,0) } #declare Fnz01D = function (x,y) { select(Fn01(x,y),0,0,0) } #declare Fnx11L = function (x,y) { select(Fn11(x,y),0,0,((FnXnrm(x)-1/4)*4)-0.5) } #declare Fny11L = function (x,y) { select(Fn11(x,y),0,0,((FnYnrm(y)-1/3)*3)-0.5) } #declare Fnz11L = function (x,y) { select(Fn11(x,y),0,0,2) } #declare Fnx11D = function (x,y) { select(Fn11(x,y),0,0,0) } #declare Fny11D = function (x,y) { select(Fn11(x,y),0,0,0) } #declare Fnz11D = function (x,y) { select(Fn11(x,y),0,0,-1) } #declare Fnx21L = function (x,y) { select(Fn21(x,y),0,0,2) } #declare Fny21L = function (x,y) { select(Fn21(x,y),0,0,((FnYnrm(y)-1/3)*3)-0.5) } #declare Fnz21L = function (x,y) { select(Fn21(x,y),0,0,0.5-((FnXnrm(x)-2/4)*4)) } #declare Fnx21D = function (x,y) { select(Fn21(x,y),0,0,-1) } #declare Fny21D = function (x,y) { select(Fn21(x,y),0,0,0) } #declare Fnz21D = function (x,y) { select(Fn21(x,y),0,0,0) } #declare Fnx31L = function (x,y) { select(Fn31(x,y),0,0,0.5-((FnXnrm(x)-3/4)*4)) } #declare Fny31L = function (x,y) { select(Fn31(x,y),0,0,((FnYnrm(y)-1/3)*3)-0.5) } #declare Fnz31L = function (x,y) { select(Fn31(x,y),0,0,-2) } #declare Fnx31D = function (x,y) { select(Fn31(x,y),0,0,0) } #declare Fny31D = function (x,y) { select(Fn31(x,y),0,0,0) } #declare Fnz31D = function (x,y) { select(Fn31(x,y),0,0,1) } #declare Fnx02L = function (x,y) { select(Fn02(x,y),0,0,-99) } #declare Fny02L = function (x,y) { select(Fn02(x,y),0,0,-99) } #declare Fnz02L = function (x,y) { select(Fn02(x,y),0,0,-99) } #declare Fnx02D = function (x,y) { select(Fn02(x,y),0,0,0) } #declare Fny02D = function (x,y) { select(Fn02(x,y),0,0,0) } #declare Fnz02D = function (x,y) { select(Fn02(x,y),0,0,1) } #declare Fnx12L = function (x,y) { select(Fn12(x,y),0,0,((FnXnrm(x)-1/4)*4)-0.5) } #declare Fny12L = function (x,y) { select(Fn12(x,y),0,0,2) } #declare Fnz12L = function (x,y) { select(Fn12(x,y),0,0,0.5-((FnYnrm(y)-2/3)*3)) } #declare Fnx12D = function (x,y) { select(Fn12(x,y),0,0,0) } #declare Fny12D = function (x,y) { select(Fn12(x,y),0,0,-1) } #declare Fnz12D = function (x,y) { select(Fn12(x,y),0,0,0) } #declare Fnx22L = function (x,y) { select(Fn22(x,y),0,0,-99) } #declare Fny22L = function (x,y) { select(Fn22(x,y),0,0,-99) } #declare Fnz22L = function (x,y) { select(Fn22(x,y),0,0,-99) } #declare Fnx22D = function (x,y) { select(Fn22(x,y),0,0,0) } #declare Fny22D = function (x,y) { select(Fn22(x,y),0,0,0) } #declare Fnz22D = function (x,y) { select(Fn22(x,y),0,0,1) } #declare Fnx32L = function (x,y) { select(Fn32(x,y),0,0,-99) } #declare Fny32L = function (x,y) { select(Fn32(x,y),0,0,-99) } #declare Fnz32L = function (x,y) { select(Fn32(x,y),0,0,-99) } #declare Fnx32D = function (x,y) { select(Fn32(x,y),0,0,0) } #declare Fny32D = function (x,y) { select(Fn32(x,y),0,0,0) } #declare Fnz32D = function (x,y) { select(Fn32(x,y),0,0,1) } #declare FnxL = function (x,y) { Fnx00L(x,y) + Fnx10L(x,y) + Fnx20L(x,y) + Fnx30L(x,y) + Fnx01L(x,y) + Fnx11L(x,y) + Fnx21L(x,y) + Fnx31L(x,y) + Fnx02L(x,y) + Fnx12L(x,y) + Fnx22L(x,y) + Fnx32L(x,y) } #declare FnyL = function (x,y) { Fny00L(x,y) + Fny10L(x,y) + Fny20L(x,y) + Fny30L(x,y) + Fny01L(x,y) + Fny11L(x,y) + Fny21L(x,y) + Fny31L(x,y) + Fny02L(x,y) + Fny12L(x,y) + Fny22L(x,y) + Fny32L(x,y) } #declare FnzL = function (x,y) { Fnz00L(x,y) + Fnz10L(x,y) + Fnz20L(x,y) + Fnz30L(x,y) + Fnz01L(x,y) + Fnz11L(x,y) + Fnz21L(x,y) + Fnz31L(x,y) + Fnz02L(x,y) + Fnz12L(x,y) + Fnz22L(x,y) + Fnz32L(x,y) } #declare FnxD = function (x,y) { Fnx00D(x,y) + Fnx10D(x,y) + Fnx20D(x,y) + Fnx30D(x,y) + Fnx01D(x,y) + Fnx11D(x,y) + Fnx21D(x,y) + Fnx31D(x,y) + Fnx02D(x,y) + Fnx12D(x,y) + Fnx22D(x,y) + Fnx32D(x,y) } #declare FnyD = function (x,y) { Fny00D(x,y) + Fny10D(x,y) + Fny20D(x,y) + Fny30D(x,y) + Fny01D(x,y) + Fny11D(x,y) + Fny21D(x,y) + Fny31D(x,y) + Fny02D(x,y) + Fny12D(x,y) + Fny22D(x,y) + Fny32D(x,y) } #declare FnzD = function (x,y) { Fnz00D(x,y) + Fnz10D(x,y) + Fnz20D(x,y) + Fnz30D(x,y) + Fnz01D(x,y) + Fnz11D(x,y) + Fnz21D(x,y) + Fnz31D(x,y) + Fnz02D(x,y) + Fnz12D(x,y) + Fnz22D(x,y) + Fnz32D(x,y) } #declare Camera02 = camera { user_defined location { function { FnxL(x,y) } function { FnyL(x,y) } function { FnzL(x,y) } } direction { function { FnxD(x,y) } function { FnyD(x,y) } function { FnzD(x,y) } } } //--- scene --- camera { Camera02 } object { UnionSpheres } object { UnionCyls }