bresenham相关内容

栅格化和填充超球面的算法?

我正在尝试栅格化并填充超球面.本质上,我有一个固定大小的 d 维网格和一个球体(中心、半径),并想找出网格的哪些单元格与球体重叠并存储它们的坐标. 我知道 中点圆算法,它利用了 8 向镜像和产生一个圆的外部单元格(边界).我还更改了链接的维基百科代码以填充圆圈(即生成边界内所有单元格的坐标). 但是我不知道任何更高维度的算法.例如在 4d 中,我一直在考虑通过生成所有可能的圆圈来实现, ..
发布时间:2022-01-14 15:09:20 其他开发

绘制4连线的算法

我正在寻找一种算法(用 Java 编码会很好,但任何清晰到可以转换为 Java 的东西都很好)来绘制 4 连线.看起来Bresenham's algorithm 是使用最广泛的,但是我发现的所有可以理解的实现都是 8 连接的.OpenCV 的 cvline 函数显然有 4 个连接的版本,但是对我来说,源代码是一个平庸且几乎是 C 文盲的程序员,难以理解.其他各种搜索一无所获. 感谢任何人可以 ..
发布时间:2021-12-30 18:34:41 其他开发

Javascript 中的 Bresenham 算法

我需要一种快速算法来计算两点之间的直线坐标.我试图找到好的 JavaScript Bresenham 实现,但是有太多且令人困惑的出版物.在维基百科 - 这里 最快和最简单的形式(没有除法和两个方向的误差计算) 以这样的伪代码表示: 功能线(x0, y0, x1, y1)dx := abs(x1-x0)dy := abs(y1-y0)如果 x0 -dy 然后错误 := 错误 - dyx0 := ..
发布时间:2021-12-06 20:17:36 前端开发

精确的亚像素画线算法(光栅化算法)

我需要一种比 Bresenham 画线算法慢的算法 但必须更准确.使用“精确"我的意思是:应该打印每个触摸的像素.不多,也不少!这意味着使用更粗的线条或类似的线条不是一种选择,因为会涉及太多像素.此外,我不需要图形框架或类似的框架 询问 之前,我需要算法!该应用程序实际上并不是在“图形"中,而是在 地理区域,其中像素是“瓷砖". 对我来说,主要问题是我需要亚像素精度,这意味着一条线可以从 0 ..
发布时间:2021-12-06 19:59:34 其他开发

在访问所有单元格的 3D 体素空间中的两点之间走一条线

我有一个视线问题,我需要通过访问两个(非网格对齐)点之间的 3D 体素空间中的所有可能的单元格来解决. 我曾考虑使用 3D Bresenham 算法,但它会跳过一些单元格. 一种简单的实现方式可能只是以比体素网格更高的分辨率检查沿线的点,但我希望有一个更智能的解决方案. 有人有线索吗? 解决方案 想出了这个,或者看:http://jsfiddle.net/wilvlaro ..
发布时间:2021-11-25 00:55:38 C#

如何将Bresenham的画线算法与裁剪一起使用?

使用 Bresenham画线算法绘制线时,该行可能不在要写入的位图的范围内-剪切结果将很有用,以便它们适合要写入的图像的轴对齐范围内. 虽然可以先将线剪裁到矩形,然后再画线.这是不理想的,因为它常常使(假设使用int坐标)线的倾斜度稍有不同. . 由于这是原始操作,是否存在在保持相同形状的同时剪切线的方法? 如果有帮助,请这是该算法的参考实现-它使用int坐标,这样可以避免在绘 ..
发布时间:2021-04-02 20:36:32 其他开发

如何将Bresenham的画线算法与亚像素偏置配合使用?

Bresenham的线条绘制算法是众所周知的,并且易于实现.> 尽管有更高级的绘制抗画线的方法,但我对编写基于浮点坐标绘制单个像素宽度的非抗锯齿线的函数感兴趣. 这意味着尽管第一个像素和最后一个像素将保持不变,但在两个像素之间绘制的像素将基于两个端点的子像素位置具有偏差. 原则上,这不应该那么复杂,因为我认为可以使用子像素偏移来计算绘制线条和所有其他部分时要使用的初始 error 值 ..
发布时间:2021-04-02 20:33:22 其他开发

使用Bresenham的线算法绘制线

我的计算机图形作业是仅使用绘制点的能力来实现OpenGL算法. 因此,很明显,我需要先获得drawLine()才能工作,然后才能绘制其他任何东西. drawLine()必须仅使用整数来完成.没有浮点数. 这就是我所教的.基本上,线可以分为4个不同的类别,正陡,正浅,负陡和负浅.这是我应该绘制的图片: 这是我的程序绘制的图片: 颜色为我们完成.给定了顶点,我们需要使用Bres ..
发布时间:2020-11-20 06:21:17 C/C++开发

布雷森汉姆同心圆留下空像素

我正在使用中点圆算法(也称为布雷森汉姆算法)绘制同心圆。每个圆的半径与下一个圆的半径之差始终为1,因此最终结果应为完整的圆形区域。 但是,有些像素保留为空,因为 我正在使用Javascript在HTML5画布上进行绘画,操作canvas.getContext(“ 2d”)。getImageData(...)数据数组。 圆圈交替为白色和红色,空白像素为黑色。您可能需要放大才能正确理 ..
发布时间:2020-06-03 21:00:40 前端开发

绘制圆弧的有效算法?

