<svg width="500" height="200">
<g transform="translate(${translateX},${translateY}), rotate(${rotate})">
<line x1="0" y1="0" x2="300" y2="0" style="stroke: #ccc"></line>
<path d="
M ${lineStartX},-${startHalfWidth}
C ${leftControlPointX},-${innerControlPointHalfWidth} ${rightControlPointX},-${innerControlPointHalfWidth} ${lineLengthX},-${endHalfWidth}
L ${lineLengthX},${endHalfWidth}
C ${rightControlPointX},${innerControlPointHalfWidth} ${leftControlPointX},${innerControlPointHalfWidth} ${lineStartX},${startHalfWidth}
Z"
style="fill: steelblue; stroke: black; opacity: 0.5">
</path>
</g>
</svg>