Javascript SVG:在曲线上查找点
编辑:答案(getPointAtLength归功于@musicaly_ut,但似乎我必须自己做真正的工作。注意:“draw.circle”-语法来自svg.js)Javascript SVG:在曲线上查找点,javascript,svg,svg.js,Javascript,Svg,Svg.js,编辑:答案(getPointAtLength归功于@musicaly_ut,但似乎我必须自己做真正的工作。注意:“draw.circle”-语法来自svg.js) 使用.attr({Id:“mypath”})将您自己的Id添加到路径中 找到它:var a=document.getElementById(“IdOfSvgCurve”) 在曲线上画几个圆。坐标必须相对于起点 var pt_start=a.getPointAtLength(0) 对于(变量i=0;i
.attr({Id:“mypath”})将您自己的Id添加到路径中代码>
var a=document.getElementById(“IdOfSvgCurve”)代码>
对于(变量i=0;i
<path id="SvgjsPath1044" d="M 125,75 a100,50 0 0,0 100,50"/>
我怎样才能把点放在曲线上?像这样:
它可以使用路径长度之类的东西,使用“坐标系”,也可以通过实际计算曲线上的点并使用它们的坐标添加它们
这主要是为了说明,所以我不一定需要一个通用的解决方案
我正在使用svg.js库,但可以“本机”完成这一部分
谢谢
svgpatheElement
有一个函数
您可以使用此函数查找路径上的点,然后在这些位置放置
圆
元素。在这种情况下,路径表示一个数学函数,因此您可以通过代数方式计算函数上的点。Snap.svg还有一个交点
方法,可以查找两条路径的交点。您可以创建临时垂直线路径,计算交点,在这些交点处添加点,然后删除垂直线。好吧,只需看看,看看是如何完成的!诚然,它的源代码是可怕的。@Bergi,红点似乎是手动放置的,或者计算是在服务器端完成的(或者我被古怪的svg语法弄糊涂了),Cuberto,我将查看Snap.svg;然而,这是我项目中的另一个库…我认为他更希望有某种getPointAtXCoordinate
函数…请提供可运行的示例。