一种无失真三角形的区域划分绘制方法技术

技术编号:36512199 阅读:33 留言:0更新日期:2023-02-01 15:41
本发明专利技术公开了一种无失真三角形的区域划分绘制方法,采用三角形相邻两边作为不共线的非零向量来线性组合表示任一像素点与两个非零向量公共点构成的像素向量,通过线性组合系数和像素向量在三角形各边上的投影大小对三角形进行区域划分,不同区域采用不同的距离反走样完成三角形绘制。本发明专利技术能够解决现有技术中三角形各边在小角度情况下会出现绘制异常、反走样显示效果差的技术问题,可以实现三角形的无失真绘制,显示效果好。显示效果好。显示效果好。

【技术实现步骤摘要】
一种无失真三角形的区域划分绘制方法


[0001]本专利技术涉及图形显示
,具体而言涉及一种无失真三角形的区域划分绘制方法。

技术介绍

[0002]三角形是组成计算机图形最基本的元素之一,在很多显示系统中需要绘制任意类型的三角形。常见的三角形绘制算法会对三角形三个顶点的纵坐标大小进行判断将顶点纵坐标较小的顶点记为点,纵坐标顶点较大的顶点记为点,剩余顶点记为点,引出一条经过点的水平线将三角形分为上三角形和下三角形,从点所在行开始对三角形进行逐行扫描,通过水平线与三角形边的交点的横坐标与像素点的横坐标进行大小比较确定像素点是否在三角形内部。在上三角形部分,交点即为水平线与、边的交点;在下三角形部分,交点即为水平线与、边的交点。反走样部分采用多重采样算法。在三角形各边处于小角度的情况下,该算法绘制出的三角形锯齿现象严重,且在上三角形与下三角形的衔接处会出现填充异常的问题。如何高效、简便地完成三角形的绘制成为重要的研究内容。

技术实现思路

[0003]为了解决目前常见的三角形绘制算法会造成上下三角形衔接处填充异常以及反走样效果差的问题,本专利技术提供一种无失真三角形的区域划分绘制方法,适用于任意类型三角形,便于硬件实现。
[0004]为实现上述目的,本专利技术采用以下技术方案:一种无失真三角形的区域划分绘制方法,所述区域划分绘制方法包括以下步骤:S1,令待绘制的三角形的三个顶点分别为点O、点A和点B;采用三角形相邻两边对应的不共线的非零向量和的线性组合表示任一像素点P与两个非零向量公共点构成的像素向量;S2,通过像素点的像素向量对应的线性组合系数k和t对三角形进行区域划分,将其划分成以下四个绘制区域:三角形内部区域、OA边所属区域、AB边所属区域和OB边所属区域;S3,根据OA边所属区域、AB边所属区域和OB边所属区域的像素点的像素向量在各自对应的三角形边上的投影大小,计算得到像素点与对应边的距离值;采用下述公式计算得到像素点的透明度:
;对不同区域采用不同的距离反走样完成三角形绘制;其中,三角形内部区域的像素点的透明度取值为1。
[0005]为优化上述技术方案,采取的具体措施还包括:进一步地,步骤S2中,采用下述公式计算得到像素点P的像素向量对应的线性组合系数k和t:式中,是点O的坐标值,是点A的坐标值,是点B的坐标值,是像素点P的坐标值。
[0006]进一步地,步骤S2中,通过像素向量对应的线性组合系数k和t对三角形进行区域划分的过程包括以下子步骤:通过k、t的大小将三角形分为四个绘制区域:若像素向量对应的线性组合系数满足以下条件:,则像素点属于第一绘制区域,对应的三角形边为OA边;若像素向量对应的线性组合系数满足以下条件:,则像素点属于第二绘制区域,对应的三角形边为AB边;若像素向量对应的线性组合系数满足以下条件:,则像素点属于第三绘制区域,对应的三角形边为AB边;若像素向量对应的线性组合系数满足以下条件:,则像素点属于第四绘制区域,对应三角形内部区域。
[0007]进一步地,步骤S3中,当像素点P位于第一绘制区域时,采用下述公式计算得到像素点与对应边的距离值:式中,。
[0008]进一步地,步骤S3中,当像素点P位于第二绘制区域时,采用下述公式计算得到像
素点与对应边的距离值:式中,。
[0009]进一步地,步骤S3中,当像素点P位于第二绘制区域时,采用下述公式计算得到像素点与对应边的距离值:式中,。
[0010]进一步地,对不同区域采用不同的距离反走样完成三角形绘制的过程包括以下步骤:遍历每个像素点,计算得到每个像素点的像素值:式中,G为像素点的初始像素值。
[0011]进一步地,对不同区域采用不同的距离反走样完成三角形绘制的过程还包括以下步骤:将已知像素点的颜色信息带入下述关系式,以确定遍历到的像素点的未知颜色信息:式中,是像素点P的颜色信息,、和分别是点A、点O和点B的颜色信息;乘以透明度计算得到片元的颜色信息为:

