import java.applet.Applet; import java.awt.*; import java.awt.event.*; import java.applet.*; import java.awt.geom.*; import java.math.*; /**This class lists all the possible second coordinates of the A-atoms and the B-atoms. For the A-atoms, we only need the values between 0 and 1. Also, h is a height iff 2-h is a height. So, if necessary, we can recover the full list from the partial list.**/ public class DataHeightsRaw { /**The A heights**/ public static int[][] heightA(int k) { if(k==0) return(heightA0()); if(k==1) return(heightA1()); if(k==2) return(heightA2()); if(k==3) return(heightA3()); if(k==4) return(heightA4()); if(k==5) return(heightA5()); if(k==6) return(heightA6()); if(k==7) return(heightA7()); if(k==8) return(heightA8()); if(k==9) return(heightA9()); if(k==10) return(heightA10()); if(k==11) return(heightA11()); if(k==12) return(heightA12()); if(k==13) return(heightA13()); if(k==14) return(heightA14()); if(k==15) return(heightA15()); if(k==16) return(heightA16()); if(k==17) return(heightA17()); return(null); } public static int[][] heightB(int k) { if(k==0) return(heightB0()); if(k==1) return(heightB1()); if(k==2) return(heightB2()); if(k==3) return(heightB3()); if(k==4) return(heightB4()); if(k==5) return(heightB5()); return(null); } public static int[][] heightA0() { int[][] A={{0,0},{-144,89},{89,-55},{-55,34},{-199,123},{34,-21},{-110,68},{123,-76},{-21,13},{-165,102},{68,-42},{301,-186},{-76,47},{157,-97},{-220,136},{13,-8},{-131,81},{102,-63},{-275,170},{-42,26},{191,-118},{47,-29},{-97,60},{136,-84},{-8,5}};return(A);} public static int[][] heightA1() { int[][] A={{-8,5},{-152,94},{81,-50},{-63,39},{-207,128},{26,-16},{259,-160},{-118,73},{115,-71},{-29,18},{204,-126},{-173,107},{60,-37},{-317,196},{-84,52},{149,-92},{5,-3},{-139,86},{94,-58},{-50,31},{183,-113},{-194,120},{39,-24},{-105,65},{128,-79},{-249,154},{-16,10}};return(A);} public static int[][] heightA2() { int[][] A={{-16,10},{217,-134},{-160,99},{73,-45},{-71,44},{162,-100},{-215,133},{18,-11},{251,-155},{-126,78},{107,-66},{-37,23},{196,-121},{-181,112},{52,-32},{-325,201},{285,-176},{-92,57},{141,-87},{-236,146},{-613,379},{-3,2}};return(A);} public static int[][] heightA3() { int[][] A={{-3,2},{607,-375},{230,-142},{-147,91},{86,-53},{-291,180},{319,-197},{-58,36},{175,-108},{-202,125},{31,-19},{-113,70},{120,-74},{-257,159},{-24,15},{209,-129},{-168,104},{65,-40},{-79,49},{154,-95},{-223,138},{10,-6}};return(A);} public static int[][] heightA4() { int[][] A={{10,-6},{243,-150},{-134,83},{99,-61},{-45,28},{188,-116},{-189,117},{44,-27},{-100,62},{133,-82},{-11,7},{-155,96},{78,-48},{311,-192},{-66,41},{167,-103},{-210,130},{23,-14},{-121,75},{112,-69},{-265,164},{-32,20},{201,-124},{57,-35},{-87,54},{146,-90},{2,-1}};return(A);} public static int[][] heightA5() { int[][] A={{2,-1},{36,-22},{-19,12},{15,-9},{49,-30},{-6,4},{-61,38},{28,-17},{-27,17},{7,-4},{-48,30},{41,-25},{-14,9},{75,-46},{20,-12},{-35,22},{-1,1},{33,-20},{-22,14},{12,-7},{-43,27},{-9,6},{25,-15},{-30,19},{4,-2}};return(A);} public static int[][] heightA6() { int[][] A={{4,-2},{-140,87},{93,-57},{-51,32},{-195,121},{38,-23},{-106,66},{127,-78},{-17,11},{-161,100},{72,-44},{305,-188},{-72,45},{161,-99},{-216,134},{17,-10},{-127,79},{106,-65},{-271,168},{-38,24},{195,-120},{51,-31},{-93,58},{140,-86},{-4,3}};return(A);} public static int[][] heightA7() { int[][] A={{-4,3},{-148,92},{85,-52},{-59,37},{-203,126},{30,-18},{263,-162},{-114,71},{119,-73},{-25,16},{208,-128},{-169,105},{64,-39},{-313,194},{-80,50},{153,-94},{9,-5},{-135,84},{98,-60},{-46,29},{187,-115},{-190,118},{43,-26},{-101,63},{132,-81},{-245,152},{-12,8}};return(A);} public static int[][] heightA8() { int[][] A={{-12,8},{221,-136},{-156,97},{77,-47},{-67,42},{166,-102},{-211,131},{22,-13},{255,-157},{-122,76},{111,-68},{-33,21},{200,-123},{-177,110},{56,-34},{-321,199},{289,-178},{-88,55},{145,-89},{-232,144},{-609,377},{1,0}};return(A);} public static int[][] heightA9() { int[][] A={{1,0},{611,-377},{234,-144},{-143,89},{90,-55},{-287,178},{323,-199},{-54,34},{179,-110},{-198,123},{35,-21},{-109,68},{124,-76},{-253,157},{-20,13},{213,-131},{-164,102},{69,-42},{-75,47},{158,-97},{-219,136},{14,-8}};return(A);} public static int[][] heightA10() { int[][] A={{14,-8},{247,-152},{-130,81},{103,-63},{-41,26},{192,-118},{-185,115},{48,-29},{-96,60},{137,-84},{-7,5},{-151,94},{82,-50},{315,-194},{-62,39},{171,-105},{-206,128},{27,-16},{-117,73},{116,-71},{-261,162},{-28,18},{205,-126},{61,-37},{-83,52},{150,-92},{6,-3}};return(A);} public static int[][] heightA11() { int[][] A={{6,-3},{-138,86},{95,-58},{-49,31},{-193,120},{40,-24},{273,-168},{-104,65},{129,-79},{-15,10},{218,-134},{-159,99},{74,-45},{-303,188},{-70,44},{163,-100},{19,-11},{-125,78},{108,-66},{-36,23},{197,-121},{53,-32},{-91,57},{142,-87},{-2,2}};return(A);} public static int[][] heightA12() { int[][] A={{-2,2},{32,-19},{-23,15},{11,-6},{45,-27},{-10,7},{24,-14},{-31,20},{3,-1},{37,-22},{-18,12},{-73,46},{16,-9},{-39,25},{50,-30},{-5,4},{29,-17},{-26,17},{63,-38},{8,-4},{-47,30},{-13,9},{21,-12},{-34,22},{0,1}};return(A);} public static int[][] heightA13() { int[][] A={{0,1},{-144,90},{89,-54},{-55,35},{-199,124},{34,-20},{267,-164},{-110,69},{123,-75},{-21,14},{212,-130},{-165,103},{68,-41},{-309,192},{-76,48},{157,-96},{13,-7},{-131,82},{102,-62},{-42,27},{191,-117},{-186,116},{47,-28},{-97,61},{136,-83},{-241,150},{-8,6}};return(A);} public static int[][] heightA14() { int[][] A={{-8,6},{225,-138},{-152,95},{81,-49},{-63,40},{170,-104},{-207,129},{26,-15},{259,-159},{-118,74},{115,-70},{-29,19},{204,-125},{-173,108},{60,-36},{-317,197},{293,-180},{-84,53},{149,-91},{-228,142},{-605,375},{5,-2}};return(A);} public static int[][] heightA15() { int[][] A={{5,-2},{615,-379},{238,-146},{-139,87},{94,-57},{-283,176},{327,-201},{-50,32},{183,-112},{-194,121},{39,-23},{-105,66},{128,-78},{-249,155},{-16,11},{217,-133},{-160,100},{73,-44},{-71,45},{162,-99},{-215,134},{18,-10}};return(A);} public static int[][] heightA16() { int[][] A={{18,-10},{251,-154},{-126,79},{107,-65},{-37,24},{196,-120},{-181,113},{52,-31},{-92,58},{141,-86},{-3,3},{-147,92},{86,-52},{319,-196},{-58,37},{175,-107},{-202,126},{31,-18},{-113,71},{120,-73},{-257,160},{-24,16},{209,-128},{65,-39},{-79,50},{154,-94},{10,-5}};return(A);} public static int[][] heightA17() { int[][] A={{10,-5},{-134,84},{99,-60},{-45,29},{-189,118},{44,-26},{277,-170},{-100,63},{133,-81},{-11,8},{222,-136},{-155,97},{78,-47},{-299,186},{-66,42},{167,-102},{23,-13},{-121,76},{112,-68},{-32,21},{201,-123},{57,-34},{-87,55},{146,-89},{2,0}};return(A);} /**The B heights**/ public static int[][] heightB0() { int[][] A={{0,0},{34,-21},{-21,13},{13,-8},{47,-29},{-8,5},{26,-16},{-29,18},{5,-3},{39,-24},{-16,10},{-71,44},{18,-11},{-37,23},{52,-32},{-3,2},{31,-19},{-24,15},{65,-40},{10,-6},{-45,28},{-11,7},{23,-14},{-32,20},{2,-1}};return(A);} public static int[][] heightB1() { int[][] A={{2,-1},{36,-22},{-19,12},{15,-9},{49,-30},{-6,4},{-61,38},{28,-17},{-27,17},{7,-4},{-48,30},{41,-25},{-14,9},{75,-46},{20,-12},{-35,22},{-1,1},{33,-20},{-22,14},{12,-7},{-43,27},{46,-28},{-9,6},{25,-15},{-30,19},{59,-36},{4,-2}};return(A);} public static int[][] heightB2() { int[][] A={{4,-2},{-51,32},{38,-23},{-17,11},{17,-10},{-38,24},{51,-31},{-4,3},{-59,37},{30,-18},{-25,16},{9,-5},{-46,29},{43,-26},{-12,8},{77,-47},{-67,42},{22,-13},{-33,21},{56,-34},{145,-89},{1,0}};return(A);} public static int[][] heightB3() { int[][] A={{1,0},{-143,89},{-54,34},{35,-21},{-20,13},{69,-42},{-75,47},{14,-8},{-41,26},{48,-29},{-7,5},{27,-16},{-28,18},{61,-37},{6,-3},{-49,31},{40,-24},{-15,10},{19,-11},{-36,23},{53,-32},{-2,2}};return(A);} public static int[][] heightB4() { int[][] A={{-2,2},{-57,36},{32,-19},{-23,15},{11,-6},{-44,28},{45,-27},{-10,7},{24,-14},{-31,20},{3,-1},{37,-22},{-18,12},{-73,46},{16,-9},{-39,25},{50,-30},{-5,4},{29,-17},{-26,17},{63,-38},{8,-4},{-47,30},{-13,9},{21,-12},{-34,22},{0,1}};return(A);} public static int[][] heightB5() { int[][] A={{0,1},{34,-20},{-21,14},{13,-7},{47,-28},{-8,6},{-63,40},{26,-15},{-29,19},{5,-2},{-50,32},{39,-23},{-16,11},{73,-44},{18,-10},{-37,24},{-3,3},{31,-18},{-24,16},{10,-5},{-45,29},{-11,8},{23,-13},{-32,21},{2,0}};return(A);} }