两点之间的直线方程

时间:2010-06-14 16:58:07

标签: line paint points

我需要绘制连接两个点的线。

我在Java中这样做。我收到两个点作为参数,我必须计算它们之间的直线是否在黑色数字内。

我使用直线方程开发了自己的解决方案,但我的结果与使用“专业”程序(例如GIMP甚至MS Paint)不同。

这是我想要的一个例子:

alt text http://img411.imageshack.us/img411/788/img1q.png

但我的算法是这样做的:

alt text http://img267.imageshack.us/img267/1908/img2d.png

*绿点不在图中,这是不可能的。

有什么想法吗?任何人都知道在“专业”应用程序中使用了哪些代码?

谢谢! 丹尼尔。

编辑:图片

4 个答案:

答案 0 :(得分:3)

“专业”计划最有可能使用Bresenham's line algorithm

答案 1 :(得分:3)

看起来你正在截断而不是舍入到最近的像素。在那些小的黑色墨水斑点上很难看到。你可以发布代码吗?

答案 2 :(得分:1)

答案 3 :(得分:1)

通常使用Bresenham算法绘制Straignt线。我没有明白你的观点是关于绿点不在图中 - 这样就不会浪费时间在可见区域之外。