CN103745492B - 一种基于矢量数据的二维阴影生成方法 - Google Patents

一种基于矢量数据的二维阴影生成方法 Download PDF

Info

Publication number
CN103745492B
CN103745492B CN201310734151.5A CN201310734151A CN103745492B CN 103745492 B CN103745492 B CN 103745492B CN 201310734151 A CN201310734151 A CN 201310734151A CN 103745492 B CN103745492 B CN 103745492B
Authority
CN
China
Prior art keywords
shadow
point
light source
modeling
dimensional
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.)
Active
Application number
CN201310734151.5A
Other languages
English (en)
Other versions
CN103745492A (zh
Inventor
沈学如
张宝印
张韶华
郭连惠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JIANGSU RUYITONG ANIMATION INDUSTRY Co Ltd
Original Assignee
JIANGSU RUYITONG ANIMATION INDUSTRY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by JIANGSU RUYITONG ANIMATION INDUSTRY Co Ltd filed Critical JIANGSU RUYITONG ANIMATION INDUSTRY Co Ltd
Priority to CN201310734151.5A priority Critical patent/CN103745492B/zh
Publication of CN103745492A publication Critical patent/CN103745492A/zh
Application granted granted Critical
Publication of CN103745492B publication Critical patent/CN103745492B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

本发明揭示了一种基于矢量数据的二维阴影生成方法,通过在二维平面内定义内阴影点光源,根据光源发射的直线和造型轮廓之间的交点来判断内阴影附着边,进而生成内阴影的过程,包括如下步骤:1)定义内阴影点光源;2)确定内阴影附着边;3)中心投影,得到内阴影附着边的缩小图形;4)将缩小图形投影到造型平面上,得到它和原始内阴影附着边的闭合多边形;5)填充闭合多边形,得到内阴影区域。本发明有效提高了二维动画中的阴影制作效率,有效节约了人力成本,有效保证动动画质量。

Description

