CN114596386A - 一种面向平显的多线宽圆无失真绘制方法 - Google Patents
一种面向平显的多线宽圆无失真绘制方法 Download PDFInfo
- Publication number
- CN114596386A CN114596386A CN202210500805.7A CN202210500805A CN114596386A CN 114596386 A CN114596386 A CN 114596386A CN 202210500805 A CN202210500805 A CN 202210500805A CN 114596386 A CN114596386 A CN 114596386A
- Authority
- CN
- China
- Prior art keywords
- circle
- value
- ray
- line
- scanning frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种面向平显的多线宽圆无失真绘制方法,包括以下步骤:从圆心处引出一条射线,通过角度遍历确定该射线与多线宽圆的内径和外径的交点,再根据内径和外径的交点确定矩形扫描框范围,对扫描框中的像素点进行遍历并根据像素点与圆心的距离和半径的差值来确定权重值,结合权重值绘制多线宽圆。本发明能够解决绘制多线宽圆反走样效果差的问题,适用于任意线宽任意半径的圆的无失真绘制,对硬件的要求低。
Description
技术领域
本发明涉及图形显示技术领域,具体而言涉及一种面向平显的多线宽圆无失真绘制方法。
背景技术
圆是组成计算机图形最基本的元素之一,在很多显示系统中需要绘制任意线宽任意半径的圆。常见的多线宽圆的绘制方法采取的是通过Bresenham算法确定1/8圆的轮廓再根据对称性确定整圆的轮廓,采用多重采样算法给圆施加反走样效果。这个方法实现简单方便且快速,但是得到的反走样效果较差且动态显示效果会出现撕裂问题。如何快速简单的绘制无失真多线宽圆成为重要的研究内容。
发明内容
本发明针对现有技术中的不足,提供一种面向平显的多线宽圆无失真绘制方法,能够解决绘制多线宽圆反走样效果差的问题,适用于任意线宽任意半径的圆的无失真绘制,对硬件的要求低。
为实现上述目的,本发明采用以下技术方案:
一种面向平显的多线宽圆无失真绘制方法,所述绘制方法包括以下步骤:
从圆心处引出一条射线,通过角度遍历确定该射线与多线宽圆的内径和外径的交点,再根据内径和外径的交点确定矩形扫描框范围,对矩形扫描框中的像素点进行遍历并根据像素点与圆心的距离和半径的差值来确定权重值,结合权重值绘制多线宽圆。
为优化上述技术方案,采取的具体措施还包括:
进一步地,根据内径和外径的交点确定矩形扫描框范围的过程包括以下步骤:
S13,比较与的大小,将较小的值定义为,将较大的值定义为;比较与的大小,将较小的值定义为,将较大的值定义为;和分别为射
线L与多线宽圆的交点在x轴上的最小取值和最大取值;和分别为射线L与多线宽
圆的交点在y轴上的最小取值和最大取值;
进一步地,根据内径和外径的交点确定矩形扫描框范围的过程还包括以下步骤:
进一步地,对矩形扫描框中的像素点进行遍历并根据像素点与圆心的距离和半径的差值来确定权重值的过程包括以下步骤:
S22,重复步骤S21,直至计算得到所有像素点的权重值。
进一步地,结合每个像素点的权重值调整对应像素点的RGBA取值是指,绘制的像素点的RGBA均由圆心的RGBA与权重的乘积计算得到。
本发明的有益效果是:
第一,本发明的面向平显的多线宽圆无失真绘制方法,可以实现任意线宽任意半径圆的无失真绘制,支持圆心为浮点数的圆的绘制,显示效果好,实用性强;
第二,本发明的面向平显的多线宽圆无失真绘制方法,解决了多线宽圆反走样效果较差的问题,根据像素点与圆心距离和半径差值的大小确定权重值,差值越小权重值越大,越大权重值越小,使得图形有平滑的过度,增强显示效果;
第三,本发明的面向平显的多线宽圆无失真绘制方法,绘制的多线宽圆在动态显示状态下显示效果好,不会发生抖动与撕裂的现象。
附图说明
图1为本发明实施例的根据角度确定内外径交点的原理示意图;
图2为确定任意角度下矩形扫描框的原理示意图;
图3为确定矩形扫描框内各像素点权重值的原理示意图;
图4a为采用多重采样反走样算法绘制的多线宽圆的仿真显示效果图;
图4b是采用多重采样反走样算法绘制的多线宽圆的局部线条放大效果图;
图4c为采用本发明算法绘制的多线宽圆的仿真显示效果图;
图4d是采用本发明算法绘制的多线宽圆的局部线条放大效果图。
具体实施方式
现在结合附图对本发明作进一步详细的说明。
需要注意的是,发明中所引用的如“上”、“下”、“左”、“右”、“前”、“后”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
本发明实施例提出了一种面向平显的多线宽圆无失真绘制方法,该绘制方法是从圆心处引出一条射线,通过角度遍历确定该射线与多线宽圆的内径和外径的交点,再根据内径和外径的交点确定矩形扫描框范围,对矩形扫描框中的像素点进行遍历并根据像素点与圆心的距离和半径的差值来确定权重值实现反走样效果。
图1为根据角度确定内外径交点的示意图。圆的圆心为,半径为,线宽为,从圆心引出的射线为,为射线与从圆心引出的水平线的正向夹角,的取值范
围为。以预设步进阈值的步进对夹角进行遍历,计算出射线与多线宽圆内径的交
点,与多线宽圆外径的交点。
预设步进阈值的取值与多线宽圆的分辨率相关,对于本实施例的绘制方法,步进值取得过大会造成无法遍历到圆上的所有像素点,绘制出的多线宽圆会有缺失的问题。步进值取得过小会增加像素点重复遍历的次数,给硬件造成较大的负担。经测试,将步进值设定在0.1时,可以在分辨率和硬件需求上达到平衡。
图2为确定任意角度下矩形扫描框的示意图。
步骤1:根据三角函数关系,计算出与内径交点的横坐标为,与内径
交点的纵坐标为;与外径交点的横坐标为,与外
径交点的纵坐标为。因为整个坐标轴不是以圆心作为原点而是
以左上角顶点作为原点,计算出的、、、是相对于圆心的,所以得出的
结果需要考虑到圆心的坐标,得到最终结果并对其进行取整操作为:
步骤2:因为,,所以需要比较与的大小,与的大小来确定矩形扫描框。比较与的大小,较小的值为,较大的值为。
比较与的大小,较小的值为,较大的值为。确定矩形扫描框的范围,为矩形扫描框的左下角顶点坐标,为矩形扫描框的右上角顶点坐
标。为了保证反走样的效果,需要将矩形扫描框的范围扩大。将作为矩
形扫描框的左下角顶点坐标,作为矩形扫描框的右上角顶点坐标;是
预设阈值,是像素点尺寸的整数倍。为了计算方便,假设每个像素点的边长为1,延伸出于
2个像素点的位置,即将定为矩形扫描框的左下角顶点坐标,定为矩形扫描框的右上角顶点坐标。设定预设阈值b的目的是为了预
留足够的空间进行反走样的操作,b取值过大会增加无效点的遍历减慢效率,b取值过小会
造成反走样部分被矩形扫描框切割使得反走样做的不够充分,在本实施例中,b一般取值为
2。
图3为确定矩形扫描框内各像素点权重值的示意图。对矩形扫描框内的像素点进
行遍历,以像素点为例(规定像素点位置均为左上角),计算出该像素点与圆心的距
离和半径的差值。对的值进行条件判断确定权重值从而达到反走样的效果:
图4a为采用多重采样反走样算法绘制的多线宽圆的仿真显示效果图,图4b是相应的局部线条放大效果图;图4c为采用本发明算法绘制的多线宽圆的仿真显示效果图,图4d是相应的局部线条放大效果图。多重采样反走样算法是将单个像素点分为n个采样点,通过计算采样点在线宽内部的个数来确定像素点的RGBA的权重值来实现反走样的效果,这样施加的反走样效果只有一层没有一个渐变的过程会造成像素值较大跨度的跳变,对锯齿现象的优化达不到预期的效果。本发明算法通过像素点到圆心的距离与半径的插值来确定权重值,不再是单层的反走样,使得反走样效果有一个平滑的过度,优化了反走样的效果,很好地解决了多重采样算法遗留下来的问题。通过对比可以看出,本发明方法的反走样显示效果比多重采样反走样算法得到的显示效果更好。反走样通过权重值有一个平滑的过度,优化了反走样的显示效果且动态显示效果良好,并且支持任意半径任意线宽的圆的绘制。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
Claims (6)
1.一种面向平显的多线宽圆无失真绘制方法,其特征在于,所述绘制方法包括以下步骤:
从圆心处引出一条射线,通过角度遍历确定该射线与多线宽圆的内径和外径的交点,再根据内径和外径的交点确定矩形扫描框范围,对矩形扫描框中的像素点进行遍历并根据像素点与圆心的距离和半径的差值来确定每个像素点的权重值,结合每个像素点的权重值调整对应像素点的RGBA取值,完成多线宽圆的绘制。
2.根据权利要求1所述的面向平显的多线宽圆无失真绘制方法,其特征在于,根据内径和外径的交点确定矩形扫描框范围的过程包括以下步骤:
S13,比较与的大小,将较小的值定义为,将较大的值定义为;比较
与的大小,将较小的值定义为,将较大的值定义为;和分别为射线L
与多线宽圆的交点在x轴上的最小取值和最大取值;和分别为射线L与多线宽圆的
交点在y轴上的最小取值和最大取值;
6.根据权利要求1所述的面向平显的多线宽圆无失真绘制方法,其特征在于,结合每个像素点的权重值调整对应像素点的RGBA取值是指,绘制的像素点的RGBA均由圆心的RGBA与权重的乘积计算得到。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210500805.7A CN114596386B (zh) | 2022-05-10 | 2022-05-10 | 一种面向平显的多线宽圆无失真绘制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210500805.7A CN114596386B (zh) | 2022-05-10 | 2022-05-10 | 一种面向平显的多线宽圆无失真绘制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114596386A true CN114596386A (zh) | 2022-06-07 |
CN114596386B CN114596386B (zh) | 2022-08-30 |
Family
ID=81811920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210500805.7A Active CN114596386B (zh) | 2022-05-10 | 2022-05-10 | 一种面向平显的多线宽圆无失真绘制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114596386B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103617640A (zh) * | 2013-11-13 | 2014-03-05 | 南京航空航天大学 | 一种线条图形反走样显示方法 |
CN104484893A (zh) * | 2014-12-16 | 2015-04-01 | 广东威创视讯科技股份有限公司 | 圆环形图像的绘制方法和系统 |
CN105718233A (zh) * | 2016-01-15 | 2016-06-29 | 南京航空航天大学 | 一种平显多线宽三角形无失真的绘制方法 |
-
2022
- 2022-05-10 CN CN202210500805.7A patent/CN114596386B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103617640A (zh) * | 2013-11-13 | 2014-03-05 | 南京航空航天大学 | 一种线条图形反走样显示方法 |
CN104484893A (zh) * | 2014-12-16 | 2015-04-01 | 广东威创视讯科技股份有限公司 | 圆环形图像的绘制方法和系统 |
CN105718233A (zh) * | 2016-01-15 | 2016-06-29 | 南京航空航天大学 | 一种平显多线宽三角形无失真的绘制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114596386B (zh) | 2022-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6563048B2 (ja) | スクリーンの位置によって異なる解像度のターゲットの複数レンダリングのテクスチャ・マッピングの傾き調整 | |
TWI552109B (zh) | 一種使用誤差項之保守格柵化基元的方法、非暫時性電腦可讀儲存媒體及系統 | |
JP6342513B2 (ja) | 高解像度表示バッファの効果的な構築方法 | |
US6885378B1 (en) | Method and apparatus for the implementation of full-scene anti-aliasing supersampling | |
US7884825B2 (en) | Drawing method, image generating device, and electronic information apparatus | |
EP2230642B1 (en) | Graphic drawing device and graphic drawing method | |
CN101887592B (zh) | 一种矢量图形地图符号的绘制方法 | |
EP1958162B1 (en) | Vector graphics anti-aliasing | |
EP2883211A1 (en) | Gpu-accelerated rendering of paths with a dash pattern | |
JPH07210697A (ja) | コンピュータグラフィックシステムのサブピクセルマスク発生方法および装置 | |
US20200279415A1 (en) | Efficiently Computed Distance Fields | |
JP2002537615A (ja) | スーパサンプリング・サンプル・バッファを有し、アーチファクトを縮小するため選択的フィルタリング調節を使用して出力ピクセルを生成するグラフィックス・システム。 | |
CN108537718B (zh) | Gpu中一种实现点图元反走样的装置和方法 | |
CN111145286A (zh) | 一种基于gpu的用于边缘计算场景的点九图片贴图绘制方法 | |
JP2002537613A (ja) | スーパサンプリング・サンプル・バッファを有し、表示効果を実現するため選択的フィルタ調節を使用して出力ピクセルを生成するグラフィックス・システム | |
CN114913265A (zh) | 一种面向平显的多线宽线段无失真绘制方法 | |
CN103310409B (zh) | 一种Tile-based渲染架构GPU的三角形快速分块方法 | |
CN108416729B (zh) | Gpu中一种线段反走样的实现装置和方法 | |
US6982719B2 (en) | Switching sample buffer context in response to sample requests for real-time sample filtering and video generation | |
CN114596386B (zh) | 一种面向平显的多线宽圆无失真绘制方法 | |
US11232613B1 (en) | Curve antialiasing based on curve-pixel intersection | |
CN108510565A (zh) | Gpu中一种实现线段转三角形绘制的装置与方法 | |
CN117274527A (zh) | 一种发电机设备三维可视化模型数据集构建方法 | |
CN110807113B (zh) | 可视化布局中的矩形图元重叠的非迭代消除方法 | |
JP4042204B2 (ja) | グラフィック演算装置およびその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |