| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | var Path = require("../Path");/** * 玫瑰线 * @module zrender/graphic/shape/Rose */var sin = Math.sin;var cos = Math.cos;var radian = Math.PI / 180;var _default = Path.extend({  type: 'rose',  shape: {    cx: 0,    cy: 0,    r: [],    k: 0,    n: 1  },  style: {    stroke: '#000',    fill: null  },  buildPath: function (ctx, shape) {    var x;    var y;    var R = shape.r;    var r;    var k = shape.k;    var n = shape.n;    var x0 = shape.cx;    var y0 = shape.cy;    ctx.moveTo(x0, y0);    for (var i = 0, len = R.length; i < len; i++) {      r = R[i];      for (var j = 0; j <= 360 * n; j++) {        x = r * sin(k / n * j % 360 * radian) * cos(j * radian) + x0;        y = r * sin(k / n * j % 360 * radian) * sin(j * radian) + y0;        ctx.lineTo(x, y);      }    }  }});module.exports = _default;
 |