一种基于矢量数据的二维阴影生成方法
技术领域
本发明涉及光线跟踪算法领域,具体涉及一种基于矢量数据的二维阴影生成方法。
背景技术
二维动画中的阴影分为外阴影和内阴影两种,其中外阴影是指在光线照射情况下,造型实体在地面或墙壁上的投影,这种阴影能有效地表示图形实体在空间中的位置,以及和其他实体之间的相互关系,在三维图形处理中得到大量的应用;内阴影则是指在光线照射条件下,造型实体背光方向所形成的阴暗面,这种阴影能够体现出光源照射的方向以及图形实体的景深信息,在二维图形处理中应用广泛。当前在计算机图形学领域,对外阴影的研究非常广泛,集中于三维图形领域,成果也很多,但在二维图形领域则研究较少;内阴影方面则一直都是二维图形处理过程中的难点问题,国内外相关的研究也很少,在二维动画制作过程中也只能通过手绘来完成,因此为了减少工作量,降低成本,国内动画制作人员都采取了规避阴影的做法,即在动画作品中不进行阴影处理,这不可避免地造成了画面没有层次感、视觉效果差的结果。
当前,在二维图形的阴影处理方面主要依靠手工绘制完成,但近年来,在图像处理领域已经提出了许多对图像进行素描风格处理的算法,这一类算法可以通过图像来生成素描图。因为光影处理是素描画绘制过程中的重要内容,因此当前的图像素描化算法中也就不可避免的要对原始图像进行阴影处理,而这里的阴影处理主要是针对边界的内阴影处理,对于二维动画中的外阴影则还需通过手绘方法生成。因此目前在二维图形的阴影生成技术研究中主要解决的还是内阴影的问题,即基于图像处理得到内阴影,其一般步骤如图1所示:
通过对当前基于图像处理的阴影生成算法进行研究,我们认为其缺陷主要在于以下几点:
1、图像因为是栅格数据,只能逐像素的赋值来实现阴影效果,因此在设定光照方向的时候只能设定自左向右、自右向左、自上而下以及自下而上等四种情况,而对于带角度的光照方向只能通过明暗区域的分隔线来实现,所以在光照的模拟上和实际的效果要求存在一定的差异。
2、图像主要通过像素的灰度来确定内阴影的附着边和内阴影的区域像素,因此当图像中的图像灰度不均匀时,会出现脏区域,就如同墨迹一般,必须通过后期处理加以清除。
3、在图像上一旦对内阴影区域内的像素进行赋值操作后,再要对其修改就变得比较困难,必须通过图像处理软件逐像素进行处理,工作量比较大,而且对于修改的效果也很难掌控。
发明内容
本发明的目的在于提供一种提高动画的制作效率、有效节约成本,并保证动画质量的基于矢量数据的二维阴影生成方法。
本发明的技术方案是,一种基于矢量数据的二维阴影生成方法,通过在二维平面内定义内阴影点光源,根据光源发射的直线和造型轮廓之间的交点来判断内阴影附着边,进而生成内阴影的过程,包括如下步骤:
1)定义内阴影点光源;
2)确定内阴影附着边;
3)中心投影,得到内阴影附着边的缩小图形;
4)将缩小图形投影到造型平面上,得到它和原始内阴影附着边的闭合多边形;
5)填充闭合多边形,得到内阴影区域。
在本发明一个较佳实施例中,通过在三维空间定义内阴影点光源,然后根据光线直射的原理,结合二维动画的五面造型,应用光照投影算法求得造型外阴影的过程,包括如下步骤:
1)以造型为中心,定义外阴影的点光源,设定点光源的运动球面;
2)根据点光源的位置,确定造型的向光面;
3)调入向光面的数据,并对其进行旋转,以正对点光源位置;
4)从点光源出发,将造型外轮廓投影到地面上,得到其外阴影。
在本发明一个较佳实施例中,定义内阴影点光源后,采用光线求交的方式求得点光源发射的光线和造型外轮廓的交点,进而确定背光面和向光面的过程为确定内阴影附着边技术,包括如下步骤:
1)初始化计算过程,令k=0,,从光源向多边形第k个顶点引一条直线,记为SPk
2)求解直线SPk和多边形上每一线段(由多边形的两个顶点组成,设为)的交点,根据交点的数量进行判断;
3)设k=n,按照第(2)步,从反向开始求解附着边的另一个端点;
4)在确定了内阴影附着边的两个端点后,根据光照方向可以确定背光的轮廓边。
在本发明一个较佳实施例中,确定附着边以后,根据附着边的形状来确定内阴影的区域和形状的过程为内阴影绘制技术,包括如下步骤:
1)取图形对象的中心点沿Z轴正向平移M得到的点为视点,从该视点出发,求其和附着边轮廓上每个顶点所连的直线和某一个平面的交点;
2)把平面上的顶点再投影到平面P中,实际上就得到了附着边的一个缩小图形,就可以把这些投影后的顶点作为内阴影的区域顶点;
3)增加一个权值,用于标识附着边顶点上阴影的深度,以便于更好地表现内阴影的圆弧效果;
4)把附着边的顶点数组和新的顶点数组合并组成一个新的多边形,并填色,此多边形即为内阴影区域。
在本发明一个较佳实施例中,定义了点光源之后,结合二维动画的五面造型,根据光线方向和物体轮廓,求解地面阴影的过程为外阴影绘制技术,包括如下步骤:
1)定义光线方向;
2)确定向光面;
3)坐标转换:
① 得到造型的中轴线;
② 以中轴线为旋转轴,按照造型面对应的角度对其进行旋转,得到点位的三维坐标;
③ 对造型外轮廓的每一个点,根据光照方向,计算其在地面的投影点;
④ 所有的投影点连接成阴影区域;
4)光照投影,得到地面阴影。
本发明所述为一种基于矢量数据的二维阴影生成方法,本发明有效提高了二维动画中的阴影制作效率,有效节约了人力成本,有效保证动动画质量。
附图说明
图1为现有的基于图像处理的内阴影算法步骤示意图;
图2为本发明一较佳实施例的基于矢量的内阴影生成步骤示意图;
图3为本发明一较佳实施例的基于矢量的外阴影生成步骤示意图;
图4为本发明一较佳实施例的照射光线与多边形之间有两个交点的情况示意图;
图5为本发明一较佳实施例的照射光线与多边形之间有多个交点的情况示意图;
图6为本发明一较佳实施例的图形对象的投影示意图。
具体实施方式
下面对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
本发明所述为一种基于矢量数据的二维阴影生成方法,通过在二维平面内定义内阴影点光源,根据光源发射的直线和造型轮廓之间的交点来判断内阴影附着边,进而生成内阴影的过程,如图2所示,包括如下步骤:
1)定义内阴影点光源:是指根据实际的光影效果需求,在二维平面内定义一个点光源,该点光源和二维动画造型呈一定角度;
2)确定内阴影附着边:是指在定义内阴影点光源后,采用光线求交的方式求得点光源发射的光线和造型外轮廓的交点,进而确定背光面和向光面的过程,其过程主要包括以下几个步骤:
设多边形的顶点数组为
(1)初始化计算过程,令k=0,,从光源向多边形第k个顶点引一条直线,记为SPk
(2)求解直线SPk和多边形上每一线段(由多边形的两个顶点组成,设为)的交点,根据交点的数量进行判断:
① 如果SPk和多边形之间除了Pk点外,不存在其它交点,则当前的点P为一个端点,继续第(3)步;
② 如果只有两个交点,因为多边形的边为直线段,因此在这两个交点之间必定存在不少于一个的多边形顶点,如图4所示;
设这些顶点数组为,则
,继续第2)步的判断,直到最后结果满足步骤①的条件,继续第(3)步;
③ 如果存在多个交点,如图5所示:
此时跳至第(3)步。
(3)设k=n,按照第(2)步,从反向开始求解附着边的另一个端点。
在确定了内阴影附着边的两个端点后,根据光照方向可以确定背光的轮廓边。设附着边的两个端点分别为Pk和Pm,则以Pk为起点对多边形的顶点数组重新排列,排列后的顶点数组为:
即Pk和Pm把顶点分为两个部分:,这两组点数据分别组成了向光和背光的两条轮廓边。
对于如何确定哪一组点串是背光面轮廓的节点,依然可以通过直线求交的方法来实现:通过光源分别向两组点串中的任意一个点引直线,显然,光源和背光面上的点所组成的线段必然和向光面轮廓相交,因此我们就可以通过这一规律来确定背光面的点串数组,其形成的轮廓曲线即为附着边。
3)中心投影,得到内阴影附着边的缩小图形;
4)将缩小图形投影到造型平面上,得到它和原始内阴影附着边的闭合多边形;
5)填充闭合多边形,得到内阴影区域。
通过在三维空间定义内阴影点光源,然后根据光线直射的原理,结合二维动画的五面造型,应用光照投影算法求得造型外阴影的过程,包括如下步骤:
1)以造型为中心,定义外阴影的点光源,设定点光源的运动球面;
2)根据点光源的位置,确定造型的向光面;
3)调入向光面的数据,并对其进行旋转,以正对点光源位置;
4)从点光源出发,将造型外轮廓投影到地面上,得到其外阴影。
定义内阴影点光源后,采用光线求交的方式求得点光源发射的光线和造型外轮廓的交点,进而确定背光面和向光面的过程为确定内阴影附着边技术,包括如下步骤:
1)初始化计算过程,令k=0,,从光源向多边形第k个顶点引一条直线,记为SPk
2)求解直线SPk和多边形上每一线段(由多边形的两个顶点组成,设为)的交点,根据交点的数量进行判断;
3)设k=n,按照第(2)步,从反向开始求解附着边的另一个端点;
4)在确定了内阴影附着边的两个端点后,根据光照方向可以确定背光的轮廓边。
确定附着边以后,根据附着边的形状来确定内阴影的区域和形状的过程为内阴影绘制技术,包括如下步骤:
1)取图形对象的中心点沿Z轴正向平移M得到的点为视点,从该视点出发,求其和附着边轮廓上每个顶点所连的直线和某一个平面的交点,如图6所示;
2)把平面上的顶点再投影到平面P中,实际上就得到了附着边的一个缩小图形,就可以把这些投影后的顶点作为内阴影的区域顶点;
3)为了更好地表现内阴影的圆弧效果(离端点越近的阴影区域越小,离光源点越远的阴影区域越大),需要增加一个权值,用于标识附着边顶点上阴影的深度,设距离权为u,以便于更好地表现内阴影的圆弧效果,则其计算方法如下:
① 求得附着边顶点和光源之间的最大距离值,设该值为
② 分别求出附着边上每个顶点和光源之间的距离,记为d;
③ 根据下式计算权重u;
(1)
4)把附着边的顶点数组和新的顶点数组合并组成一个新的多边形,并填色,此多边形即为内阴影区域。
定义外阴影点光源,是指参照现实世界的光照情况,设定一个三维坐标下的点光源的过程,其过程主要包括以下几个步骤:
(1)以动画造型中心为原点建立一个三维坐标系;
(2)然后按照给定的半径,在三维坐标系中围绕造型设置一个外接球体;
(3)最后在球体表面按照一定间隔的角度做一系列的经线和纬线,我们就把这些经线和纬线作为光源的移动轨迹,光源的位置则由经纬度决定。
定义了外阴影点光源之后,结合二维动画的五面造型,根据光线方向和物体轮廓,求解地面阴影的过程为外阴影生成技术,如图3所示,包括如下步骤:
1)定义光线方向:
设光源位置为,则对于空间任意一点来说,其入射光线如式(2)所示:
(2)
2)确定向光面:
在二维动画的制作过程中,对于一个造型一般都采用五面画法,即为每一个造型都绘制五个角度的平面图形,分别为正面、正面45º、侧面90º、背面、以及背面45º;
3)坐标转换:在二维动画中,不同的造型面都是在XY平面绘制的,这和光源的三维坐标并不对应,因此首先要把不同角度的造型坐标转换为对应的三维坐标。这一转换过程可以通过将不同角度的造型面围绕造型的中轴线旋转相应角度得到,步骤如下:
① 得到造型的中轴线;
② 以中轴线为旋转轴,按照造型面对应的角度对其进行旋转,得到点位的三维坐标,设原造型面上任意一点坐标为(X,Y),对其进行平移后的坐标为(X,Y,w),则对平移后坐标再进行旋转后的三维坐标可由以下公式得到:
(3)
其中,角度与造型面有关。
③ 对造型外轮廓的每一个点,根据光照方向,计算其在地面的投影点。地面则由经过造型的最底点,且平行于XZ平面的平面代表;
④ 所有的投影点连接成阴影区域;
4)设定视点位置,将三维空间的阴影区域投影到XY平面,得到最后的二维阴影。
本发明所述为一种基于矢量数据的二维阴影生成方法,本发明有效提高了二维动画中的阴影制作效率,有效节约了人力成本,有效保证动动画质量。
以上所述仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域的技术人员在本发明所揭露的技术范围内,可不经过创造性劳动想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书所限定的保护范围为准。

