我正在尝试寻找一个距离垂线中点等距离的点。我想使用这个点来创建一个贝塞尔曲线,使用起点、终点和这个点。
我已经计算出垂线,并可以在该线上标记点,但问题是根据线的角度不同,点会远离或靠近原始线,我希望能够计算它总是保持X个单位的距离。
请查看此JSFiddle,其中显示了原始线及其上的一些点:
如果更改起点和终点,则可以看到这些标记点相互靠近或相互远离。
无论角度如何,我如何使它们均匀地保持相同的距离?
以下是代码片段:
// Start and end points
var startX = 120
var startY = 150
var endX = 180
var endY = 130
// Calculate how far above or below the control point should be
var centrePointX = ((startX + endX) / 2);
var centrePointY = ((startY + endY) / 2);
// Calculate slopes and Y intersects
var lineSlope = (endY - startY) / (endX - startX);
var perpendicularSlope = -1 / lineSlope;
var yIntersect = centrePointY - (centrePointX * perpendicularSlope);
// Draw a line between the two original points
R.path('M '+startX+' '+startY+', L '+endX+' '+endY);
sin
和cos
。它与 fiddle 中的不同。 - Anurag Srivastava