我不认为这有一个好的答案,但我想知道是否有更好的方法来做到这一点。绘制数学函数而不会出现伪像
我需要绘制一个数学函数,它在显示器的一端几乎是平坦的,在另一端几乎是垂直的。圆圈的左下象限将是一个很好的模型。我可以根据需要自动生成多个点。
问题是,我无法做到这一点,没有各种各样的文物。
我还没有试过贝塞尔拟合;我不认为这会更接近。我的理解是,Bezier是一次性手动构建的漂亮图形,而不是真正的曲线拟合。
这留下了折线。只有两件事我可以用多段线做 - 我可以选择线的长度(换句话说,我自动生成的点的数量),我可以禁用反锯齿(setAttributeNS(null,“shape-rendering”, “crisp-edges”)
如果我生成了很多点,那么我得到了各处的锯齿,并且结果是无法使用的,它看起来很像它的摆动,这使得它显示我错误地计算了这个功能,抗锯齿没有任何区别,因为它不能跨越点边界操作
我唯一的解决方法是画更少点,所以很明显我的' m画段,不再平滑,但至少没有锯齿或振荡离子。我用默认的抗锯齿绘制这个。
任何想法?
编辑: 看起来这个的唯一答案是实际上是贝塞尔曲线拟合。您必须预处理才能找到所需段的参数,然后绘制结果。谷歌在曲线拟合贝齐尔时出现了许多点击。