Claims (5)

1.一种基于矢量数据的二维阴影生成方法,其特征在于:通过在二维平面内定义内阴影点光源,根据光源发射的直线和造型轮廓之间的交点来判断内阴影附着边,进而生成内阴影的过程,包括如下步骤:
1)定义内阴影点光源;
2)确定二维动画造型的内阴影附着边;
3)中心投影,得到内阴影附着边的缩小图形;
4)将缩小图形投影到造型平面上,得到它和原始内阴影附着边的闭合多边形;
5)填充闭合多边形,得到内阴影区域。
2.根据权利要求1所述的基于矢量数据的二维阴影生成方法,其特征在于:通过在三维空间定义内阴影点光源,然后根据光线直射的原理,结合二维动画的五面造型,应用光照投影算法求得造型外阴影的过程,包括如下步骤:
1)以造型为中心,定义外阴影的点光源,设定点光源的运动球面;
2)根据点光源的位置,确定造型的向光面;
3)调入向光面的数据,并对其进行旋转,以正对点光源位置;
4)从点光源出发,将造型外轮廓投影到地面上,得到其外阴影。
3.根据权利要求1所述的基于矢量数据的二维阴影生成方法,其特征在于:定义内阴影点光源后,采用光线求交的方式求得点光源发射的光线和造型外轮廓的交点,进而确定背光面和向光面的过程为确定内阴影附着边技术,包括如下步骤:
1)初始化计算过程,令k=0,,从光源向多边形第k个顶点引一条直线,记为SPk
2)求解直线SPk和多边形上每一线段(由多边形的两个顶点组成,设为)的交点,根据交点的数量进行判断,如果SPk和k多边形之间除了Pk点外,不存在其它交点,则当前的点P为一个端点;
3)设k=n,按照第2)步,从反向开始求解附着边的另一个端点;
4)在确定了内阴影附着边的两个端点后,根据光照方向可以确定背光的轮廓边。
4.根据权利要求1所述的基于矢量数据的二维阴影生成方法,其特征在于:确定附着边以后,根据附着边的形状来确定内阴影的区域和形状的过程为内阴影绘制技术,包括如下步骤:
1)设图形对象所在平面为P,取图形对象的中心点沿Z轴正向平移M得到的点为视点,从该视点出发,求其和附着边轮廓上每个顶点所连的直线和某一个平面的交点,设该平面为
2)把平面上的顶点再投影到平面P中,实际上就得到了附着边的一个缩小图形,就可以把这些投影后的顶点作为内阴影的区域顶点;
3)增加一个权值,用于标识附着边顶点上阴影的深度,以便于更好地表现内阴影的圆弧效果;
4)把附着边的顶点数组和新的顶点数组合并组成一个新的多边形,并填色,此多边形即为内阴影区域。
5.根据权利要求1所述的基于矢量数据的二维阴影生成方法,其特征在于:定义了点光源之后,结合二维动画的五面造型,根据光线方向和物体轮廓,求解地面阴影的过程为外阴影绘制技术,包括如下步骤:
1)定义光线方向;
2)确定向光面;
3)坐标转换:
① 得到造型的中轴线;
② 以中轴线为旋转轴,按照造型面对应的角度对其进行旋转,得到点位的三维坐标;
③ 对造型外轮廓的每一个点,根据光照方向,计算其在地面的投影点;
④ 所有的投影点连接成阴影区域;
4)光照投影,得到地面阴影。
CN201310734151.5A 2013-12-27 2013-12-27 一种基于矢量数据的二维阴影生成方法 Active CN103745492B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310734151.5A CN103745492B (zh) 2013-12-27 2013-12-27 一种基于矢量数据的二维阴影生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310734151.5A CN103745492B (zh) 2013-12-27 2013-12-27 一种基于矢量数据的二维阴影生成方法

