// Last edited on 2021-01-12 22:59:24 by jstolfi // Parâmetros para teste // Numero de espelhos em cada eixo: #declare nx = 5; #declare ny = 5; #declare nz = 5; #declare epos = array[nx][ny][nz] // Centros dos espelhos. #declare RA = 1000.0; // Metade do tamanho do cubo envoltório. #declare RB = 5; // Raio das barras. #declare RE = (2*RA)/(2*max(nx,ny,nz)); // Raio dos espelhos. #declare CC = < 0, 0, 0 >; // Centro da caldeira. #declare RC = 50; // Raio da caldeira. #declare HC = 300; // Altura da caldeira. #local ix = 0; #while (ix < nx) #local iy = 0; #while (iy < ny) #local iz = 0; #while (iz < nz) // Centro do espelho: #local ex = RA*(2*(ix+0.5)/nx - 1); #local ey = RA*(2*(iy+0.5)/ny - 1); #local ez = RA*(2*(iz+0.5)/nz - 1); #declare epos[ix][iy][iz] = < ex, ey, ez >; #local iz = iz + 1; #end #local iy = iy + 1; #end #local ix = ix + 1; #end