Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 计算d3路径中的圆弧/点_Javascript_Math_D3.js_Geometry - Fatal编程技术网

Javascript 计算d3路径中的圆弧/点

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 我想我是用下面的代码和小提琴弄明白的 例如: 要查找任何路径(不仅仅是圆弧)的中点,请执行

我正在努力找出正确的几何图形,以便沿着圆弧找到路径的中点。假设我有两点: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);