Javascript SVG`<;路径>;`不精确

Javascript SVG`<;路径>;`不精确,javascript,d3.js,svg,geometry,precision,Javascript,D3.js,Svg,Geometry,Precision,根据一些计算,我使用D3.js在画布上绘制了数百个SVG 下面是一个典型SVG的片段: 当我不给每个一个相同颜色的笔划时,形状之间有很多很多微小的间隙。然而,当我添加一个笔划时,会出现其他缺陷,如下图所示 有些角不相交,有些形状从错误的位置开始,最后被其他形状覆盖,有些背景显示的间隙或错误的形状可见,等等。在某些缩放级别,差异更大 我似乎有一个版本的问题描述,回答者说问题在于抗锯齿。回答者建议添加形状渲染:crispEdge,但这实际上使问题对我来说更糟,并不能满足提问者的要求。添加笔

根据一些计算,我使用D3.js在画布上绘制了数百个SVG


下面是一个典型SVG的片段:


当我不给每个
一个相同颜色的笔划时,形状之间有很多很多微小的间隙。然而,当我添加一个笔划时,会出现其他缺陷,如下图所示

有些角不相交,有些形状从错误的位置开始,最后被其他形状覆盖,有些背景显示的间隙或错误的形状可见,等等。在某些缩放级别,差异更大


我似乎有一个版本的问题描述,回答者说问题在于抗锯齿。回答者建议添加
形状渲染:crispEdge
,但这实际上使问题对我来说更糟,并不能满足提问者的要求。添加笔划可以消除
之间的大部分(但不是全部)间隙,但同样会导致其他问题

我还尝试了
形状渲染:geometricsprecision
,但没有帮助



我能做些什么来消除形状之间的间隙而不产生额外的差异?

好吧,这里似乎没有什么好的解决方案

不过,我意识到,
笔划宽度
的值可以小于1。所以我用不同的分数进行游戏,直到形状之间的大部分间隙都被覆盖,但其他变形保持在最小

我降落在
笔划宽度:.5


如果有人找到别的东西,我很乐意接受

好吧,看来这里没有什么好办法

不过,我意识到,
笔划宽度
的值可以小于1。所以我用不同的分数进行游戏,直到形状之间的大部分间隙都被覆盖,但其他变形保持在最小

我降落在
笔划宽度:.5


如果有人找到别的东西,我很乐意接受

a)禁用您不喜欢的抗锯齿功能b)克服它,或c)购买更昂贵、分辨率更高的图形卡,以减少您的注意。@RobertLongson感谢您的回复。不幸的是,这是为了挑剔的用户,而不仅仅是我,所以我不认为b)或c)是一个选项。如何禁用抗锯齿?您已经知道:形状渲染:crispEdgesa)禁用您不喜欢的抗锯齿b)克服它或c)购买更昂贵的图形卡,分辨率更高,所以您注意到的更少。@RobertLongson感谢您的回复。不幸的是,这是为了挑剔的用户,而不仅仅是我,所以我不认为b)或c)是一个选项。如何禁用反序列化?您已经知道:形状渲染:CrispEdge