Ceisum军事标绘是非常常见的应用,经过本人一番研究,最终实现了集结地的绘制,可以鼠标在地图上依次点击,三个点,自动绘制成集结地,这里使用了曲线的生成算法,贝塞尔曲线在军标中使用的很多,拟合的效果较好。
这个集结地是二维的,如果想要让他树立起来也是可以的,具体的可以联系我
如果需要源码的可以访问我如下的资源,如果有其他问题也可以很我一起探讨
部分源码可参考:
* @param center
* @param radius
* @param startAngle
* @param endAngle
* @returns {null}
*/
export const getArcPoints = (center, radius, startAngle, endAngle) => {
let [x, y, pnts, angleDiff] = [null, null, [], (endAngle - startAngle)]
angleDiff = ((angleDiff < 0) ? (angleDiff + (Math.PI * 2)) : angleDiff)
for (let i = 0; i <= 100; i++) {
let angle = startAngle + angleDiff * i / 100
x = center[0] + radius * Math.cos(angle)
y = center[1] + radius * Math.sin(angle)
pnts.push([x, y])
}
return pnts
}
全部源码请参考的: