Index: trunk/FACT++/www/index.js
===================================================================
--- trunk/FACT++/www/index.js	(revision 13563)
+++ trunk/FACT++/www/index.js	(revision 13564)
@@ -714,5 +714,5 @@
 
     ctx.translate(x, y);
-    ctx.scale(1/2, Math.sqrt(3)/6);
+    ctx.scale(1/2, 1/3);
 
     ctx.beginPath();
@@ -762,11 +762,11 @@
 {
     var ctx = beginDrawCam(80);
+    ctx.rotate(Math.PI/2);
+    ctx.scale(1, Math.sqrt(3)/2);
 
     drawHex(ctx, -0.5, 0, data.charCodeAt(0));
 
-    var gsSin60 = Math.sqrt(3)/2;
-
     var cnt  = 1;
-    for (var ring=1; ring<=23; ring++)
+    for (var ring=1; ring<24; ring++)
     {
         for (var s=0; s<6; s++)
@@ -779,27 +779,21 @@
                 switch (s)
                 {
-                case 0: x = ring-i*0.5;    y = i*gsSin60;         break;
-                case 1: x = ring*0.5-i;    y = ring*gsSin60;      break;
-                case 2: x = -(ring+i)*0.5; y = (ring-i)*gsSin60;  break;
-                case 3: x = 0.5*i-ring;    y = -i*gsSin60;        break;
-                case 4: x = i-ring*0.5;    y = -ring*gsSin60;     break;
-                case 5: x = (ring+i)*0.5;  y = (-ring+i)*gsSin60; break;
+                case 0: x =  ring     - i*0.5;  y =       + i; break;
+                case 1: x =  ring*0.5 - i;      y =  ring    ; break;
+                case 2: x = -ring*0.5 - i*0.5;  y =  ring - i; break;
+                case 3: x = -ring     + i*0.5;  y =       - i; break;
+                case 4: x = -ring*0.5 + i;      y = -ring    ; break;
+                case 5: x =  ring*0.5 + i*0.5;  y = -ring + i; break;
                 }
 
-                if (x*x + y*y - x > 395.75)
-                    continue;
-
-                drawHex(ctx, x-0.5, -y, data.charCodeAt(cnt));
-                cnt++;
-
-                if (cnt!=1416)
-                    continue;
-
-                drawHex(ctx, -6.5, -y, data.charCodeAt(1438));
-                drawHex(ctx, -6.5,  y, data.charCodeAt(1439));
+                if (x*x + y*y*3/4 - x < 395.75)
+                    drawHex(ctx, x-0.5, -y, data.charCodeAt(cnt++));
             }
         }
     }
 
+    drawHex(ctx, -6.5,  22, data.charCodeAt(1438));
+    drawHex(ctx, -6.5, -22, data.charCodeAt(1439));
+
     ctx.restore();
 }
@@ -807,10 +801,9 @@
 function drawCam(data)
 {
-    var ctx = beginDrawCam(28);
+    var ctx = beginDrawCam(27);
     ctx.rotate(Math.PI/6);
+    ctx.scale(1, Math.sqrt(3)/2);
 
     drawHex(ctx, 0, 0, data.charCodeAt(0));
-
-    var gsSin60 = Math.sqrt(3)/2;
 
     var cnt = 1;
@@ -826,14 +819,15 @@
                 switch (s)
                 {
-                case 0: x = ring-i*0.5;    y = i*gsSin60;         break;
-                case 1: x = ring*0.5-i;    y = ring*gsSin60;      break;
-                case 2: x = -(ring+i)*0.5; y = (ring-i)*gsSin60;  break;
-                case 3: x = 0.5*i-ring;    y = -i*gsSin60;        break;
-                case 4: x = i-ring*0.5;    y = -ring*gsSin60;     break;
-                case 5: x = (ring+i)*0.5;  y = (-ring+i)*gsSin60; break;
+                case 0: x =  ring     - i*0.5;  y =       + i; break;
+                case 1: x =  ring*0.5 - i;      y =  ring    ; break;
+                case 2: x = -ring*0.5 - i*0.5;  y =  ring - i; break;
+                case 3: x = -ring     + i*0.5;  y =       - i; break;
+                case 4: x = -ring*0.5 + i;      y = -ring    ; break;
+                case 5: x =  ring*0.5 + i*0.5;  y = -ring + i; break;
                 }
 
-                if (Math.sqrt(x*x+y*y)>6.7)
+                if (x*x + y*y*3/4 > 44)
                     continue;
+
                 if (ring==7 && i==6 && s==0)
                     continue;
@@ -845,6 +839,5 @@
                     continue;
 
-                drawHex(ctx, x, y, data.charCodeAt(cnt));
-                cnt++;
+                drawHex(ctx, x, y, data.charCodeAt(cnt++));
             }
         }
@@ -959,8 +952,8 @@
     ctx.clearRect(0, 0, canv.width, canv.height);
 
-    drawGraph(canv, result);
+//    drawGraph(canv, result);
 
 //    drawCam(result);
-//    drawFullCam(result);
+    drawFullCam(result);
 //    drawFullCam(result);
 //    drawCamLegend(canv);
