remove engine and glyphwiki from repogitry.
[chise/kage.git] / curve.js
diff --git a/curve.js b/curve.js
deleted file mode 100644 (file)
index 7acb013..0000000
--- a/curve.js
+++ /dev/null
@@ -1,195 +0,0 @@
-function divide_curve(kage, x1, y1, sx1, sy1, x2, y2, curve, div_curve, off_curve){\r
-  var rate = 0.5;\r
-  var cut = Math.floor(curve.length * rate);\r
-  var cut_rate = cut / curve.length;\r
-  var tx1 = x1 + (sx1 - x1) * cut_rate;\r
-  var ty1 = y1 + (sy1 - y1) * cut_rate;\r
-  var tx2 = sx1 + (x2 - sx1) * cut_rate;\r
-  var ty2 = sy1 + (y2 - sy1) * cut_rate;\r
-  var tx3 = tx1 + (tx2 - tx1) * cut_rate;\r
-  var ty3 = ty1 + (ty2 - ty1) * cut_rate;\r
-  \r
-  div_curve[0] = new Array();\r
-  div_curve[1] = new Array();\r
-  off_curve[0] = new Array(6);\r
-  off_curve[1] = new Array(6);\r
-  \r
-  // must think about 0 : <0\r
-  var i;\r
-  for(i = 0; i <= cut; i++){\r
-    div_curve[0].push(curve[i]);\r
-  }\r
-  off_curve[0][0] = x1;\r
-  off_curve[0][1] = y1;\r
-  off_curve[0][2] = tx1;\r
-  off_curve[0][3] = ty1;\r
-  off_curve[0][4] = tx3;\r
-  off_curve[0][5] = ty3;\r
-  \r
-  for(i = cut; i < curve.length; i++){\r
-    div_curve[1].push(curve[i]);\r
-  }\r
-  off_curve[1][0] = tx3;\r
-  off_curve[1][1] = ty3;\r
-  off_curve[1][2] = tx2;\r
-  off_curve[1][3] = ty2;\r
-  off_curve[1][4] = x2;\r
-  off_curve[1][5] = y2;\r
-}\r
-\r
-// ------------------------------------------------------------------\r
-function find_offcurve(kage, curve, sx, sy, result){\r
-  var nx1, ny1, nx2, ny2, tx, ty;\r
-  var minx, miny, count, diff;\r
-  var tt, t, x, y, ix, iy;\r
-  var mindiff = 100000;\r
-  var area = 8;\r
-  var mesh = 2;\r
-  // area = 10   mesh = 5 -> 281 calcs\r
-  // area = 10   mesh = 4 -> 180 calcs\r
-  // area =  8   mesh = 4 -> 169 calcs\r
-  // area =  7.5 mesh = 3 -> 100 calcs\r
-  // area =  8   mesh = 2 ->  97 calcs\r
-  // area =  7   mesh = 2 ->  80 calcs\r
-  \r
-  nx1 = curve[0][0];\r
-  ny1 = curve[0][1];\r
-  nx2 = curve[curve.length - 1][0];\r
-  ny2 = curve[curve.length - 1][1];\r
-  \r
-  for(tx = sx - area; tx < sx + area; tx += mesh){\r
-    for(ty = sy - area; ty < sy + area; ty += mesh){\r
-      count = 0;\r
-      diff = 0;\r
-      for(tt = 0; tt < curve.length; tt++){\r
-        t = tt / curve.length;\r
-        \r
-        //calculate a dot\r
-        x = ((1.0 - t) * (1.0 - t) * nx1 + 2.0 * t * (1.0 - t) * tx + t * t * nx2);\r
-        y = ((1.0 - t) * (1.0 - t) * ny1 + 2.0 * t * (1.0 - t) * ty + t * t * ny2);\r
-        \r
-        //KATAMUKI of vector by BIBUN\r
-        ix = (nx1 - 2.0 * tx + nx2) * 2.0 * t + (-2.0 * nx1 + 2.0 * tx);\r
-        iy = (ny1 - 2.0 * ty + ny2) * 2.0 * t + (-2.0 * ny1 + 2.0 * ty);\r
-        \r
-        diff += (curve[count][0] - x) * (curve[count][0] - x) + (curve[count][1] - y) * (curve[count][1] - y);\r
-        if(diff > mindiff){\r
-          tt = curve.length;\r
-        }\r
-        count++;\r
-      }\r
-      if(diff < mindiff){\r
-        minx = tx;\r
-        miny = ty;\r
-        mindiff = diff;\r
-      }\r
-    }\r
-  }\r
-  \r
-  for(tx = minx - mesh + 1; tx <= minx + mesh - 1; tx += 0.5){\r
-    for(ty = miny - mesh + 1; ty <= miny + mesh - 1; ty += 0.5){\r
-      count = 0;\r
-      diff = 0;\r
-      for(tt = 0; tt < curve.length; tt++){\r
-        t = tt / curve.length;\r
-        \r
-        //calculate a dot\r
-        x = ((1.0 - t) * (1.0 - t) * nx1 + 2.0 * t * (1.0 - t) * tx + t * t * nx2);\r
-        y = ((1.0 - t) * (1.0 - t) * ny1 + 2.0 * t * (1.0 - t) * ty + t * t * ny2);\r
-        \r
-        //KATAMUKI of vector by BIBUN\r
-        ix = (nx1 - 2.0 * tx + nx2) * 2.0 * t + (-2.0 * nx1 + 2.0 * tx);\r
-        iy = (ny1 - 2.0 * ty + ny2) * 2.0 * t + (-2.0 * ny1 + 2.0 * ty);\r
-        \r
-        diff += (curve[count][0] - x) * (curve[count][0] - x) + (curve[count][1] - y) * (curve[count][1] - y);\r
-        if(diff > mindiff){\r
-          tt = curve.length;\r
-        }\r
-        count++;\r
-      }\r
-      if(diff < mindiff){\r
-        minx = tx;\r
-        miny = ty;\r
-        mindiff = diff;\r
-      }\r
-    }\r
-  }\r
-  \r
-  result[0] = nx1;\r
-  result[1] = ny1;\r
-  result[2] = minx;\r
-  result[3] = miny;\r
-  result[4] = nx2;\r
-  result[5] = ny2;\r
-  result[6] = mindiff;\r
-}\r
-\r
-// ------------------------------------------------------------------\r
-function get_candidate(kage, curve, a1, a2, x1, y1, sx1, sy1, x2, y2, opt3, opt4){\r
-  var x, y, ix, iy, ir, ia, ib, tt, t, deltad;\r
-  var hosomi = 0.5;\r
-  \r
-  curve[0] = new Array();\r
-  curve[1] = new Array();\r
-  \r
-  for(tt = 0; tt <= 1000; tt = tt + kage.kRate){\r
-    t = tt / 1000;\r
-    \r
-    //calculate a dot\r
-    x = ((1.0 - t) * (1.0 - t) * x1 + 2.0 * t * (1.0 - t) * sx1 + t * t * x2);\r
-    y = ((1.0 - t) * (1.0 - t) * y1 + 2.0 * t * (1.0 - t) * sy1 + t * t * y2);\r
-    \r
-    //KATAMUKI of vector by BIBUN\r
-    ix = (x1 - 2.0 * sx1 + x2) * 2.0 * t + (-2.0 * x1 + 2.0 * sx1);\r
-    iy = (y1 - 2.0 * sy1 + y2) * 2.0 * t + (-2.0 * y1 + 2.0 * sy1);\r
-    //line SUICHOKU by vector\r
-    if(ix != 0 && iy != 0){\r
-      ir = Math.atan(iy / ix * -1);\r
-      ia = Math.sin(ir) * (kage.kMinWidthT);\r
-      ib = Math.cos(ir) * (kage.kMinWidthT);\r
-    }\r
-    else if(ix == 0){\r
-      ia = kage.kMinWidthT;\r
-      ib = 0;\r
-    }\r
-    else{\r
-      ia = 0;\r
-      ib = kage.kMinWidthT;\r
-    }\r
-    \r
-    if(a1 == 7 && a2 == 0){ // L2RD: fatten\r
-      deltad = Math.pow(t, hosomi) * kage.kL2RDfatten;\r
-    }\r
-    else if(a1 == 7){\r
-      deltad = Math.pow(t, hosomi);\r
-    }\r
-    else if(a2 == 7){\r
-      deltad = Math.pow(1.0 - t, hosomi);\r
-    }\r
-    else if(opt3 > 0){\r
-      deltad = (((kage.kMinWidthT - opt4 / 2) - opt3 / 2) / (kage.kMinWidthT - opt4 / 2)) + opt3 / 2 / (kage.kMinWidthT - opt4) * t;\r
-    }\r
-    else{ deltad = 1; }\r
-    \r
-    if(deltad < 0.15){\r
-      deltad = 0.15;\r
-    }\r
-    ia = ia * deltad;\r
-    ib = ib * deltad;\r
-    \r
-    //reverse if vector is going 2nd/3rd quadrants\r
-    if(ix <= 0){\r
-      ia = ia * -1;\r
-      ib = ib * -1;\r
-    }\r
-    \r
-    temp = new Array(2);\r
-    temp[0] = x - ia;\r
-    temp[1] = y - ib;\r
-    curve[0].push(temp);\r
-    temp = new Array(2);\r
-    temp[0] = x + ia;\r
-    temp[1] = y + ib;\r
-    curve[1].push(temp);\r
-  }\r
-}\r