[Sie-announce] SIEコード [1358] STArcオブジェクトのコードの整理

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2009年 10月 24日 (土) 19:56:26 JST


Revision: 1358
          http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=1358
Author:   dhrname
Date:     2009-10-24 19:56:26 +0900 (Sat, 24 Oct 2009)

Log Message:
-----------
STArcオブジェクトのコードの整理

Modified Paths:
--------------
    branches/05x/053/sie.js

Modified: branches/05x/053/sie.js
===================================================================
--- branches/05x/053/sie.js	2009-10-24 10:44:15 UTC (rev 1357)
+++ branches/05x/053/sie.js	2009-10-24 10:56:26 UTC (rev 1358)
@@ -1652,11 +1652,11 @@
 };
 //弧をベジェ曲線に変換
 STArc.prototype.set = function starcset(x1,y1,rx,ry,psai,fA,fS,x4,y4) {
-  var fS = parseFloat(fS),  rx = parseFloat(rx),  ry = parseFloat(ry),  psai = parseFloat(psai),  x1 = parseFloat(x1),  x4 = parseFloat(x4),  y1 = parseFloat(y1),  y4 = parseFloat(y4);
+  var fS = parseFloat(fS), rx = parseFloat(rx), ry = parseFloat(ry), psai = parseFloat(psai),  x1 = parseFloat(x1),  x4 = parseFloat(x4),  y1 = parseFloat(y1),  y4 = parseFloat(y4);
   if (rx === 0 || ry === 0) {throw "line";}
   rx = Math.abs(rx); ry = Math.abs(ry);
   var ccx = (x1 - x4) / 2,  ccy = (y1 - y4) / 2;
-  var cpsi = Math.cos(psai*Math.PI/180),  spsi = Math.sin(psai*Math.PI/180);
+  var cpsi = Math.cos(psai*Math.PI/180), spsi = Math.sin(psai*Math.PI/180);
   var x1d = cpsi*ccx + spsi*ccy,  y1d = -1*spsi*ccx + cpsi*ccy;
   var x1dd = x1d * x1d, y1dd = y1d * y1d;
   var rxx = rx * rx, ryy = ry * ry;
@@ -1675,8 +1675,8 @@
   }
   var cxd = sds*rx*y1d / ry,  cyd = -1 * sds*ry*x1d / rx;
   var cx = cpsi*cxd - spsi*cyd + (x1+x4)/2, cy = spsi*cxd + cpsi*cyd + (y1+y4)/2;
-  var s1 = this.CVAngle(1,0,(x1d-cxd)/rx,(y1d-cyd)/ry);
-  var dr = this.CVAngle((x1d-cxd)/rx,(y1d-cyd)/ry,(-x1d-cxd)/rx,(-y1d-cyd)/ry);
+  var s1 = this.CVAngle(1,0,(x1d-cxd)/rx, (y1d-cyd)/ry);
+  var dr = this.CVAngle((x1d-cxd)/rx, (y1d-cyd)/ry, (-x1d-cxd)/rx, (-y1d-cyd)/ry);
   if (!fS  &&  dr > 0) {
     dr -=   2*Math.PI;
   } else if (fS  &&  dr < 0) {
@@ -1687,22 +1687,17 @@
   var segr = dr / seg;
   var nea = [];
   var t = 8/3 * Math.sin(segr/4) * Math.sin(segr/4) / Math.sin(segr/2);
-  var cpsirx = cpsi * rx;
-  var cpsiry = cpsi * ry;
-  var spsirx = spsi * rx;
-  var spsiry = spsi * ry;
+  var cpsirx = cpsi * rx, cpsiry = cpsi * ry;
+  var spsirx = spsi * rx, spsiry = spsi * ry;
   var mc = Math.cos(s1);
   var ms = Math.sin(s1);
-  var x2 = x1 - t * (cpsirx * ms + spsiry * mc);
-  var y2 = y1 - t * (spsirx * ms - cpsiry * mc);
+  var x2 = x1 - t * (cpsirx * ms + spsiry * mc), y2 = y1 - t * (spsirx * ms - cpsiry * mc);
   for (var i = 0; i < seg; ++i) {
     s1 += segr;
     mc = Math.cos(s1);
     ms = Math.sin(s1);
-    var x3 = cpsirx * mc - spsiry * ms + cx;
-    var y3 = spsirx * mc + cpsiry * ms + cy;
-    var dx = -t * (cpsirx * ms + spsiry * mc);
-    var dy = -t * (spsirx * ms - cpsiry * mc);
+    var x3 = cpsirx * mc - spsiry * ms + cx, y3 = spsirx * mc + cpsiry * ms + cy;
+    var dx = -t * (cpsirx * ms + spsiry * mc), dy = -t * (spsirx * ms - cpsiry * mc);
     nea = nea.concat([x2, y2, x3 - dx, y3 - dy, x3, y3]);
     x2 = x3 + dx;
     y2 = y3 + dy;




Sie-announce メーリングリストの案内
Back to archive index