中间有小段的空白的这种线路
如果黑点是你们用来绘制线的数据,可以使用点串正向和反向顺序分别画一条贝塞尔曲线来逼近这种形状类参考:http://support.supermap.com.cn:8090/iserver/iClient/forJavaScript/apidoc/files/SuperMap/Geometry/LineString-js.html#SuperMap.Geometry.LineString.createBezier2
呃,贝塞尔或者b样条正反向画的东西一样,都正向个一个点画的就类似了比如第一条线是0 2 4 ...第二条是1 3 5 ...考虑到闭合:0和1以及length-1和length-2各加一条贝塞尔但效果不理想,想要精确拟合只能自己写个方法实现,思路也不复杂,循环数组0到length-1和length-1到0,第一趟计算sin第二趟计算cos。比如第一趟取第一个点,第二个点可以在数组0,1俩点中点x、y加一个值(加多少自己控制,可以草稿画个三角图,可使用sin函数作为增量),然后取1,然后数组1,2中点x、y加一个值(加多少自己控制,可以草稿画个三角图,可使用sin函数作为增量)...;反过来的循环类似(cos函数),最后得到的点串就组成了你要的图形(注意,取数组点用geometry.clone()方法克隆点对象保证一个对象在结果点串只被引用一次)草图: