// Persistence of Vision Ray Tracer version 3.5 Include File // Description: Soma cube shapes from Soma2.txt. // #declare SOMA026 = array[3][3][5] { {{0, 0, 3, 0, 0}, {0, 3, 3, 4, 0}, {1, 1, 3, 2, 2}}, {{0, 0, 5, 0, 0}, {0, 6, 7, 4, 0}, {1, 7, 7, 4, 2}}, {{0, 0, 5, 0, 0}, {0, 6, 5, 5, 0}, {6, 6, 7, 4, 2}}, } #declare SOMA027 = array[3][7][3] { {{0, 2, 0}, {0, 2, 0}, {1, 2, 0}, {1, 1, 0}, {7, 7, 0}, {7, 3, 0}, {3, 3, 3}}, {{0, 0, 0}, {0, 0, 0}, {4, 2, 0}, {4, 4, 0}, {7, 4, 0}, {6, 5, 0}, {6, 5, 5}}, {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {6, 6, 5}}, } #declare SOMA028 = array[3][7][3] { {{0, 0, 0}, {0, 0, 0}, {1, 4, 0}, {1, 4, 0}, {7, 7, 0}, {7, 5, 0}, {3, 5, 5}}, {{0, 2, 0}, {0, 2, 0}, {2, 2, 0}, {1, 4, 0}, {7, 4, 0}, {3, 6, 0}, {3, 6, 5}}, {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {3, 6, 6}}, } // Proven impossible #declare SOMA029 = array[3][7][3] { {{1, 0, 0}, {1, 0, 0}, {1, 1, 0}, {1, 1, 0}, {1, 1, 0}, {1, 1, 0}, {1, 1, 1}}, {{0, 0, 0}, {0, 0, 0}, {1, 1, 0}, {1, 1, 0}, {1, 1, 0}, {1, 1, 0}, {1, 1, 1}}, {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {1, 1, 1}}, } #declare SOMA030 = array[3][3][5] { {{0, 0, 6, 1, 1}, {0, 0, 4, 4, 1}, {0, 0, 7, 4, 4}}, {{0, 3, 6, 6, 0}, {0, 5, 7, 6, 0}, {0, 5, 7, 7, 0}}, {{3, 3, 3, 0, 0}, {2, 2, 2, 0, 0}, {5, 5, 2, 0, 0}}, } #declare SOMA031 = array[3][3][7] { {{0, 0, 0, 0, 6, 2, 2}, {0, 0, 0, 0, 6, 6, 2}, {0, 0, 0, 0, 5, 5, 2}}, {{0, 0, 4, 4, 6, 0, 0}, {0, 0, 1, 1, 5, 0, 0}, {0, 0, 7, 1, 5, 0, 0}}, {{3, 4, 4, 0, 0, 0, 0}, {3, 3, 7, 0, 0, 0, 0}, {3, 7, 7, 0, 0, 0, 0}}, } #declare SOMA032 = array[5][3][5] { {{0, 0, 0, 6, 1}, {0, 0, 0, 1, 1}, {0, 0, 0, 4, 4}}, {{0, 0, 2, 6, 0}, {0, 0, 6, 6, 0}, {0, 0, 4, 4, 0}}, {{0, 7, 2, 0, 0}, {0, 5, 2, 0, 0}, {0, 5, 2, 0, 0}}, {{7, 7, 0, 0, 0}, {3, 7, 0, 0, 0}, {5, 5, 0, 0, 0}}, {{3, 0, 0, 0, 0}, {3, 0, 0, 0, 0}, {3, 0, 0, 0, 0}}, } // Proven impossible #declare SOMA033 = array[5][3][5] { {{0, 0, 0, 0, 1}, {0, 0, 0, 0, 1}, {0, 0, 0, 0, 1}}, {{0, 0, 0, 0, 1}, {0, 0, 0, 0, 1}, {0, 0, 0, 0, 1}}, {{0, 0, 1, 1, 1}, {0, 0, 1, 1, 1}, {0, 0, 1, 1, 1}}, {{0, 0, 1, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 1, 0, 0}}, {{1, 1, 1, 0, 0}, {1, 1, 1, 0, 0}, {1, 1, 1, 0, 0}}, } #declare SOMA034 = array[4][2][6] { {{0, 0, 0, 0, 0, 0}, {0, 0, 0, 3, 3, 3}}, {{7, 4, 4, 0, 0, 0}, {7, 7, 4, 4, 3, 2}}, {{5, 1, 1, 0, 0, 0}, {7, 6, 6, 2, 2, 2}}, {{5, 1, 6, 0, 0, 0}, {5, 5, 6, 0, 0, 0}}, } #declare SOMA035 = array[5][2][6] { {{0, 0, 0, 0, 0, 0}, {0, 0, 0, 2, 2, 2}}, {{0, 0, 0, 0, 0, 0}, {0, 0, 0, 4, 4, 2}}, {{7, 7, 3, 0, 0, 0}, {7, 3, 3, 3, 4, 4}}, {{7, 5, 5, 0, 0, 0}, {6, 1, 1, 0, 0, 0}}, {{6, 6, 5, 0, 0, 0}, {6, 1, 5, 0, 0, 0}}, } #declare SOMA036 = array[6][2][6] { {{0, 0, 0, 0, 4, 7}, {0, 0, 0, 0, 7, 7}}, {{0, 0, 0, 4, 4, 0}, {0, 0, 0, 1, 1, 7}}, {{0, 0, 6, 4, 0, 0}, {0, 0, 6, 6, 1, 0}}, {{0, 2, 6, 0, 0, 0}, {0, 2, 2, 2, 0, 0}}, {{5, 3, 0, 0, 0, 0}, {3, 3, 3, 0, 0, 0}}, {{5, 0, 0, 0, 0, 0}, {5, 5, 0, 0, 0, 0}}, } #declare SOMA037 = array[7][2][5] { {{0, 0, 5, 0, 0}, {0, 0, 5, 0, 0}}, {{6, 0, 0, 0, 7}, {6, 5, 5, 7, 7}}, {{0, 0, 0, 0, 0}, {6, 6, 4, 4, 7}}, {{0, 0, 0, 0, 0}, {3, 3, 3, 4, 4}}, {{0, 0, 0, 0, 0}, {0, 3, 2, 2, 0}}, {{0, 0, 0, 0, 0}, {0, 1, 1, 2, 0}}, {{0, 0, 0, 0, 0}, {0, 1, 0, 2, 0}}, } // The DOG // (I have 3 possible solutions, this is the best) // shown at its end to allow solve #declare SOMA038 = array[4][6][4] { {{0, 0, 0, 0}, {0, 7, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}, {{0, 7, 0, 6}, {7, 7, 6, 6}, {0, 0, 5, 0}, {0, 0, 5, 1}, {0, 0, 1, 1}, {0, 2, 2, 2}}, {{0, 0, 0, 0}, {0, 4, 6, 0}, {0, 4, 0, 0}, {0, 5, 5, 0}, {0, 3, 0, 0}, {0, 2, 0, 0}}, {{0, 4, 0, 0}, {0, 4, 0, 0}, {0, 0, 0, 0}, {0, 3, 0, 0}, {0, 3, 0, 0}, {0, 3, 0, 0}}, } // This is seen from above, It's not an easy view, but // maybe it'll help you doing this tilted figure. // It's slightly unstable in my solution, and better // solutions are wanted! // . . . . . . . 2 . . . 2 . 2 . 3 . . . 2 // . . . . . . . . . . . 3 . 1 . 3 . . . 1 // . . . . . . . . . . . 6 . 6 . 3 . 6 . 1 // * . . . * * . . . * * 6 . 4 * * . . . * // . 7 . 7 . . . 7 . . . 5 . 4 . 5 . 5 . 4 // . * . * . . * 7 * . . * . * . 5 * . * 4 #declare SOMA039 = array[5][6][3] { {{0, 0, 0}, {0, 0, 0}, {0, 4, 0}, {0, 4, 0}, {7, 7, 6}, {7, 0, 6}}, {{0, 0, 0}, {0, 4, 0}, {0, 4, 0}, {0, 3, 0}, {7, 6, 6}, {0, 0, 0}}, {{0, 0, 0}, {0, 0, 0}, {0, 3, 0}, {0, 3, 0}, {5, 5, 1}, {5, 0, 1}}, {{0, 2, 0}, {0, 2, 0}, {0, 2, 0}, {0, 3, 0}, {0, 0, 0}, {5, 0, 1}}, {{0, 2, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}}, } #declare SOMA040 = array[5][6][3] { {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {6, 0, 7}, {6, 7, 7}}, {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {1, 0, 4}, {6, 6, 7}}, {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {1, 5, 4}, {1, 5, 4}}, {{0, 2, 0}, {0, 2, 0}, {0, 2, 0}, {0, 3, 0}, {3, 3, 3}, {5, 5, 4}}, {{0, 2, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}}, } #declare SOMA041 = array[5][5][3] { {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {6, 0, 1}, {6, 6, 1}}, {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {6, 4, 4}, {4, 4, 1}}, {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {7, 5, 5}, {3, 3, 3}}, {{0, 2, 0}, {0, 2, 0}, {0, 2, 0}, {7, 7, 5}, {7, 3, 5}}, {{0, 2, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}}, } #declare SOMA042 = array[5][4][3] { {{0, 0, 0}, {0, 0, 0}, {3, 3, 3}, {4, 3, 6}}, {{0, 0, 0}, {0, 0, 0}, {4, 6, 1}, {4, 6, 6}}, {{0, 0, 0}, {0, 0, 0}, {4, 1, 1}, {5, 5, 7}}, {{0, 2, 0}, {0, 2, 0}, {5, 2, 7}, {5, 7, 7}}, {{0, 2, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}}, } #declare SOMA043 = array[5][7][3] { {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 4, 0}, {0, 0, 0}}, {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 4, 0}, {0, 4, 0}}, {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 3, 0}, {0, 3, 0}, {0, 3, 0}, {0, 4, 0}}, {{0, 2, 0}, {0, 2, 0}, {0, 2, 0}, {1, 6, 6}, {1, 3, 6}, {5, 5, 7}, {5, 7, 7}}, {{0, 2, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {1, 0, 6}, {0, 0, 0}, {5, 0, 7}}, } #declare SOMA044 = array[5][7][3] { {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 4, 0}, {0, 0, 0}, {0, 0, 0}}, {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 4, 0}, {0, 4, 0}, {0, 0, 0}, {0, 0, 0}}, {{0, 0, 0}, {6, 6, 3}, {5, 5, 3}, {5, 4, 3}, {0, 2, 0}, {0, 2, 0}, {0, 2, 0}}, {{0, 7, 0}, {6, 7, 7}, {6, 1, 3}, {5, 1, 1}, {0, 2, 0}, {0, 0, 0}, {0, 0, 0}}, {{0, 0, 0}, {0, 7, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}}, } #declare SOMA045 = array[4][8][4] { {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 5, 6, 0}, {5, 5, 6, 6}}, {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 5, 6, 0}, {0, 0, 0, 0}}, {{0, 7, 7, 0}, {0, 3, 7, 0}, {0, 3, 3, 0}, {0, 3, 4, 0}, {0, 4, 4, 0}, {0, 4, 2, 0}, {0, 1, 2, 0}, {1, 1, 2, 2}}, {{0, 0, 7, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}, } #declare SOMA046 = array[5][3][7] { {{0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {6, 6, 0, 0, 0, 0, 0}}, {{0, 0, 0, 0, 0, 0, 0}, {0, 6, 0, 0, 0, 0, 0}, {0, 6, 2, 2, 0, 0, 0}}, {{0, 0, 0, 0, 0, 0, 3}, {1, 1, 7, 4, 4, 3, 3}, {1, 7, 7, 2, 4, 4, 3}}, {{0, 0, 0, 0, 0, 0, 0}, {0, 5, 0, 0, 0, 0, 0}, {0, 5, 7, 2, 0, 0, 0}}, {{0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {5, 5, 0, 0, 0, 0, 0}}, } // 9.1.1999 #declare SOMA047 = array[3][3][4] { {{3, 0, 0, 0}, {5, 4, 4, 1}, {5, 5, 4, 4}}, {{3, 0, 0, 0}, {3, 2, 6, 1}, {7, 5, 6, 1}}, {{3, 0, 0, 0}, {7, 2, 2, 2}, {7, 7, 6, 6}}, } #declare SOMA048 = array[3][3][4] { {{3, 4, 0, 0}, {5, 4, 4, 0}, {5, 5, 4, 2}}, {{3, 1, 0, 0}, {3, 1, 6, 0}, {7, 5, 6, 2}}, {{3, 1, 0, 0}, {7, 6, 6, 0}, {7, 7, 2, 2}}, } // 9.1.1999 Ears - Mickey #declare SOMA049 = array[3][4][3] { {{0, 0, 3}, {0, 3, 3}, {2, 1, 3}, {2, 2, 2}}, {{0, 0, 0}, {4, 6, 6}, {4, 1, 1}, {5, 5, 7}}, {{4, 0, 0}, {4, 6, 0}, {5, 6, 7}, {5, 7, 7}}, } #declare SOMA050 = array[6][2][5] { {{0, 0, 0, 0, 0}, {0, 0, 3, 0, 0}}, {{0, 0, 0, 0, 0}, {0, 3, 3, 3, 0}}, {{0, 0, 0, 0, 0}, {1, 4, 4, 2, 2}}, {{0, 0, 0, 0, 0}, {1, 1, 4, 4, 2}}, {{0, 0, 0, 0, 0}, {5, 6, 6, 7, 2}}, {{0, 5, 6, 7, 0}, {5, 5, 6, 7, 7}}, } //Shape identifiers #declare Soma2Count = 25; #declare Soma2 = array[Soma2Count]; #declare Soma2[0]=SOMA026 #declare Soma2[1]=SOMA027 #declare Soma2[2]=SOMA028 #declare Soma2[3]=SOMA029 #declare Soma2[4]=SOMA030 #declare Soma2[5]=SOMA031 #declare Soma2[6]=SOMA032 #declare Soma2[7]=SOMA033 #declare Soma2[8]=SOMA034 #declare Soma2[9]=SOMA035 #declare Soma2[10]=SOMA036 #declare Soma2[11]=SOMA037 #declare Soma2[12]=SOMA038 #declare Soma2[13]=SOMA039 #declare Soma2[14]=SOMA040 #declare Soma2[15]=SOMA041 #declare Soma2[16]=SOMA042 #declare Soma2[17]=SOMA043 #declare Soma2[18]=SOMA044 #declare Soma2[19]=SOMA045 #declare Soma2[20]=SOMA046 #declare Soma2[21]=SOMA047 #declare Soma2[22]=SOMA048 #declare Soma2[23]=SOMA049 #declare Soma2[24]=SOMA050 //End of Soma2 shapes.