Publications (2)

Publication Number Publication Date
CN103745492A CN103745492A (zh) 2014-04-23
CN103745492B true CN103745492B (zh) 2016-08-24

Family

ID=50502507

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310734151.5A Active CN103745492B (zh) 2013-12-27 2013-12-27 一种基于矢量数据的二维阴影生成方法

Country Status (1)

Country Link
CN (1) CN103745492B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111783317B (zh) * 2020-07-30 2022-06-03 北部湾大学 一种基于空间矢量数据的地物朝向及迎风面计算方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870097A (en) * 1995-08-04 1999-02-09 Microsoft Corporation Method and system for improving shadowing in a graphics rendering system
CN102396003A (zh) * 2009-04-17 2012-03-28 设计代码公司 用于向计算机图形中的对象添加阴影的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870097A (en) * 1995-08-04 1999-02-09 Microsoft Corporation Method and system for improving shadowing in a graphics rendering system
CN102396003A (zh) * 2009-04-17 2012-03-28 设计代码公司 用于向计算机图形中的对象添加阴影的方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
A survey of shadow algorithms;Andrew Woo;《IEEE Computer Graphics and Applications》;19901031;全文 *
Casting curved shadows on curved surfaces;Lance Williams;《Proc of SIGGRAPH》;19781230;全文 *
基于阴影图的阴影生成算法研究现状;过洁,等;《计算机辅助设计与图形学学报》;20100430;第22卷(第4期);全文 *

