我在窗口中画了一条线,然后让用户拖动它。因此,我的线由两点定义:(x1,y1) 和 (x2,y2)。但现在我想在线条的末端绘制“帽子”,即在每个端点处绘制短垂直线。上限的长度应为 N 像素。
因此,要在端点 (x1,y1) 处绘制“帽”线,我需要找到形成垂直线的两个点,并且每个点距离点 (x1,y1) 为 N/2 像素。
那么,如何计算点 (x3,y3),因为它需要与已知直线的端点 (x1,y1) 相距 N/2 的垂直距离,即由 (x1,y1) 和 (x1,y1) 定义的直线(x2,y2)?
您需要计算垂直于线段的单位向量。避免计算斜率,因为这可能导致除以零误差。
dx = x1-x2
dy = y1-y2
dist = sqrt(dx*dx + dy*dy)
dx /= dist
dy /= dist
x3 = x1 + (N/2)*dy
y3 = y1 - (N/2)*dx
x4 = x1 - (N/2)*dy
y4 = y1 + (N/2)*dx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)