import java.applet.*; 
import java.awt.*; 
import java.awt.image.*; 
import java.awt.event.*; 
import java.io.*; 
import java.net.*; 
import java.text.*; 
import java.util.*; 
import java.util.zip.*; 

public class clockiepoo extends ProcessingApplet {BagelImage clock;

double arr[] = {-0.00435559, 0.00209845, 0.00423088, -0.00240483, 0.00252304, 0.00411141, -0.000454348, 0.00294758, 0.0039874, 0.00149586, 0.00337205, 0.00385884, 0.00344577, 0.00379646, 0.00372574, 0.00539539, 0.0042208, 0.0035881, 0.00734471, 0.00464508, 0.00344592, 0.00929372, 0.00506929, 0.00329921, 0.0112424, 0.00549342, 0.00314795, 0.0131908, 0.00591748, 0.00299215, 0.0151388, 0.00634147, 0.00283182, 0.0170865, 0.00676538, 0.00266695, 0.0190338, 0.00718922, 0.00249754, 0.0209808, 0.00761297, 0.0023236, 0.0229274, 0.00803664, 0.00214512, 0.0248737, 0.00846023, 0.0019621, 0.0268196, 0.00888374, 0.00177456, 0.0287651, 0.00930716, 0.00158247, 0.0307102, 0.00973049, 0.00138586, 0.0326549, 0.0101537, 0.00118471, 0.0345991, 0.0105769, 0.000979034, 0.036543, 0.0109999, 0.000768824, 0.0384865, 0.0114229, 0.000554085, 0.0404295, 0.0118458, 0.000334815, 0.042372, 0.0122685, 0.000111017, 0.0443142, 0.0126912, -0.000117308, 0.0462559, 0.0131138, -0.000350162, 0.0481971, 0.0135362, -0.000587541, 0.0501378, 0.0139586, -0.000829447, 0.0520781, 0.0143809, -0.00107588, 0.0540179, 0.014803, -0.00132683, 0.0559572, 0.015225, -0.00158231, 0.057896, 0.015647, -0.00184231, 0.0598342, 0.0160688, -0.00210683, 0.061772, 0.0164905, -0.00237587, 0.0637093, 0.016912, -0.00264943, 0.065646, 0.0173335, -0.00292752, 0.0675822, 0.0177548, -0.00321011, 0.0695178, 0.0181761, -0.00349723, 0.0714529, 0.0185971, -0.00378886, 0.0733874, 0.0190181, -0.00408501, 0.0753214, 0.019439, -0.00438567, 0.0772547, 0.0198597, -0.00469085, 0.0791876, 0.0202803, -0.00500054, 0.0811198, 0.0207007, -0.00531474, 0.0830514, 0.021121, -0.00563345, 0.0849824, 0.0215412, -0.00595667, 0.0869128, 0.0219613, -0.0062844, 0.0888426, 0.0223812, -0.00661664, 0.0907717, 0.0228009, -0.00695338, 0.0927003, 0.0232206, -0.00729463, 0.0946281, 0.02364, -0.00764039, 0.0965554, 0.0240594, -0.00799064, 0.0984819, 0.0244786, -0.0083454, 0.100408, 0.0248976, -0.00870466, 0.102333, 0.0253165, -0.00906843, 0.104258, 0.0257352, -0.00943669, 0.106181, 0.0261538, -0.00980944, 0.108105, 0.0265723, -0.0101867, 0.110027, 0.0269905, -0.0105685, 0.111949, 0.0274087, -0.0109547, 0.11387, 0.0278266, -0.0113454, 0.11579, 0.0282444, -0.0117407, 0.11771, 0.028662, -0.0121404, 0.119629, 0.0290795, -0.0125446, 0.121547, 0.0294968, -0.0129533, 0.123464, 0.0299139, -0.0133665, 0.124477, 0.0308287, -0.013619, 0.124501, 0.0328028, -0.0137159, 0.124893, 0.0347552, -0.0138892, 0.125556, 0.036628, -0.0141164, 0.126471, 0.0383853, -0.0143931, 0.127628, 0.039986, -0.014716, 0.128992, 0.0414069, -0.0150776, 0.130544, 0.0426018, -0.0154724, 0.132248, 0.043568, -0.0158933, 0.134073, 0.0442702, -0.0163324, 0.135978, 0.0447023, -0.0167804, 0.137927, 0.0448518, -0.0172285, 0.139878, 0.0447146, -0.0176671, 0.141793, 0.0442994, -0.0180873, 0.14363, 0.0436041, -0.0184786, 0.145358, 0.0426568, -0.0188341, 0.146933, 0.0414611, -0.0191429, 0.148333, 0.0400555, -0.0194007, 0.149521, 0.0384595, -0.0195991, 0.150421, 0.0366946, -0.0197203, 0.151703, 0.0362142, -0.0200027, 0.153606, 0.0366328, -0.0204866, 0.155509, 0.0370512, -0.0209749, 0.157411, 0.0374695, -0.0214678, 0.159311, 0.0378875, -0.021965, 0.161211, 0.0383053, -0.0224668, 0.16311, 0.0387229, -0.022973, 0.165008, 0.0391403, -0.0234837, 0.166906, 0.0395576, -0.0239988, 0.168802, 0.0399745, -0.0245184, 0.170697, 0.0403913, -0.0250424, 0.172591, 0.0408079, -0.0255709, 0.174485, 0.0412243, -0.0261038, 0.176377, 0.0416404, -0.0266412, 0.178269, 0.0420564, -0.027183, 0.180159, 0.0424721, -0.0277293, 0.182049, 0.0428876, -0.02828, 0.183937, 0.0433028, -0.0288352, 0.185825, 0.0437179, -0.0293948, 0.187711, 0.0441327, -0.0299589, 0.189597, 0.0445473, -0.0305273, 0.191481, 0.0449617, -0.0311003, 0.193365, 0.0453758, -0.0316776, 0.195247, 0.0457897, -0.0322594, 0.197128, 0.0462034, -0.0328456, 0.199009, 0.0466168, -0.0334363, 0.200783, 0.0468582, -0.033988, 0.201219, 0.0449064, -0.033988, 0.201656, 0.0429546, -0.033988, 0.199781, 0.0425226, -0.0333932, 0.197903, 0.0420961, -0.0328029, 0.196025, 0.0416693, -0.032217, 0.194145, 0.0412423, -0.0316355, 0.192264, 0.0408151, -0.0310585, 0.190383, 0.0403877, -0.0304859, 0.1885, 0.03996, -0.0299177, 0.186617, 0.0395321, -0.029354, 0.184732, 0.039104, -0.0287947, 0.182846, 0.0386756, -0.0282399, 0.18096, 0.038247, -0.0276895, 0.179072, 0.0378182, -0.0271435, 0.177183, 0.0373892, -0.026602, 0.175294, 0.03696, -0.026065, 0.173403, 0.0365305, -0.0255324, 0.171512, 0.0361009, -0.0250042, 0.169619, 0.035671, -0.0244805, 0.167726, 0.0352409, -0.0239612, 0.165832, 0.0348106, -0.0234464, 0.163936, 0.0343802, -0.0229361, 0.16204, 0.0339495, -0.0224302, 0.160143, 0.0335185, -0.0219288, 0.158245, 0.0330874, -0.0214318, 0.156346, 0.0326561, -0.0209393, 0.154447, 0.0322246, -0.0204513, 0.152546, 0.0317929, -0.0199677, 0.151774, 0.030706, -0.0197238, 0.151645, 0.0287203, -0.0195866, 0.151232, 0.0267743, -0.0193843, 0.150544, 0.0249143, -0.0191221, 0.149608, 0.0231733, -0.0188094, 0.148434, 0.0215908, -0.0184514, 0.147051, 0.0201967, -0.0180573, 0.145485, 0.0190187, -0.0176359, 0.143767, 0.0180853, -0.0171961, 0.141935, 0.0174062, -0.0167478, 0.140021, 0.0170096, -0.0163001, 0.138069, 0.016887, -0.015862, 0.136117, 0.0170568, -0.0154427, 0.134205, 0.0175026, -0.0150494, 0.132372, 0.0182232, -0.0146901, 0.130655, 0.019201, -0.014371, 0.129089, 0.0204148, -0.0140971, 0.127709, 0.0218449, -0.0138745, 0.126536, 0.0234545, -0.0137044, 0.125746, 0.0252554, -0.0136237, 0.12708, 0.026204, -0.013947, 0.128579, 0.0258608, -0.0142465, 0.129626, 0.0241657, -0.014388, 0.130984, 0.0227169, -0.0146082, 0.132554, 0.0215123, -0.014887, 0.13432, 0.0206388, -0.0152261, 0.136205, 0.0200864, -0.0156097, 0.138152, 0.0198977, -0.0160287, 0.140098, 0.0200711, -0.0164697, 0.141978, 0.020591, -0.016918, 0.143725, 0.021467, -0.0173584, 0.145299, 0.0226298, -0.0177786, 0.146613, 0.0240914, -0.0181575, 0.147671, 0.0257554, -0.0184906, 0.148387, 0.0276022, -0.0187551, 0.148785, 0.0295497, -0.0189513, 0.148818, 0.0315419, -0.0190643, 0.148503, 0.0335127, -0.0190939, 0.147849, 0.0353971, -0.0190389, 0.146863, 0.0371275, -0.0188974, 0.145605, 0.0386645, -0.0186824, 0.144079, 0.0399229, -0.0183913, 0.142374, 0.0409107, -0.0180465, 0.140514, 0.0415341, -0.01765, 0.13858, 0.0418324, -0.0172237, 0.13663, 0.0417505, -0.0167786, 0.134727, 0.0413194, -0.016331, 0.132934, 0.0405429, -0.0158956, 0.131315, 0.0394401, -0.0154864, 0.129908, 0.0380678, -0.0151143, 0.12879, 0.0364408, -0.0147953, 0.12795, 0.0346465, -0.01453, 0.127483, 0.0327056, -0.0143384, 0.127336, 0.0307182, -0.0142133, 0.127569, 0.0287367, -0.0141689, 0.128134, 0.0268226, -0.014198, 0.126625, 0.0260667, -0.013845, 0.12473, 0.0255656, -0.0134272, 0.122817, 0.0251267, -0.0130134, 0.120904, 0.0246876, -0.012604, 0.11899, 0.0242484, -0.0121991, 0.117076, 0.023809, -0.0117988, 0.11516, 0.0233694, -0.0114029, 0.113244, 0.0229296, -0.0110115, 0.111328, 0.0224897, -0.0106246, 0.10941, 0.0220497, -0.0102422, 0.107492, 0.0216095, -0.00986426, 0.105573, 0.0211691, -0.00949085, 0.103653, 0.0207286, -0.00912193, 0.101733, 0.0202879, -0.00875751, 0.0998122, 0.0198471, -0.00839759, 0.0978906, 0.0194061, -0.00804217, 0.0959683, 0.018965, -0.00769126, 0.0940454, 0.0185237, -0.00734485, 0.0921219, 0.0180823, -0.00700294, 0.0901977, 0.0176407, -0.00666554, 0.0882729, 0.017199, -0.00633264, 0.0863474, 0.0167572, -0.00600425, 0.0844214, 0.0163152, -0.00568037, 0.0824947, 0.0158731, -0.005361, 0.0805675, 0.0154309, -0.00504615, 0.0786396, 0.0149885, -0.0047358, 0.0767112, 0.014546, -0.00442996, 0.0747822, 0.0141034, -0.00412864, 0.0728526, 0.0136606, -0.00383183, 0.0709225, 0.0132177, -0.00353954, 0.0689918, 0.0127747, -0.00325176, 0.0670606, 0.0123316, -0.00296851, 0.0651288, 0.0118883, -0.00268977, 0.0631965, 0.011445, -0.00241554, 0.0612637, 0.0110015, -0.00214584, 0.0593304, 0.0105579, -0.00188066, 0.0573965, 0.0101142, -0.00162, 0.0554622, 0.00967035, -0.00136386, 0.0535273, 0.00922642, -0.00111225, 0.051592, 0.00878237, -0.000865155, 0.0496562, 0.00833822, -0.000622588, 0.0477199, 0.00789396, -0.000384548, 0.0457832, 0.00744961, -0.000151034, 0.043846, 0.00700514, 7.79536e-005, 0.0419084, 0.00656058, 0.000302412, 0.0399703, 0.00611592, 0.000522343, 0.0380318, 0.00567117, 0.000737744, 0.0360929, 0.00522632, 0.000948615, 0.0341535, 0.00478137, 0.00115496, 0.0322138, 0.00433633, 0.00135676, 0.0302736, 0.00389121, 0.00155404, 0.028333, 0.003446, 0.00174679, 0.0263921, 0.0030007, 0.001935, 0.0244508, 0.00255531, 0.00211867, 0.0225091, 0.00210984, 0.00229781, 0.020567, 0.00166429, 0.00247242, 0.0186246, 0.00121866, 0.00264249, 0.0166818, 0.000772953, 0.00280802, 0.0147387, 0.000327169, 0.00296902, 0.0127953, -0.00011869, 0.00312548, 0.0108515, -0.000564622, 0.0032774, 0.00890744, -0.00101063, 0.00342478, 0.00696304, -0.0014567, 0.00356762, 0.00501833, -0.00190284, 0.00370592, 0.00307334, -0.00234905, 0.00383968, 0.00112805, -0.00279532, 0.0039689, -0.000817522, -0.00324165, 0.00409358, -0.00276337, -0.00368805, 0.00421372, -0.00342015, -0.00208648, 0.00423088, -0.00385643, -0.000134651, 0.00423088, -0.00429272, 0.00181718, 0.00423088, -0.00151181, -0.00238734, 0.00412356, -7.31282e-005, -0.00112222, 0.00401988, -0.000365871, 0.000781909, 0.00401174, -0.00212745, 0.00155591, 0.00410777, -0.00372273, 0.000481194, 0.0042153, -0.00367058, -0.0014445, 0.004237, -0.00201933, -0.00243344, 0.00415412};
int  rawArray[];
float goodArray[][];
float hourConversion = (TWO_PI/12);
float minutesConversion = (TWO_PI/60);
float clockOffset = (TWO_PI/4) + (TWO_PI/27);
float hourMoveStat = ((TWO_PI/12)/60);

void setup() {
  size(400, 369);
  colorMode(RGB, 255);
  rawArray = new int[arr.length];  
  int pos=0;
  goodArray=new float[276][3];
  
  float x,y,z;
  x=y=z=0;
 
  
  clock = loadImage("newnewclock9.jpg");
}

void loop() {
  background(80);
  colorMode(RGB,100);
  stroke(0);
  fill(100,40,40);
  image(clock, 0, 0);
  
  int minutescale=(145);
  int secondscalescale= (160);//                                   
  int hourscale=(135);
  int pos = 0;
  
  stroke(255,85,0);
  fill(100,0,0);
  translate(273,290,0);
  
   pos = 0;
   push();
   
   float hourMover = getMinute() * hourMoveStat;
   
   rotateZ((float)((getHour() * hourConversion - clockOffset)+ hourMover));
   beginShape(QUADS); 
   for (int p=0; p<276; p++){
     goodArray[p][0]= (float) (arr[pos] * hourscale); pos++;
     goodArray[p][1]= (float) (arr[pos] *hourscale); pos++;
     goodArray[p][2]= (float) (arr[pos] *hourscale); pos++;
     vertex(goodArray[p][0],goodArray[p][1],goodArray[p][2]);
   }
   endShape();
   pop();
  pos = 0;
  
  push();
  rotateZ((getMinute() * minutesConversion - clockOffset));
  beginShape(QUADS); 
   for (int p=0; p<276; p++){
     goodArray[p][0]= (float) (arr[pos] * minutescale); pos++;
     goodArray[p][1]= (float) (arr[pos] * minutescale); pos++;
     goodArray[p][2]= (float) (arr[pos] * minutescale); pos++;
     vertex(goodArray[p][0],goodArray[p][1],goodArray[p][2]);
   }
   endShape();
   pop();
   
   pos = 0;
   push();
   rotateZ((getSecond()) * minutesConversion - clockOffset);
   beginShape(QUADS); 
   for (int p=0; p<276; p++){
     goodArray[p][0]= (float) (arr[pos] * secondscalescale); pos++;
     goodArray[p][1]= (float) (arr[pos] * secondscalescale); pos++;
     goodArray[p][2]= (float) (arr[pos] * secondscalescale); pos++;
     vertex(goodArray[p][0],goodArray[p][1],goodArray[p][2]);
   }
   endShape();
   pop();
   
   
  
}
  
  
  
  
  
  
  
  
  
  
    
  
  
  
  
  
  
  
  
  


}