我正在使用中点圆算法(布雷森汉姆圆)有效地绘制整个圆。是否有类似画圆弧的东西?我想指定开始角度和结束角度,并且只画出圆的那一部分。 预先感谢! 编辑:我也想绘制实心圆弧,即扇形切片。 :) 解决方案 您的平台上是否没有用于处理此类形状的库? 绘制一个填充的饼图: 首先,将饼图垂直和水平切割成四分之一。 如果您的饼图恰好是这些区域之一,或者完全适合这些区域之一,则请 ..
发布时间:2020-06-03 20:50:59 其他开发

使用OpenGl核心中的单个像素画一条线

我正在尝试在OpenGl中实现线条绘制算法.我从 learnopengl 了解了使用OpenGl的基础知识.在线条绘制算法中,我需要设置单个像素本身.我不了解如何在像素级别使用OpenGl.我尝试在opengl中搜索实现布雷森汉姆的行算法,到处都是实现使用功能 glDrawPixels 的地方,而该功能在OpenGl3.3中不受支持.我在OpenGl3.3中缺少什么吗? 解决方案 Open ..
发布时间:2020-04-30 11:57:14 C/C++开发

所有案例都涵盖了布雷森汉姆的线算法

我需要检查一行中的所有像素,因此我正在使用Bresenham的算法来访问其中的每个像素.特别是,我需要检查所有像素是否都位于位图的有效像素上.这是代码: private void Bresenham(Point p1, Point p2, ref List track) { int dx = p2.X - p1.X; int dy = p2.Y - p1.Y; i ..
发布时间:2020-04-30 11:43:25 C#/.NET

Bresenham线不会终止

我已经在python中实现了Wikipedia中的 Bresenham算法,但对于某些行不起作用,就像从1,0到0,1它不会停下来,并继续做一个超级长行 def line(x0,y0,x1,y1): dx = x1 - x0 dy = y1 - y0 sx = x0 sy = y0 err = dx - dy points = [] x,y = x0,y ..
发布时间:2018-05-25 19:15:50 Python

请为我解释这Bresenham线的绘图代码

我在整个互联网上搜索过,发现了数百个Bresenham的绘图算法的实现。但是,我发现有一件事很奇怪,其中只有两三个可以覆盖八个八位字节中的全部。尽管如此,它们还是被用于许多应用中。 例如,这位女士实施了Bresenham算法的这个版本(第415行)。但是,它并不涵盖整个360度。 这里这个人似乎正在开发一个图书馆。但它仍然无法正常工作。 你能告诉我为什么吗? 这家伙的实施正常。但 ..
发布时间:2018-05-25 19:13:48 C/C++开发

用于绘制4连线的算法

我正在寻找一种算法(用Java编码会很好,但是足够清晰的可以转换成Java的算法)可以绘制一条4连线。似乎 Bresenham的算法是使用最广泛的,但我发现的所有可以理解的实现都是8连接的。 OpenCV的 cvline 功能显然有一个4连接版本,但对我来说,源代码作为一个平庸的,几乎不识字的程序员是难以逾越的。其他各种搜索都没有出现。 感谢您的帮助任何人都可以提供。 解决方案 在以下是 ..
发布时间:2018-05-25 18:37:37 其他开发

精确的亚像素线绘制算法(光栅化算法)

我需要一种算法,比( Bresenham画线算法但必须更精确。与'确切'我的意思是:每个被触摸的像素应该被打印。没有更多,但也不会少!这意味着使用更粗的线或类似物并不是一种选择,因为会涉及太多的像素。此外,我不需要图形框架或类似的图像,它是询问 之前,我需要算法!该应用程序并非真正处于“图形”中,而是位于 geography area ,其中像素为”tiles“。子像素的精度,这意味着一条线可以从 ..
发布时间:2018-05-25 18:27:13 其他开发

算法来栅格化并填充超球面?

我试图光栅化并填充超球面。实质上,我有一个固定大小的d维网格和一个球体(中心,半径),并且想要找出网格中的哪些单元格与球体重叠并存储它们的坐标。 我知道中点圆算法,它利用了8-way镜像并产生一个圆的外部单元格(边界)。我也修改了链接的维基百科代码以填充圆圈(即,生成边界内所有单元格的坐标)。 然而,我并不知道任何更高维的算法。例如在4d中,我一直在考虑通过产生所有可能的圆来实现,如下 ..
发布时间:2018-04-23 17:30:19 其他开发

圈厚度绘制算法

目前我使用的布氏圆圈绘制算法,绘制圆圈很好,不过,我想一个比较快速和有效的方式来绘制规定厚度圆(因为布氏方法只绘制单个像素的厚度)。我意识到,我可以简单地绘制多个圆半径不同,但我相信这将是非常低效的(和效率是很重要的,因为这将在一个Arduino,每一个微秒为precious运行)。 我目前正在使用下面的code: 无效圆(字节XC,字节YC,INT半径,Colour彩色){ INT X = ..
发布时间:2015-11-30 21:38:46 C/C++

布氏线W / O型对角线运动

是否有改性Bresenham算法,其中,从一个像素到下一个步骤是不允许是对角线,只是水平或垂直?或者有什么其他的算法,这是否? (PHP preferred) 右: 0 0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 错误: 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 解决方案 应该是一个微不足道的修改 - 假设你在象限I - 即往上走和向右。而不是做 ..
发布时间:2015-11-30 15:46:09 PHP