45得票2回答
JavaScript中的Bresenham算法

我需要一个快速的算法来计算两点之间的直线坐标。我试图寻找良好的JavaScript Bresenham实现,但是有太多不清晰的出版物。在维基百科 - 这里,最快和最简单的形式(没有除法和误差计算)以伪代码的形式呈现: function line(x0, y0, x1, y1) dx :=...

14得票4回答
一种用于创建Bresenham线的A*启发式算法

根据我对A*启发式算法和Bresenham算法的理解,这可能不可能实现,因为只有当前状态和目标状态被传递到启发式函数中。但也许有人对这个问题有巧妙的解决方案。 我正在使用A*算法来规划网格上的路径,并希望使用一种启发式方法,使得最佳路径在当前状态和目标之间或绕过障碍物时遵循Bresenham...

13得票2回答
简化的Bresenham线算法:它到底做了什么?

根据维基百科上关于 Bresenham 线算法的文章,我已经实现了那里描述的简化版本,我的 Java 实现看起来像这样:int dx = Math.abs(x2 - x1); int dy = Math.abs(y2 - y1); int sx = (x1 < x2) ? 1 : -1...

13得票3回答
实现Bresenham圆绘制算法

我已经写了Bresenham圆绘制算法的一个实现。这个算法利用了圆形高度对称的特性(它只计算来自第一象限的点,并通过利用对称性来绘制其他点)。因此我期望它非常快。图形编程黑皮书,第35章标题为“Bresenham很快,而快速是好的”,虽然它是关于线条绘制算法的,但我可以合理地期望圆绘制算法也很...

12得票1回答
所有情况都包含在Bresenham直线算法中。

我需要检查一条线上的所有像素,因此我正在使用Bresenham算法来访问其中的每个像素。特别是我需要检查所有像素是否位于位图的有效像素上。以下是代码:private void Bresenham(Point p1, Point p2, ref List<Point> track) ...

12得票2回答
精确的亚像素线绘制算法(光栅化算法)

我需要一个算法,它可以比Bresenham线绘制算法慢一点,但必须更加精确。所谓“精确”,是指每个接触的像素都应该被打印出来。不多也不少!这意味着使用更厚的线条或类似物不是一个选项,因为会涉及太多的像素。此外,我不需要图形框架或类似的东西,就像之前问过的一样,我需要的是算法!这个应用程序实际上...

12得票3回答
绘制四连通线的算法

我正在寻找一种算法(最好是用Java编写的,但任何足够清晰以便翻译成Java的东西都可以),用于绘制4连通线。似乎Bresenham算法是最广泛使用的,但我发现所有易懂的实现都是8连通的。OpenCV的cvline函数显然有一个4连通版本,但对我来说,作为一个平庸而几乎不懂C语言的程序员,源代...

10得票3回答
使用Bresenham线算法绘制直线

我的计算机图形学作业是只使用绘制点的能力来实现OpenGL算法。 显然,在我画其他任何东西之前,我需要让drawLine()工作。而且drawLine()必须仅使用整数,不能使用浮点数。 这是我的教授教给我的内容。基本上,线可以分为四种不同的类型:正斜率、正浅、负斜率和负浅。这是我应该绘制...

9得票5回答
在三维体素空间中,沿着两点之间的路径访问所有网格。

我需要解决一个直线视线问题,需要访问两个(非网格对齐)点之间3D体素空间中的所有可能单元。 我考虑使用3D Bresenham算法,但它会跳过一些单元。 一个简单的实现方法可能是在沿着线的点上以比体素网格更高的分辨率进行检查,但我希望有一个更智能的解决方案。 有人有任何线索吗?

7得票2回答
C++ Bresenham线算法绘制弧和旋转

我正在寻找使用Bresenham线算法绘制弧形的方法。这个算法可以画出完美的圆,但是如果我需要绘制弧形(从0到Pi)并将其旋转30度(例如),该怎么办? void DrawCircle(HDC hdc,int x0, int y0, int radius) { int x ...