{"versions":{"1.0.1":{"name":"@jiaminghi/bezier-curve","version":"1.0.1","author":{"name":"JiaMing","email":"743192023@qq.com"},"description":"Bezier curve extension","main":"lib/index.js","unpkg":"dist/index.js","module":"es/index.js","types":"types/index.d.ts","repository":{"type":"git","url":"git+https://github.com/DataV-Team/BezierCurve.git"},"scripts":{"clean":"rimraf lib dist es types","type:check":"tsc --noEmit","lint":"eslint --ext js,ts src test","format:check":"prettier --check .","format":"prettier --write .","build":"rollup -c","prepare":"npm run clean && npm run check && npm run build","test":"mocha","check":"npm run type:check && npm run lint && npm run format:check && npm run test"},"husky":{"hooks":{"pre-commit":"npm run check","pre-push":"npm run check"}},"license":"MIT","bugs":{"url":"https://github.com/DataV-Team/BezierCurve/issues"},"keywords":["bezierCurve","polyline","smoothline","length"],"homepage":"https://github.com/DataV-Team/BezierCurve#readme","dependencies":{"@babel/runtime":"^7.5.5"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.6","@babel/plugin-transform-runtime":"^7.8.3","@babel/preset-env":"^7.8.6","@babel/preset-typescript":"^7.9.0","@babel/register":"^7.9.0","@types/chai":"^4.2.11","@types/mocha":"^7.0.2","@types/node":"^13.11.0","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","chai":"^4.2.0","eslint":"^6.8.0","husky":"^4.2.5","mocha":"^6.2.3","prettier":"^2.0.4","rimraf":"^3.0.2","rollup":"^2.6.1","rollup-plugin-babel":"^4.4.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","rollup-plugin-terser":"^5.3.0","rollup-plugin-typescript2":"^0.27.0","ts-node":"^8.8.2","typescript":"^3.8.3"},"readmeFilename":"README.md","gitHead":"cd3bb909378ed26769a4f6f6d76c8ccb2bef46e8","_id":"@jiaminghi/bezier-curve@1.0.1","_nodeVersion":"10.16.3","_npmVersion":"6.14.4","dist":{"shasum":"5e3301de45d217a115ac17e36e558f3904d9b42c","size":25136,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@jiaminghi/bezier-curve/-/bezier-curve-1.0.1.tgz"},"maintainers":[{"name":"anonymous","email":"743192023@qq.com"},{"name":"anonymous","email":"949267840@qq.com"}],"_npmUser":{"name":"anonymous","email":"743192023@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bezier-curve_1.0.1_1595410127769_0.7082792581095243"},"_hasShrinkwrap":false,"publish_time":1595410127903,"_cnpm_publish_time":1595410127903,"contributors":[]},"1.0.0":{"name":"@jiaminghi/bezier-curve","version":"1.0.0","author":{"name":"JiaMing","email":"743192023@qq.com"},"description":"Bezier curve extension","main":"lib/index.js","unpkg":"dist/index.js","module":"es/index.js","types":"types/index.d.ts","repository":{"type":"git","url":"git+https://github.com/DataV-Team/BezierCurve.git"},"scripts":{"clean":"rimraf lib dist es types","type:check":"tsc --noEmit","lint":"eslint --ext js,ts src test","format:check":"prettier --check .","format":"prettier --write .","build":"rollup -c","prepare":"npm run clean && npm run check && npm run build","test":"mocha","check":"npm run type:check && npm run lint && npm run format:check && npm run test"},"husky":{"hooks":{"pre-commit":"npm run check","pre-push":"npm run check"}},"license":"MIT","bugs":{"url":"https://github.com/DataV-Team/BezierCurve/issues"},"keywords":["bezierCurve","polyline","smoothline","length"],"homepage":"https://github.com/DataV-Team/BezierCurve#readme","dependencies":{"@babel/runtime":"^7.5.5"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.6","@babel/plugin-transform-runtime":"^7.8.3","@babel/preset-env":"^7.8.6","@babel/preset-typescript":"^7.9.0","@babel/register":"^7.9.0","@types/chai":"^4.2.11","@types/mocha":"^7.0.2","@types/node":"^13.11.0","@typescript-eslint/eslint-plugin":"^2.27.0","@typescript-eslint/parser":"^2.27.0","chai":"^4.2.0","eslint":"^6.8.0","husky":"^4.2.5","mocha":"^6.2.3","prettier":"^2.0.4","rimraf":"^3.0.2","rollup":"^2.6.1","rollup-plugin-babel":"^4.4.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","rollup-plugin-terser":"^5.3.0","rollup-plugin-typescript2":"^0.27.0","ts-node":"^8.8.2","typescript":"^3.8.3"},"gitHead":"498cccc888f27f92d46c4459fd73bddcbf59e322","_id":"@jiaminghi/bezier-curve@1.0.0","_nodeVersion":"10.16.3","_npmVersion":"6.14.4","dist":{"shasum":"5b8d15f9752a9c7671433026434cd7654625ac58","size":25150,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@jiaminghi/bezier-curve/-/bezier-curve-1.0.0.tgz"},"maintainers":[{"name":"anonymous","email":"743192023@qq.com"},{"name":"anonymous","email":"949267840@qq.com"}],"_npmUser":{"name":"anonymous","email":"743192023@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bezier-curve_1.0.0_1588412407261_0.6201805546590728"},"_hasShrinkwrap":false,"publish_time":1588412407402,"_cnpm_publish_time":1588412407402,"contributors":[]},"0.0.9":{"name":"@jiaminghi/bezier-curve","version":"0.0.9","author":{"name":"JiaMing","email":"743192023@qq.com"},"description":"Bezier curve extension","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/jiaming743/BezierCurve.git"},"scripts":{"build":"node build/index.js","prepublish":"npm run build","deploy":"node deploy/index.js","test":"mocha"},"license":"MIT","bugs":{"url":"https://github.com/jiaming743/BezierCurve/issues"},"keywords":["bezierCurve","polyline","smoothline","length"],"homepage":"https://github.com/jiaming743/BezierCurve#readme","devDependencies":{"@babel/cli":"^7.4.4","@babel/core":"^7.4.5","@babel/preset-env":"^7.5.5","@babel/plugin-transform-runtime":"^7.5.5","@babel/register":"^7.4.4","@jiaminghi/fs":"^0.0.2","browserify":"^16.5.0","chai":"^4.2.0","ftp":"^0.3.10","mocha":"^6.1.4","uglifyjs":"^2.4.11"},"dependencies":{"@babel/runtime":"^7.5.5"},"gitHead":"bc77e5508a47885fbf02a87fc92f8341b9671509","_id":"@jiaminghi/bezier-curve@0.0.9","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"anonymous","email":"743192023@qq.com"},"dist":{"shasum":"5196aca93c8b061a612b4c3eabcedf9490cef6ee","size":36996,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@jiaminghi/bezier-curve/-/bezier-curve-0.0.9.tgz"},"maintainers":[{"name":"anonymous","email":"743192023@qq.com"},{"name":"anonymous","email":"949267840@qq.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bezier-curve_0.0.9_1567063789512_0.44716249240621164"},"_hasShrinkwrap":false,"publish_time":1567063789738,"_cnpm_publish_time":1567063789738,"contributors":[]},"0.0.8":{"name":"@jiaminghi/bezier-curve","version":"0.0.8","author":{"name":"JiaMing","email":"743192023@qq.com"},"description":"Bezier curve extension","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/jiaming743/BezierCurve.git"},"scripts":{"build":"node build/index.js","prepublish":"npm run build","deploy":"node deploy/index.js","test":"mocha"},"license":"MIT","bugs":{"url":"https://github.com/jiaming743/BezierCurve/issues"},"keywords":["bezierCurve","polyline","smoothline","length"],"homepage":"https://github.com/jiaming743/BezierCurve#readme","devDependencies":{"@babel/cli":"^7.4.4","@babel/core":"^7.4.5","@babel/preset-env":"^7.5.5","@babel/register":"^7.4.4","@jiaminghi/fs":"^0.0.2","chai":"^4.2.0","ftp":"^0.3.10","mocha":"^6.1.4"},"dependencies":{"core-js":"^3.1.4"},"gitHead":"e88c27f29016fd882e42040942b413fc1ae328e8","_id":"@jiaminghi/bezier-curve@0.0.8","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"anonymous","email":"743192023@qq.com"},"dist":{"shasum":"4fc42c42c75b83e9cf2f664b48f0239d06596964","size":36772,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@jiaminghi/bezier-curve/-/bezier-curve-0.0.8.tgz"},"maintainers":[{"name":"anonymous","email":"743192023@qq.com"},{"name":"anonymous","email":"949267840@qq.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bezier-curve_0.0.8_1567059404841_0.16315673337963577"},"_hasShrinkwrap":false,"publish_time":1567059404988,"_cnpm_publish_time":1567059404988,"contributors":[]},"0.0.7":{"name":"@jiaminghi/bezier-curve","version":"0.0.7","author":{"name":"JiaMing","email":"743192023@qq.com"},"description":"Bezier curve extension","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/jiaming743/BezierCurve.git"},"scripts":{"build":"node build/index.js","prepublish":"npm run build","deploy":"node deploy/index.js","test":"mocha"},"license":"MIT","bugs":{"url":"https://github.com/jiaming743/BezierCurve/issues"},"keywords":["bezierCurve","polyline","smoothline","length"],"homepage":"https://github.com/jiaming743/BezierCurve#readme","devDependencies":{"@babel/cli":"^7.4.4","@babel/core":"^7.4.5","@babel/preset-env":"^7.4.5","@babel/register":"^7.4.4","@jiaminghi/fs":"^0.0.2","ftp":"^0.3.10","chai":"^4.2.0","mocha":"^6.1.4"},"dependencies":{"core-js":"^3.1.4"},"gitHead":"035d5dd2be9fc0cdf0900b8ab0c0c5205f05cd79","_id":"@jiaminghi/bezier-curve@0.0.7","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"anonymous","email":"743192023@qq.com"},"dist":{"shasum":"1868fd6f7dcc22bbf40875b9de5ffa0d1d37c177","size":20982,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@jiaminghi/bezier-curve/-/bezier-curve-0.0.7.tgz"},"maintainers":[{"name":"anonymous","email":"743192023@qq.com"},{"name":"anonymous","email":"949267840@qq.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bezier-curve_0.0.7_1567045828985_0.29653455646396787"},"_hasShrinkwrap":false,"publish_time":1567045829111,"_cnpm_publish_time":1567045829111,"contributors":[]},"0.0.6":{"name":"@jiaminghi/bezier-curve","version":"0.0.6","author":{"name":"JiaMing","email":"743192023@qq.com"},"description":"Bezier curve extension","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/jiaming743/BezierCurve.git"},"scripts":{"compile":"babel -d lib/ src/","prepublish":"npm run compile","test":"mocha"},"license":"MIT","bugs":{"url":"https://github.com/jiaming743/BezierCurve/issues"},"keywords":["bezierCurve","polyline","smoothline","length"],"homepage":"https://github.com/jiaming743/BezierCurve#readme","devDependencies":{"@babel/cli":"^7.4.4","@babel/core":"^7.4.5","@babel/preset-env":"^7.4.5","@babel/register":"^7.4.4","chai":"^4.2.0","mocha":"^6.1.4"},"dependencies":{"@babel/polyfill":"^7.4.4","core-js":"^3.1.4"},"gitHead":"5097f477f6dc9d0225408891a341166bba8dd756","_id":"@jiaminghi/bezier-curve@0.0.6","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"anonymous","email":"743192023@qq.com"},"dist":{"shasum":"7fe008d8d61549259925b8d59aa30d4e9ec5f242","size":16997,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@jiaminghi/bezier-curve/-/bezier-curve-0.0.6.tgz"},"maintainers":[{"name":"anonymous","email":"743192023@qq.com"},{"name":"anonymous","email":"949267840@qq.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bezier-curve_0.0.6_1562551350010_0.49282212446874096"},"_hasShrinkwrap":false,"publish_time":1562551350126,"_cnpm_publish_time":1562551350126,"contributors":[]},"0.0.5":{"name":"@jiaminghi/bezier-curve","version":"0.0.5","author":{"name":"JiaMing","email":"743192023@qq.com"},"description":"Bezier curve extension","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/jiaming743/BezierCurve.git"},"scripts":{"compile":"babel -d lib/ src/","prepublish":"npm run compile","test":"echo \"Error: no test specified\" && exit 1"},"license":"MIT","bugs":{"url":"https://github.com/jiaming743/BezierCurve/issues"},"keywords":["bezierCurve","polyline","smoothline","length"],"homepage":"https://github.com/jiaming743/BezierCurve#readme","devDependencies":{"@babel/cli":"^7.4.4","@babel/core":"^7.4.5","@babel/preset-env":"^7.4.5"},"dependencies":{"@babel/polyfill":"^7.4.4"},"gitHead":"9c35cce92b955eb14fc40f04df5848eaa3be9bc1","_id":"@jiaminghi/bezier-curve@0.0.5","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"anonymous","email":"743192023@qq.com"},"dist":{"shasum":"1c18c2752e0ed2f6871692a7cdec3c1c432599c5","size":15016,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@jiaminghi/bezier-curve/-/bezier-curve-0.0.5.tgz"},"maintainers":[{"name":"anonymous","email":"743192023@qq.com"},{"name":"anonymous","email":"949267840@qq.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bezier-curve_0.0.5_1559819653249_0.6037543666092744"},"_hasShrinkwrap":false,"publish_time":1559819653433,"_cnpm_publish_time":1559819653433,"contributors":[]},"0.0.4":{"name":"@jiaminghi/bezier-curve","version":"0.0.4","author":{"name":"JiaMing","email":"743192023@qq.com"},"description":"Bezier curve extension","main":"index.js","repository":{"type":"git","url":"git+https://github.com/jiaming743/BezierCurve.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"license":"MIT","bugs":{"url":"https://github.com/jiaming743/BezierCurve/issues"},"keywords":["bezierCurve","polyline","smoothline","length"],"homepage":"https://github.com/jiaming743/BezierCurve#readme","gitHead":"114c21b43826c3662ed19ef38ab105e7fe1acaea","_id":"@jiaminghi/bezier-curve@0.0.4","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"anonymous","email":"743192023@qq.com"},"dist":{"shasum":"2cc24cc47de00a670b18b83595d93f264cfc48c8","size":13636,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@jiaminghi/bezier-curve/-/bezier-curve-0.0.4.tgz"},"maintainers":[{"name":"anonymous","email":"743192023@qq.com"},{"name":"anonymous","email":"949267840@qq.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bezier-curve_0.0.4_1554962998250_0.8842901295838341"},"_hasShrinkwrap":false,"publish_time":1554962998368,"_cnpm_publish_time":1554962998368,"contributors":[]},"0.0.3":{"name":"@jiaminghi/bezier-curve","version":"0.0.3","author":{"name":"JiaMing","email":"743192023@qq.com"},"description":"Bezier curve extension","main":"index.js","repository":{"type":"git","url":"git+https://github.com/jiaming743/BezierCurve.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"license":"MIT","bugs":{"url":"https://github.com/jiaming743/BezierCurve/issues"},"keywords":["bezierCurve","polyline","smoothline","length"],"homepage":"https://github.com/jiaming743/BezierCurve#readme","gitHead":"42e463323a8b8d63b29d0095b5c2f89d410a38cb","_id":"@jiaminghi/bezier-curve@0.0.3","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"anonymous","email":"743192023@qq.com"},"dist":{"shasum":"e46c4d96a8d3fbaf3232010b18d836e18afa1c64","size":13572,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@jiaminghi/bezier-curve/-/bezier-curve-0.0.3.tgz"},"maintainers":[{"name":"anonymous","email":"743192023@qq.com"},{"name":"anonymous","email":"949267840@qq.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bezier-curve_0.0.3_1554270051616_0.6351898928599209"},"_hasShrinkwrap":false,"publish_time":1554270051865,"_cnpm_publish_time":1554270051865,"contributors":[]},"0.0.2":{"name":"@jiaminghi/bezier-curve","version":"0.0.2","author":{"name":"JiaMing","email":"743192023@qq.com"},"description":"Bezier curve extension","main":"index.js","repository":{"type":"git","url":"git+https://github.com/jiaming743/BezierCurve.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"license":"MIT","bugs":{"url":"https://github.com/jiaming743/BezierCurve/issues"},"keywords":["bezierCurve","polyline","smoothline","length"],"homepage":"https://github.com/jiaming743/BezierCurve#readme","gitHead":"110d468901dcda1b6001f2d366604b09829ba370","_id":"@jiaminghi/bezier-curve@0.0.2","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"anonymous","email":"743192023@qq.com"},"dist":{"shasum":"017b04ab6c17603055fb0b9caf72b9b68eca8a44","size":13573,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@jiaminghi/bezier-curve/-/bezier-curve-0.0.2.tgz"},"maintainers":[{"name":"anonymous","email":"743192023@qq.com"},{"name":"anonymous","email":"949267840@qq.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bezier-curve_0.0.2_1554269808077_0.29066726229657114"},"_hasShrinkwrap":false,"publish_time":1554269808263,"_cnpm_publish_time":1554269808263,"contributors":[]},"0.0.1":{"name":"@jiaminghi/bezier-curve","version":"0.0.1","author":{"name":"JiaMing","email":"743192023@qq.com"},"description":"Bezier curve extension","main":"index.js","repository":{"type":"git","url":"git+https://github.com/jiaming743/BezierCurve.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"license":"MIT","bugs":{"url":"https://github.com/jiaming743/BezierCurve/issues"},"keywords":["bezierCurve","polyline","smoothline","length"],"homepage":"https://github.com/jiaming743/BezierCurve#readme","gitHead":"f667cd840d054b090a9919054df8998c61bfc99e","_id":"@jiaminghi/bezier-curve@0.0.1","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"anonymous","email":"743192023@qq.com"},"dist":{"shasum":"33a2ad361b5c53259b3b49e53511ce8229f8aeeb","size":4490,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@jiaminghi/bezier-curve/-/bezier-curve-0.0.1.tgz"},"maintainers":[{"name":"anonymous","email":"743192023@qq.com"},{"name":"anonymous","email":"949267840@qq.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bezier-curve_0.0.1_1554256861566_0.34277687428622605"},"_hasShrinkwrap":false,"publish_time":1554256861739,"_cnpm_publish_time":1554256861739,"contributors":[]}},"dist-tags":{"latest":"0.0.9","next":"1.0.1"},"name":"@jiaminghi/bezier-curve","time":{"modified":"2023-06-09T12:23:49.021Z","created":"2022-01-27T14:41:44.371Z","1.0.1":"2020-07-22T09:28:47.903Z","1.0.0":"2020-05-02T09:40:07.402Z","0.0.9":"2019-08-29T07:29:49.738Z","0.0.8":"2019-08-29T06:16:44.988Z","0.0.7":"2019-08-29T02:30:29.111Z","0.0.6":"2019-07-08T02:02:30.126Z","0.0.5":"2019-06-06T11:14:13.433Z","0.0.4":"2019-04-11T06:09:58.368Z","0.0.3":"2019-04-03T05:40:51.865Z","0.0.2":"2019-04-03T05:36:48.263Z","0.0.1":"2019-04-03T02:01:01.739Z"},"readme":"[ENGLISH](./README_EN.md)\n\n<h1 align=\"center\">Bezier Curve Extension</h1>\n\n<p align=\"center\">\n    <a href=\"https://travis-ci.com/DataV-Team/beziercurve\">\n      <img src=\"https://img.shields.io/travis/com/DataV-Team/bezierCurve.svg\" alt=\"Travis CI\">\n    </a>\n    <a href=\"https://github.com/DataV-Team/beziercurve/blob/master/LICENSE\">\n      <img src=\"https://img.shields.io/github/license/DataV-Team/beziercurve.svg\" alt=\"LICENSE\" />\n    </a>\n    <a href=\"https://www.npmjs.com/package/@jiaminghi/bezier-curve\">\n      <img src=\"https://img.shields.io/npm/v/@jiaminghi/bezier-curve.svg\" alt=\"NPM\" />\n    </a>\n</p>\n\n### 这是一个提供如下几个方法的三次贝塞尔曲线插件。\n\n- **[bezierCurveToPolyline](#bezierCurveToPolyline)**\n\n  将贝塞尔曲线抽象成由 N 个点构成的折线\n\n- **[getBezierCurveLength](#getBezierCurveLength)**\n\n  获取贝塞尔曲线的长度\n\n- **[polylineToBezierCurve](#polylineToBezierCurve)**\n\n  将由 N 个点构成的折线抽象成光滑的贝塞尔曲线\n\n### npm 安装\n\n```shell\n$ npm install @jiaminghi/bezier-curve\n```\n\n### 使用\n\n```javascript\nimport bezierCurve from '@jiaminghi/bezier-curve'\n\n// do something\n```\n\n### 快速体验\n\n```html\n<!--调试版-->\n<script src=\"https://unpkg.com/@jiaminghi/color/dist/index.js\"></script>\n<!--压缩版-->\n<script src=\"https://unpkg.com/@jiaminghi/color/dist/index.min.js\"></script>\n<script>\n  const { bezierCurveToPolyline, getBezierCurveLength, polylineToBezierCurve } = window.BezierCurve\n  // do something\n</script>\n```\n\n---\n\n<h3 align=\"center\">示例</h3>\n\n#### bezierCurve\n\n```typescript\ntype Point = [number, number]\n\n/**\n * [控制点1，控制点2，结束点]\n */\ntype BezierCurveSegment = [Point, Point, Point]\n\n/**\n * [起始点, 贝塞尔曲线段, ...]\n * 下一段贝塞尔曲线的起始点是上一段的结束点\n */\ntype BezierCurve = [Point, BezierCurveSegment, ...BezierCurveSegment[]]\n\nconst bezierCurve: BezierCurve = [\n  [20, 20],\n  [\n    [100, 20],\n    [100, 80],\n    [180, 80],\n  ],\n]\n```\n\n<p align=\"center\">\n    <img width=\"200px\" src=\"./exampleImgs/bezierCurve.png\" />\n</p>\n\n<p align=\"center\"><i>bezierCurve</i> in <b>SVG</b></p>\n\n#### bezierCurveToPolyline\n\n```typescript\n/**\n * @description 将贝塞尔曲线转换为折线\n * @param {BezierCurve} bezierCurve 贝塞尔曲线\n * @param {number} precision        需要的计算精度\n * @param {number} recursiveCount   迭代次数\n * @return {Point[]} 转换的折线\n */\ntype bezierCurveToPolyline = (\n  bezierCurve: BezierCurve,\n  precision = 5,\n  resursiveCount = 0\n) => Point[]\n\nconst polyline = bezierCurveToPolyline(bezierCurve)\n// polyline = [\n// [[20,20],\n// [25.998752507628243,20.11632023466343],[31.698106846035834,20.457189096242345],\n// [37.11424670004552,21.010468821119716],[42.263355754480024,21.764021645678454],\n// ...]\n```\n\n<p align=\"center\">\n    <img width=\"200px\" src=\"./exampleImgs/bezierCurveToPolyline.png\" />\n</p>\n\n<p align=\"center\"><i>polyline</i> in <b>SVG</b></p>\n\n#### Notice\n\n- *bezierCurveToPolyline*的计算结果是由 N 个点构成的折线，N 取决于设置的精度。\n- 理想情况下，计算结果中相邻的两个点的距离等于设置的精度（单位 px）。\n- 建议精度 5-10。\n- 设置的精度通常是达不到的，除非设置较高的迭代次数，计算成本较高。\n\n#### getBezierCurveLength\n\n```typescript\n/**\n * @description 计算贝塞尔曲线的长度\n * @param {BezierCurve} bezierCurve 贝塞尔曲线\n * @param {number} precision        需要的计算精度\n * @param {number} recursiveCount   迭代次数\n * @return {number} 转换的折线\n */\ntype getBezierCurveLength = (bezierCurve: BezierCurve, precision = 5, resursiveCount = 0) => Point[]\n\n// 通常情况下，默认精度已经能够达到较好的视觉效果。\nconst length = getBezierCurveLength(bezierCurve)\n```\n\n#### polyline\n\n```typescript\nconst polyline: Point[] = [\n  [20, 70],\n  [50, 30],\n  [100, 70],\n  [150, 30],\n  [180, 70],\n]\n```\n\n<p align=\"center\">\n    <img width=\"200px\" src=\"./exampleImgs/polyline.png\" />\n</p>\n\n<p align=\"center\"><i>polyline</i> in <b>SVG</b></p>\n\n#### polylineToBezierCurve\n\n```typescript\n/**\n * @description 将折线转换为贝塞尔曲线\n * @param {Point[]} polyline 折线\n * @param {boolean} close    转换的贝塞尔曲线是否需要闭合\n * @param {number} offsetA   光滑程度\n * @param {number} offsetB   光滑程度\n * @return {BezierCurve} 转换的贝塞尔曲线\n */\ntype polylineToBezierCurve = (\n  polyline: Point[],\n  close = false,\n  offsetA = 0.25,\n  offsetB = 0.25\n) => BezierCurve\n\nconst bezierCurve = polylineToBezierCurve(polyline)\n// bezierCurve = [\n// [\n// \t[20,70],\n// \t[[27.5,60],[30,30],[50,30]],\n// \t[[70,30],[75,70],[100,70]],\n// \t[[125,70],[130,30],[150,30]],\n// \t[[170,30],[172.5,60],[180,70]]]\n//]\n\nconst closedBezierCurve = polylineToBezierCurve(polyline, true)\n// closedBezerCurve = [\n// \t[20,70],\n// \t[[-12.5,60],[30,30],[50,30]],\n// \t[[70,30],[75,70],[100,70]],\n// \t[[125,70],[130,30],[150,30]],\n// \t[[170,30],[212.5,60],[180,70]],\n// \t[[147.5,80],[52.5,80],[20,70]]\n// ]\n```\n\n<p align=\"center\">\n    <img width=\"200px\" src=\"./exampleImgs/polylineToBezierCurve.png\" />\n</p>\n\n<p align=\"center\"><i>bezierCurve</i> in <b>SVG</b></p>\n\n<p align=\"center\">\n    <img width=\"200px\" src=\"./exampleImgs/polylineToClosedBezierCurve.png\" />\n</p>\n\n<p align=\"center\"><i>closedBezierCurve</i> in <b>SVG</b></p>","users":{}}