擅长:python、mysql、java
<p><a href="https://i.stack.imgur.com/1Z9BA.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/1Z9BA.png" alt="enter image description here"/></a></p>
<pre><code>lengthX = endX - startX
lengthY = endY - startY
fullLength = math.sqrt(lengthX**2 + lengthY**2)
#unit direction vector
ux = lengthX / fullLength
uy = lengthY / fullLength
#unit normal
if ux < 0:
nx, ny = -uy, ux
else:
nx, ny = uy, -ux
#text center point (D at the picture)
cx = x + nx * distance
cy = y + ny * distance
#if you need start of text (S at the picture)
sx = x + nx * distance - ux * halfwidth
sy = y + ny * distance - uy * halfwidth
</code></pre>