【发布时间】:2017-06-07 09:17:53
【问题描述】:
有人知道是否/如何可以在点之间绘制一条线,同时与 SVG 中的端点保持一定距离吗?
如果这条线是水平的(例如,从(40,40) 到(100,40)),您可以轻松地绘制一条与以下点保持大约20 距离的线
<line x1="40" y1="40" x2="100" y2="40" desc="directional line" />
<line x1="60" y1="40" x2="80" y2="40" desc="actual part of line" />
然而,对于对角线,它有点难。要从(40,40) 到(100,100) 绘制一条(简单的)对角线,您需要cos(pi/4) = sin(pi/4) = sqrt(2) 来缩放您想要远离终点的距离(在本例中为:20*sqrt(2) = 14.1)
<line x1="40" y1="40" x2="100" y2="100" desc="directional line" />
<line x1="54.1" y1="54.1" x2="85.9" y2="85.9" desc="actual part of line" />
此代码的演示可以在fiddle中找到
因此在计算时似乎可以这样做
- 方向线与水平线的夹角
- 角度的正弦和余弦
- 要绘制的线的实际部分的端点
这是唯一的方法还是 SVG 能够指定部分线条,或者有更智能、更方便的方法吗?
【问题讨论】: