【发布时间】:2016-07-28 12:03:35
【问题描述】:
我有一些代码可以计算贝塞尔曲线的长度。我正在尝试为它编写单元测试。但除了琐碎的情况(直线贝塞尔曲线)之外,我不知道长度的任何实际正确值。我上网查了一下,没找到。
有人有这个信息吗?我正在寻找一个表的链接,该表有几行包含四个贝塞尔控制点,然后是一个长度,或者可能在计算长度的绘图程序中创建几个贝塞尔曲线(我尝试使用搅拌机和 inkscape 来获得这个信息,它们非常复杂)。
解决方案。 从here 下载 pomax 的 bezier javascript 代码,然后在网络浏览器中打开此 html:
<html>
<head>
<script src="bezier.js"></script>
</head>
<body>
<script>
curve = new Bezier([4.0, 0.0, 4.0,
4.0, 0.0, 12.0,
16.0, 0.0, 12.0,
16.0, 0.0, 4.0]);
document.write(curve.length());
</script>
</body>
</html>
【问题讨论】:
-
如果您想测试 实际 弧长,请实施 github.com/Pomax/bezierjs/blob/gh-pages/lib/bezier.js#L602-604 - 这将为您提供任意准确的数字。
-
现代浏览器已经将弧长计算器作为 SVG 规范的一部分。在下面查看我的答案:stackoverflow.com/a/38626906/720204