CN105718233A - 一种平显多线宽三角形无失真的绘制方法 - Google Patents
一种平显多线宽三角形无失真的绘制方法 Download PDFInfo
- Publication number
- CN105718233A CN105718233A CN201610037273.2A CN201610037273A CN105718233A CN 105718233 A CN105718233 A CN 105718233A CN 201610037273 A CN201610037273 A CN 201610037273A CN 105718233 A CN105718233 A CN 105718233A
- Authority
- CN
- China
- Prior art keywords
- mid
- max
- triangle
- summit
- live widths
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1407—General aspects irrespective of display type, e.g. determination of decimal point position, display with fixed or driving decimal point, suppression of non-significant zeros
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种平显多线宽三角形无失真的绘制方法,属于图形显示技术领域。针对现有平显多线宽三角形采用三条多线宽直线拼接绘制而成时三个顶点显示有严重失真的问题,将多线宽三角形根据外侧三个顶点和内侧三个顶点划分为6个独立的填充三角形,每一个填充三角形采用水平直线填充的方法实现。6个填充三角形拼接可得到一个顶点无失真的多线宽三角形。本发明方法可以实现任意线宽三角形的无失真绘制,方法简单,显示效果好,便于硬件实现。
Description
技术领域
本发明涉及一种平显多线宽三角形无失真的绘制方法,属于图形显示技术领域。
背景技术
三角形是组成计算机图形最基本的元素之一,在很多显示系统中需要绘制任意线宽的三角形。常见的多线宽三角形的绘制方法是绘制三条多线宽的直线,由多线宽直线拼接得到多线宽的三角形。此方法实现简单方便,但是三角形的三个顶点会有严重的失真现象存在。当显示背景较亮时,需要给多线宽三角形加黑边,此时三角形顶点的失真现象更加明显。如何快速简单的绘制无失真多线宽三角形成为重要的研究内容。
发明内容
本发明所要解决的技术问题在于解决绘制多线宽三角形顶点存在失真的问题,提供一种适用于任意线宽的三角形的无失真绘制方法,实现方式相对简单,便于硬件实现。
本发明采用以下技术方案:
一种平显多线宽三角形无失真的绘制方法,将多线宽三角形根据外侧三个顶点和内侧三个顶点划分为6个独立的填充三角形,每一个填充三角形采用水平直线填充的方法实现。6个填充三角形拼接得到一个顶点无失真的多线宽三角形。
多线宽三角形的外侧三个顶点分别是(xmin,ymin),(xmid,ymid),(xmax,ymax),三角形三边线宽是d。其中三角形的外侧三个顶点是按纵坐标大小排序的,纵坐标的最小值为ymin、中间值为ymid以及最大值为ymax;同时将纵坐标对应的x坐标也分别赋为xmin、xmid和xmax。当ymax=ymid时,满足xmax>xmid;当ymin=ymid时,满足xmin<xmid。
多线宽三角形的内侧三个顶点分别是(xmin′,ymin′),(xmid′,ymid′),(xmax′,ymax′)。其中三角形的内侧三个顶点是按纵坐标大小排序的,纵坐标的最小值为ymin′、中间值为ymid′以及最大值为ymax′;同时将纵坐标对应的x坐标也分别赋为xmin′、xmid′和xmax′。当ymax′=ymid′时,满足xmax′>xmid′;当ymin′=ymid′时,满足xmin′<xmid′。坐标系设置为水平向右为x轴正方向,垂直向下为y轴正方向。
多线宽三角形被划分为6个填充三角形,填充三角形1由顶点(xmin,ymin)、(xmin′,ymin′)和(xmid,ymid)构成;填充三角形2由顶点(xmin′,ymin′)、(xmid′,ymid′)和(xmid,ymid)构成;填充三角形3由顶点(xmid,ymid)、(xmid′,ymid′)和(xmax′,ymax′)构成;填充三角形4由顶点(xmid,ymid)、(xmax′,ymax′)和(xmax,ymax)构成;填充三角形5由顶点(xmin,ymin)、(xmax′,ymax′)和(xmax,ymax)构成;填充三角形6由顶点(xmin,ymin)、(xmin′,ymin′)和(xmax′,ymax′)构成。每个填充三角形由水平直线填充而成。
相比现有技术,本发明具有以下有益效果:
(1)本发明方法可以实现任意线宽三角形的无失真绘制,显示效果好,实用性强;
(2)本发明方法在保证多线宽三角形无失真绘制的同时,方法简单,无需复杂的比较计算,便于硬件实现;
(3)本发明方法在绘制多线宽三角形时不会产生重复的绘制点,减少缓存空间的占用,增强图形处理能力。
附图说明
图1为多线宽三角形划分示意图;
图2为多线宽三角形内侧顶点计算示意图;
图3a为多线宽三角形直线绘制仿真显示效果图;
图3b为本发明方法的多线宽三角形绘制仿真显示效果图。
具体实施方式
下面结合附图对本发明的技术方案进行详细说明:
本发明的思路是将多线宽三角形划分为6个填充三角形,通过分别绘制6个填充三角形得到无失真的多线宽三角形。本发明方法不仅适用于多线宽三角形,可以适用于任意线宽的多边形的绘制。
图1为多线宽三角形划分示意图。通常在绘制多线宽三角形时,给出三角形的线宽和三角形的外侧顶点,所以首先需要计算三角形的内侧顶点。假设多线宽三角形的外侧三个顶点分别是(xmin,ymin),(xmid,ymid),(xmax,ymax),三角形三边线宽是d。其中三角形的外侧三个顶点是按纵坐标大小排序的,纵坐标的最小值为ymin、中间值为ymid以及最大值为ymax;同时将纵坐标对应的x坐标也分别赋为xmin、xmid和xmax。当ymax=ymid时,满足xmax>xmid;当ymin=ymid时,满足xmin<xmid。坐标系设置为水平向右为x轴正方向,垂直向下为y轴正方向。
图2为多线宽三角形内侧顶点计算示意图。
步骤1:计算顶点(xmin′,ymin′)。θ12表示顶点(xmin,ymin)和(xmid,ymid)构成线段与x轴正向的夹角;θ13表示顶点(xmin,ymin)和(xmax,ymax)构成线段与x轴正向的夹角。比较θ12和θ13的大小:θ1_max=max(θ12,θ13),θ1_min=min(θ12,θ13)。
顶点(xmin,ymin)所在角的平分角为顶点(xmin′,ymin′)到顶点(xmin,ymin)的距离为l1,角平分线与垂直方向的夹角为β1,β1=α1+θ1_min-90°。x方向的变化量Δx1=l1×sinβ1,y方向的变化量Δy1=l1×cosβ1。当β1大于0°时,顶点(xmin′,ymin′)在顶点(xmin,ymin)的左下方;当β1小于0°时,顶点(xmin′,ymin′)在顶点(xmin,ymin)的右下方;当β1等于0°时,顶点(xmin′,ymin′)在顶点(xmin,ymin)的正下方。所以xmin′=xmin-Δx1,ymin′=ymin+Δy1。
步骤2:计算顶点(xmid′,ymid′)。θ12表示顶点(xmin,ymin)和(xmid,ymid)构成线段与x轴正向的夹角;θ23表示顶点(xmid,ymid)和(xmax,ymax)构成线段与x轴正向的夹角。比较θ12和θ23的大小:θ2_max=max(θ12,θ23),θ2_min=min(θ12,θ23)。
顶点(xmid,ymid)所在角的平分角为顶点(xmid′,ymid′)到顶点(xmid,ymid)的距离为l2,角平分线与水平方向的夹角为β2,x方向的变化量Δx2=l2×cosβ2y方向的变化量Δy2=l2×sinβ2。所以
步骤3:计算顶点(xmax′,ymax′)。θ13表示顶点(xmin,ymin)和(xmax,ymax)构成线段与x轴正向的夹角;θ23表示顶点(xmid,ymid)和(xmax,ymax)构成线段与x轴正向的夹角。比较θ13和θ23的大小:θ3_max=max(θ13,θ23),θ3_min=min(θ13,θ23)。
顶点(xmax,ymax)所在角的平分角顶点(xmax′,ymax′)到顶点(xmax,ymax)的距离为l3,角平分线与水平向右方向的夹角为β3,x方向的变化量Δx3=l3×cosβ3,y方向的变化量Δy3=l3×sinβ3。所以xmax′=xmax+Δx3,ymax′=ymax-Δy3。
步骤4:绘制6个填充三角形,每个填充三角形采用水平直线填充的方式绘制而成。
图3a为多线宽三角形直线绘制仿真显示效果图,图3b为本发明方法的多线宽三角形绘制仿真显示效果图,通过对比可以看出,本发明方法的显示效果比直线绘制的显示效果更好,多线宽三角形顶点无明显失真。
Claims (5)
1.一种平显多线宽三角形无失真的绘制方法,其特征在于,将多线宽三角形根据外侧三个顶点和内侧三个顶点划分为6个独立的填充三角形,6个填充三角形拼接得到一个顶点无失真的多线宽三角形。
2.如权利要求1所述平显多线宽三角形无失真的绘制方法,其特征在于,多线宽三角形的外侧三个顶点分别是(xmin,ymin),(xmid,ymid),(xmax,ymax),外侧三个顶点是按纵坐标大小排序的,纵坐标的最小值为ymin、中间值为ymid以及最大值为ymax;同时将纵坐标对应的x坐标也分别赋为xmin、xmid和xmax,当ymax=ymid时,满足xmax>xmid;当ymin=ymid时,满足xmin<xmid。
3.如权利要求1所述平显多线宽三角形无失真的绘制方法,其特征在于,多线宽三角形的内侧三个顶点分别是(xmin′,ymin′),(xmid′,ymid′),(xmax′,ymax′),内侧三个顶点是按纵坐标大小排序的,纵坐标的最小值为ymin′、中间值为ymid′以及最大值为ymax′;同时将纵坐标对应的x坐标也分别赋为xmin′、xmid′和xmax′,当ymax′=ymid′时,满足xmax′>xmid′;当ymin′=ymid′时,满足xmin′<xmid′。
4.如权利要求1所述平显多线宽三角形无失真的绘制方法,其特征在于,填充三角形1由顶点(xmin,ymin)、(xmin′,ymin′)和(xmid,ymid)构成,填充三角形2由顶点(xmin′,ymin′)、(xmid′,ymid′)和(xmid,ymid)构成,填充三角形3由顶点(xmid,ymid)、(xmid′,ymid′)和(xmax′,ymax′)构成,填充三角形4由顶点(xmid,ymid)、(xmax′,ymax′)和(xmax,ymax)构成,填充三角形5由顶点(xmin,ymin)、(xmax′,ymax′)和(xmax,ymax)构成,填充三角形6由顶点(xmin,ymin)、(xmin′,ymin′)和(xmax′,ymax′)构成。
5.如权利要求1所述平显多线宽三角形无失真的绘制方法,其特征在于,6个填充三角形由水平直线填充绘制得到。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610037273.2A CN105718233B (zh) | 2016-01-15 | 2016-01-15 | 一种平显多线宽三角形无失真的绘制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610037273.2A CN105718233B (zh) | 2016-01-15 | 2016-01-15 | 一种平显多线宽三角形无失真的绘制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105718233A true CN105718233A (zh) | 2016-06-29 |
CN105718233B CN105718233B (zh) | 2019-08-20 |
Family
ID=56147768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610037273.2A Expired - Fee Related CN105718233B (zh) | 2016-01-15 | 2016-01-15 | 一种平显多线宽三角形无失真的绘制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105718233B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106600698A (zh) * | 2016-12-15 | 2017-04-26 | 西安汇明光电技术有限公司 | 一种三维模型的快速绘制方法 |
CN111105485A (zh) * | 2018-10-09 | 2020-05-05 | 杭州海康威视数字技术股份有限公司 | 一种线条渲染方法、装置 |
CN114596386A (zh) * | 2022-05-10 | 2022-06-07 | 南京航空航天大学 | 一种面向平显的多线宽圆无失真绘制方法 |
CN115661298A (zh) * | 2022-12-15 | 2023-01-31 | 南京航空航天大学 | 一种无失真三角形的区域划分绘制方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030122829A1 (en) * | 2001-12-12 | 2003-07-03 | Mcnamara Robert Stephen | Efficient movement of fragment stamp |
US20080218520A1 (en) * | 2007-03-09 | 2008-09-11 | Graham Sellers | Acceleration of Triangle Scan Conversion Through Minor Direction Detection |
CN101719057A (zh) * | 2009-11-27 | 2010-06-02 | 广东威创视讯科技股份有限公司 | 绘制几何图形的方法及装置 |
CN103164864A (zh) * | 2011-12-13 | 2013-06-19 | 上海炬力集成电路设计有限公司 | 计算机图像处理中多边形的三角化方法及其系统 |
CN103700060A (zh) * | 2013-12-26 | 2014-04-02 | 北京大学 | 一种海量任意形状多边形的快速可视化方法 |
-
2016
- 2016-01-15 CN CN201610037273.2A patent/CN105718233B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030122829A1 (en) * | 2001-12-12 | 2003-07-03 | Mcnamara Robert Stephen | Efficient movement of fragment stamp |
US20080218520A1 (en) * | 2007-03-09 | 2008-09-11 | Graham Sellers | Acceleration of Triangle Scan Conversion Through Minor Direction Detection |
CN101719057A (zh) * | 2009-11-27 | 2010-06-02 | 广东威创视讯科技股份有限公司 | 绘制几何图形的方法及装置 |
CN103164864A (zh) * | 2011-12-13 | 2013-06-19 | 上海炬力集成电路设计有限公司 | 计算机图像处理中多边形的三角化方法及其系统 |
CN103700060A (zh) * | 2013-12-26 | 2014-04-02 | 北京大学 | 一种海量任意形状多边形的快速可视化方法 |
Non-Patent Citations (1)
Title |
---|
常进,何援军,田海山: "基于OpenGL的机载图形生成算法", 《工程图学学报》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106600698A (zh) * | 2016-12-15 | 2017-04-26 | 西安汇明光电技术有限公司 | 一种三维模型的快速绘制方法 |
CN106600698B (zh) * | 2016-12-15 | 2019-09-24 | 西安汇明光电技术有限公司 | 一种三维模型的快速绘制方法 |
CN111105485A (zh) * | 2018-10-09 | 2020-05-05 | 杭州海康威视数字技术股份有限公司 | 一种线条渲染方法、装置 |
CN111105485B (zh) * | 2018-10-09 | 2024-02-27 | 杭州海康威视数字技术股份有限公司 | 一种线条渲染方法、装置 |
CN114596386A (zh) * | 2022-05-10 | 2022-06-07 | 南京航空航天大学 | 一种面向平显的多线宽圆无失真绘制方法 |
CN115661298A (zh) * | 2022-12-15 | 2023-01-31 | 南京航空航天大学 | 一种无失真三角形的区域划分绘制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105718233B (zh) | 2019-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105718233A (zh) | 一种平显多线宽三角形无失真的绘制方法 | |
CN104183016B (zh) | 一种快速的2.5维建筑物模型的构建方法 | |
JP2015122069A5 (zh) | ||
CN104822059A (zh) | 一种基于gpu加速的虚拟视点合成方法 | |
CN103310409B (zh) | 一种Tile-based渲染架构GPU的三角形快速分块方法 | |
CN207097936U (zh) | 一种卷绕电芯片、卷绕电芯与电池 | |
CN103945209B (zh) | 一种基于分块投影的dibr方法 | |
CN101383051B (zh) | 一种基于图像重投影的视图合成方法 | |
CN104484893B (zh) | 圆环形图像的绘制方法和系统 | |
CN104123748A (zh) | 基于屏幕空间中点光源实现实时动态阴影的方法 | |
CN102831632A (zh) | 镜像纹理生成方法、装置以及计算机 | |
CN104978070A (zh) | 一种消除衍射的触控膜 | |
CN104933746B (zh) | 一种为平面图片设置动态阴影的方法及装置 | |
CN104346798A (zh) | 目标轮廓多边形逼近方法及其装置 | |
CN104517312A (zh) | 旋转体模型的纹理贴图方法 | |
CN104952103B (zh) | 一种视点依赖的阴影贴图创建方法 | |
CN203311155U (zh) | 一种直边裁剪无压印的投影幕 | |
WO2017016188A1 (zh) | 显示面板及显示装置 | |
CN104461577A (zh) | 一种基于html5图形绘制程序的流程图显示方法 | |
CN103106687B (zh) | 自适应视域范围内三维海洋网格的计算机生成方法及其装置 | |
CN105141936B (zh) | 针对虚拟视点图像的带方向fmm图像修复方法 | |
CN111145298B (zh) | 顾及线宽一致性的矢量地图栅栏虚线符号绘制方法 | |
CN107067449A (zh) | 一种多边形的矩形窗口裁剪系统 | |
CN111127589B (zh) | 顾及线宽一致性的矢量地图圆形虚线符号绘制方法 | |
CN104134201B (zh) | 纹理图像拼接的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190820 Termination date: 20200115 |