Also Published As

Publication number Publication date
CN103745492A (zh) 2014-04-23

Similar Documents

Publication Publication Date Title
CN107945267B (zh) 一种用于人脸三维模型纹理融合的方法和设备
CN102768765B (zh) 实时点光源软阴影渲染方法
CN110349247B (zh) 一种基于语义理解的室内场景cad三维重建方法
US9098930B2 (en) Stereo-aware image editing
CN101814196B (zh) 基于图片的三维动漫玩具设计方法
CN110223387A (zh) 一种基于深度学习的三维模型重建技术
CN105205861B (zh) 基于Sphere‑Board的树木三维可视化模型实现方法
CN102289845B (zh) 一种三维模型绘制方法以及装置
Nießner et al. Real‐time rendering techniques with hardware tessellation
US7948488B2 (en) Shape preserving mappings to a surface
CN105046735B (zh) 一种基于基元分布的三维表面纹理合成方法
CN109801365A (zh) 一种三维建模数据采集装置及其三维建模方法
CN105261059A (zh) 一种基于在屏幕空间计算间接反射高光的渲染方法
CN103077546B (zh) 二维图形的三维透视变换方法
CN108492247A (zh) 一种基于网格变形的眼妆贴图方法
CN103854301A (zh) 基于复杂背景下可见外壳的三维重建方法
CN103700134A (zh) 基于可控制纹理烘焙的三维矢量模型实时光影延迟着色渲染方法
CN109064556B (zh) 一种面向isr的地貌高精度仿真建模系统
CN109461197B (zh) 一种基于球面uv和重投影的云实时绘制优化方法
CN104778736A (zh) 单视频内容驱动的服装三维动画生成方法
CN104217461A (zh) 一种基于深度图模拟实时凹凸效果的视差映射方法
CN1828671A (zh) 基于图像的服装虚拟展示系统中的网格纹理映射方法
CN103645463B (zh) 合成孔径雷达成像数据三维显示的方法
CN108280870A (zh) 一种点云模型纹理映射方法与系统
CN104517313A (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
CB02 Change of applicant information

Address after: Xi Lu Tang town Suzhou city yangshe town in Jiangsu province No. 2 215600

Applicant after: JIANGSU RUYITONG ANIMATION INDUSTRY CO., LTD.

Address before: Xi Lu Tang town Suzhou city yangshe town in Jiangsu province No. 2 215600

Applicant before: Jiangsu Ruyitong Animation Industry Co., Ltd.

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant