UNPKG

flo-utils

Version:
19 lines (18 loc) 892 B
// 三角函数画直线中间的箭头 var drawLineArrow = function drawLineArrow(x1, y1, x2, y2) { var path; var Par = 10.0; var slopy = Math.atan2(y1 - y2, x1 - x2); var cosy = Math.cos(slopy); var siny = Math.sin(slopy); path = "M".concat(x1, ",").concat(y1); var x3 = (Number(x1) + Number(x2)) / 2; var y3 = (Number(y1) + Number(y2)) / 2; path += " L".concat(x3, ",").concat(y3); path += " L".concat(Number(x3) + Number(Math.ceil(Par * cosy - Par / 2.0 * siny)), ",").concat(Number(y3) + Number(Math.ceil(Par * siny + Par / 2.0 * cosy))); path += " L".concat(x3, ",").concat(y3); path += " L".concat(Number(x3) + Number(Math.ceil(Par * cosy + Par / 2.0 * siny)), ",").concat(Number(y3) - Number(Math.ceil(Par / 2.0 * cosy - Par * siny))); path += " L".concat(x3, ",").concat(y3, " L").concat(x2, ",").concat(y2); return path; }; export default drawLineArrow;