[0012]本专利技术的有益效果是:第一,本专利技术的无失真三角形的区域划分绘制方法,可以实现任意类型三角形的无失真绘制,显示效果好,实用性强;第二,本专利技术的无失真三角形的区域划分绘制方法,解决了目前将三角形分为上下三角形进行填充造成上下三角形衔接处填充异常的问题,对于片元信息的计算进行了优化;第三,本专利技术的无失真三角形的区域划分绘制方法,大大优化了三角形的反走样显示效果。
附图说明
[0013]图1是本专利技术实施例的无失真三角形的区域划分绘制方法原理图。
[0014]图2为采用上下三角形方式绘制的各类型三角形仿真图。
[0015]图3为采用本专利技术实施例的无失真三角形的区域划分绘制方法绘制的各类型三角形仿真图。
具体实施方式
[0016]现在结合附图对本专利技术作进一步详细的说明。
[0017]需要注意的是,专利技术中所引用的如“上”、“下”、“左”、“右”、“前”、“后”等的用语,亦仅为便于叙述的明了,而非用以限定本专利技术可实施的范围,其相对关系的改变或调整,在无实质变更
技术实现思路
下,当亦视为本专利技术可实施的范畴。
[0018]本实施例公开了一种无失真三角形的区域划分绘制方法,根据平面内任一向量都可以用其它两个不共线的非零向量的线性组合表示的理论,用三角形相邻两边作为不共线的非零向量来线性组合表示任一像素点与两个非零向量公共点构成的像素向量,通过线性组合系数和像素向量在三角形各边上的投影大小对三角形进行区域划分,不同区域采用不同的距离反走样完成三角形绘制。具体地,所述区域划分绘制方法包括以下步骤:S1,令待绘制的三角形的三个顶点分别为点O、点A和点B;采用三角形相邻两边对应的不共线的非零向量和的线性组合表示任一像素点P与两个非零向量公共点构成的像素向量。
[0019]S2,通过像素点的像素向量对应的线性组合系数k和t对三角形进行区域划分,将其划分成以下四个绘制区域:三角形内部区域、OA边所属区域、AB边所属区域和OB边所属区域。
[0020]S3,根据OA边所属区域、AB边所属区域和OB边所属区域的像素点的像素向量在各自对应的三角形边上的投影大小,计算得到像素点与对应边的距离值;采用下述公式计算得到像素点的透明度:
;对不同区域采用不同的距离反走样完成三角形绘制;其中,三角形内部区域的像素点的透明度取值为1。
[0021]图1为无失真三角形的区域划分绘制方法原理图。通常在绘制三角形时,给出三角形的三个顶点,,。根据平行四边形法则,相邻两边的向量和是两向量的公共顶点与对点相连的对角线,即。平面内任一向量都可以用其它两个不共线的非零向量的线性组合表示,对于平面内的任意一点P与点O构成的向量,均可以由已知向量和向量来表示,只需要控制、的系数即可,即。以像素点为例,向量,向量,向量。存在系数k、t使得,将已知的坐标信息带入可联立以下方程组:用已知信息来表示k、t可得到:判断像素点是否在平行四边形内部时k、t只需要满足以下条件即可:判断像素点是否在三角形内部时即本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种无失真三角形的区域划分绘制方法,其特征在于,所述区域划分绘制方法包括以下步骤:S1,令待绘制的三角形的三个顶点分别为点O、点A和点B;采用三角形相邻两边对应的不共线的非零向量和的线性组合表示任一像素点P与两个非零向量公共点构成的像素向量;S2,通过像素点的像素向量对应的线性组合系数k和t对三角形进行区域划分,将其划分成以下四个绘制区域:三角形内部区域、OA边所属区域、AB边所属区域和OB边所属区域;S3,根据OA边所属区域、AB边所属区域和OB边所属区域的像素点的像素向量在各自对应的三角形边上的投影大小,计算得到像素点与对应边的距离值;采用下述公式计算得到像素点的透明度:;对不同区域采用不同的距离反走样完成三角形绘制;其中,三角形内部区域的像素点的透明度取值为1。2.根据权利要求1所述的无失真三角形的区域划分绘制方法,其特征在于,步骤S2中,采用下述公式计算得到像素点P的像素向量对应的线性组合系数k和t:式中,是点O的坐标值,是点A的坐标值,是点B的坐标值,是像素点P的坐标值。3.根据权利要求2所述的无失真三角形的区域划分绘制方法,其特征在于,步骤S2中,通过像素向量对应的线性组合系数k和t对三角形进行区域划分的过程包括以下子步骤:通过k、t的大小将三角形分为四个绘制区域:若像素向量对应的线性组合系数满足以下条件:,则像素点属于第一绘制区域,对应的三角形边为OA边;若像素向量对应的线性组合系数满足以下条件:,则像素点属于第二绘制区...

【专利技术属性】
技术研发人员:李涵夏伟杰郭元浩李文强张川周钰致刘伟强周建江苏霖
申请(专利权)人:南京航空航天大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1