// Exemplo de arquivo de descricao de cena para POV-ray // Last edited on 2017-05-07 20:10:09 by stolfilocal #include "colors.inc" #include "shapes.inc" #declare component_color = texture { pigment { color rgb <0.2, 0.2, 0.2> } } #macro Arc(BeadCount, A1, A2, A3, A4) #local BeadsPerSide = BeadCount/4; #local A = A1; #for (Bead, 1, BeadsPerSide, 1) sphere { A, 0.1 texture { component_color } } #declare A = A + (A2 - A1)/BeadsPerSide; #end #declare A = A2; #for (Bead, 1, BeadsPerSide, 1) sphere { A, 0.1 texture { component_color } } #declare A = A + (A3 - A2)/BeadsPerSide; #end #declare A = A3; #for (Bead, 1, BeadsPerSide, 1) sphere { A, 0.1 texture { component_color } } #declare A = A + (A4 - A3)/BeadsPerSide; #end #end background { color rgb <0.7, 0.7, 0.7> } camera { location <2, 4, 5> look_at <0, 0.25, 0.75> } light_source { <2, 4, -3> color White } #declare Points = array[6][4]; // Arc 0 #declare Points[0][0] = <-0.31, 1.03, 0.49>; #declare Points[0][1] = <-1.31, -1.87, 2.11>; #declare Points[0][2] = <2.77, -0.31, -0.99>; #declare Points[0][3] = <-2.771, 0.182, 1.991>; // Arc 1 #declare Points[1][0] = <-0.31, 1.03, 0.49>; #declare Points[1][1] = <-1.31, -1.87, 2.11>; #declare Points[1][2] = <2.77, -0.31, -0.99>; #declare Points[1][3] = <-2.771, 0.182, 1.991>; // Arc 2 #declare Points[2][0] = <2.819, 2.117, -2.79>; #declare Points[2][1] = <-0.881, -0.112, 0.78>; #declare Points[2][2] = <-1.102, 2.19, 1.891>; #declare Points[2][3] = <1.81, 0.619, -2.12>; // Arc 3 #declare Points[3][0] = <-1.44, 2.18, 0.189>; #declare Points[3][1] = <-0.991, 1.179, 2.11>; #declare Points[3][2] = <-1.510, -2.878, -0.009>; #declare Points[3][3] = <2.190, 1.013, 0.81>; #declare Points[0][3] = (Points[0][2] + Points[1][0])/2; #declare Points[1][3] = (Points[1][2] + Points[2][0])/2; #declare Points[2][3] = (Points[2][2] + Points[3][0])/2; #declare Points[3][3] = Points[0][0]; #macro noh(P, N, M) #for (row, 0, N, 1) Arc(M, P[row][0], P[row][1], P[row][2], P[row][3]) #end #end noh(Points, 3, 1000)