在JavaScript中获取填充椭圆的点

时间:2011-07-24 22:55:44

标签: javascript algorithm shapes

我想知道是否有人可以指出我是如何生成填充椭圆或圆的点的正确方向。

我知道用于绘制轮廓的算法,但也不知道内容。

我需要的只是一系列积分。但我不知道从哪里开始,似乎无法在谷歌找到答案。

非常感谢任何帮助。

感谢。

3 个答案:

答案 0 :(得分:2)

你知道轮廓的点,所以你可以按行(即通过y坐标)对它们进行排序。当两个y坐标相等时,按x坐标对它们进行排序。

现在,对于具有相同y坐标的两个点,您知道它们之间的所有点都必须在椭圆中。

答案 1 :(得分:1)

您可以按扫描线生成点。椭圆的方程是

  

ax 2 + by 2 + c = 0

因此迭代 y 的值并求解 x 。你将在 x 中得到一个带有两个解的二次方程,给出扫描线左右两端的点。中间的所有点都在椭圆内。

如果您想快速生成端点的坐标,请参阅John Kennedy的论文A fast Bresenham-type algorithm for drawing ellipses

答案 2 :(得分:0)

您可能想要查看一些图形库,例如jsDraw2d

http://jsdraw2d.jsfiction.com/

更有效的方法可能是使用Javascript生成SVG图像,但遗憾的是,版本8以下的Internet Explorer不支持SVG。