Javascript 计算d3路径中的圆弧/点
我正在努力找出正确的几何图形,以便沿着圆弧找到路径的中点。假设我有两点:x1,y1和x2,y2。在下面这样的一行中: x1,y1是A.x2,y2是B 我试图写一个函数,我可以提供距离-1,或者上图中的1,它返回x和y坐标。通过这种方式,我可以在路径中添加一个中点,以渲染以下线条: [更新] 你必须用线的角度算出我要找的x和y。下面显示的是直线是45度,三角形的一边是5度,一边是1度。由此,你可以计算x和y 我想我是用下面的代码和小提琴弄明白的 例如:Javascript 计算d3路径中的圆弧/点,javascript,math,d3.js,geometry,Javascript,Math,D3.js,Geometry,我正在努力找出正确的几何图形,以便沿着圆弧找到路径的中点。假设我有两点:x1,y1和x2,y2。在下面这样的一行中: x1,y1是A.x2,y2是B 我试图写一个函数,我可以提供距离-1,或者上图中的1,它返回x和y坐标。通过这种方式,我可以在路径中添加一个中点,以渲染以下线条: [更新] 你必须用线的角度算出我要找的x和y。下面显示的是直线是45度,三角形的一边是5度,一边是1度。由此,你可以计算x和y 我想我是用下面的代码和小提琴弄明白的 例如: 要查找任何路径(不仅仅是圆弧)的中点,请执行
要查找任何路径(不仅仅是圆弧)的中点,请执行以下操作:
var pathEl = d3.select('#pathId').node();
var midpoint = pathEl.getPointAtLength(pathEl.getTotalLength()/2);
改编自Duopixel和。谢谢。一旦绘制了实际路径的直线,这将非常有用,但我的问题是,在绘制路径之前,我希望在图形中获得N-1或1处的中心点。关键是你必须计算出直线的度数才能得到我要找的x,y点。在更新时使用绝缘线束。如果您认为有更好的方法来获得答案,我很想听听。如果您想知道虚拟路径中不在DOM中的点,只需在SVG DOM上的该坐标处放置一个圆元素,该怎么办?似乎您需要为计算注入一条路径?请注意,该功能已被弃用
var pathEl = d3.select('#pathId').node();
var midpoint = pathEl.getPointAtLength(pathEl.getTotalLength()/2);