一种图形的路径构建方法

文档序号:6464142阅读:134来源:国知局
专利名称:一种图形的路径构建方法
技术领域
本发明涉及多媒体技术领域,特别是涉及一种图形的路径构建方法。
背景技术
随着计算机图形图像技术和计算机硬件技术的发展,计算机动画和图形 图像处理广泛应用于军事、娱乐、广告、仿真、教育等领域。精彩的电影特 技,精美的产品模型设计,身临其境的模拟训练器和逼真的游戏动画,无不 体现着现代图形图像技术的强大能力。计算机硬件技术的发展,为计算机图 形图像技术的发展提供了物质保障,而计算机图形图像技术的发展,对计算 机硬件系统的要求越来越高,又促使计算机硬件系统不断更新发展。图形图 像渲染引擎是图形图像处理系统的核心,每一个现代图形图像系统都需要与 之功能相适应的引擎,提供其图形图像处理的技术基础。图形图像应用系统 通过渲染引擎把模型、动画、光影、特效等所有效果计算出来并以图像形式 显示,图像最终的输出质量由图形图像应用系统直接决定。
常见的渲染引擎,如OpenGL和Direct3D,使用传统的三维变换渲染三 维图形,将一个图形生成图像并显示在屏幕上。如图l所示,为现有技术中 图形的路径构建方法流程图,包括以下步骤
步骤101,通过建模变换矩阵将物体空间中的图形放置在世界空间中。 步骤102,通过视变换矩阵将世界空间中的图形放置在眼空间中。 步骤103,通过投影变换矩阵将眼空间中的图形放置在剪裁空间中。 步骤104,通过透视除法将剪裁空间中的图形放置在标准设备空间中。 步骤105,通过视图和深度范围变换将标准设备空间中的图形放置在 窗口空间中。
步骤106,改变建模变换矩阵。
步骤107,通过改变过的建模变换矩阵控制图形在世界空间中的位置。上述步骤中,每个从一个空间到另一个空间的变换,都是一个矩阵的操 作。在工程中创建完一个图形,该图形会在物体空间中有一个物体空间坐标。 如果想把该图形放置在世界空间中,就需要得到该图形的世界空间坐标。该 图形的世界空间坐标是通过该图形的物体空间坐标乘以 一个转换矩阵得到 的,这个矩阵是物体空间坐标经过旋转、缩放和平移的体现,称为建模变换 矩阵。目前,对图形在空间中的操控是在这一步完成的,也就是改变建模变 换的矩阵使图形处于不同的空间位置。
在有些情况下,需要输出的图像沿一定的路径运动或者离开屏幕,并控 制图像进入或离开屏幕的时间和位置,现有技术中,只能通过改变建模变换 矩阵,在世界空间中控制图形的运动,而无法在最终的视觉效果上达到控制 目的。

发明内容
本发明实施例提供一种图形的路径构建方法,实现了在最终的视觉效果 上控制输出的图像运动,并使该路径正对摄像机或观察者的眼睛的目的。
为达到上述目的,本发明实施例提出一种^ 各径构建方法,包括以下步骤 设定图形的^各径方向; 获取所述图形的空间变换矩阵; 冲艮据所述空间变换矩阵计算所述图形的路径距离; 根据所述图形的路径方向和路径距离构建所述图形的路径。 所述计算路径距离之前,还包括 获取包围所述图形的长方体空间的顶点坐标; 根据所述路径方向和所述顶点坐标计算所述图形离开屏幕的位置。 所述获取包围所述图形的长方体空间的顶点坐标,具体包括 获取包围所述图形的长方体空间的顶点的物体空间坐标; 根据所述图形的空间变换矩阵将包围所述图形的长方体空间的顶点的物 体空间坐标转换为包围所述图形的长方体空间的顶点的标准设备空间坐标。 所述根据路径方向和顶点坐标计算所述图形离开屏幕的位置,具体包括:根据所述路径方向和所述顶点坐标计算所述图形离开屏幕的位置的标准
设备空间坐标;
根据所述图形的空间变换矩阵将所述图形离开屏幕的位置的标准设备空 间坐标转换为所述图形离开屏幕的位置的物体空间坐标。
本发明实施例的技术方案具有以下优点,因为采用了对图形路径的构建 机制,达到了控制图形运动路径,并使该路径正对摄像机或观察者的眼睛的 目的。


图1为现有技术中图形的路径构建方法流程图2为本发明实施例中图形的路径构建方法流程图3为本发明实施中图形的路径构建具体实现方式流程图。
具体实施例方式
下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述 如图2所示,为本发明实施例中图形的路径构建方法流程图,包括以下步 骤
步骤201,设定图形的路径方向。
图形的路径方向为标准设备空间中的一个三维向量,表示图形的运动方向。
步骤202,获取图形的空间变换坐标。
图形的空间变换矩阵包括建模变换矩阵、视变换矩阵和投影变换矩阵。 步骤203,计算图形的路径距离。
图形的路径距离为图形的初始位置和图形离开屏幕的位置之间的距离。 步骤204,根据图形的路径方向和图形的路径距离构建路径。 在得到图形的路径方向和图形的路径距离之后,可以确定图形在每一 时 刻的位置,从而完成对路径的构建。
如图3所示,为本发明实施中图形的路径构建具体实现方式流程图,包括以下步骤
步骤301 ,通过建模变换矩阵将物体空间中的图形放置在世界空间中。 将图形在物体空间中的坐标乘以建模变换矩阵,即得到图形在世界空
间中的坐标,图形也被放置在世界空间中。
步骤302,通过视变换矩阵将世界空间中的图形放置在眼空间中。 将图形在世界空间中的坐标乘以视变换矩阵,即得到图形在眼空间中
的坐标,图形也被放置在眼空间中。
步骤303,通过投影变换矩阵将眼空间中的图形放置在剪裁空间中。 将图形在眼空间中的坐标乘以投影变换矩阵,即得到图形在剪裁空间
中的坐标,图形也被放置在剪裁空间中。
步骤304,通过透视除法将剪裁空间中的图形放置在标准设备空间中。 剪裁空间的坐标是齐次形式〈x,y,z,w〉的,使用透视除法,即用w除x、
y、 z,便可得到图形在标准设备空间中的坐标,图形也被放置在标准设备
空间中。
步骤305,通过视图和深度范围变换将标准设备空间中的图形放置在 窗口空间中。
取图形的标准设备坐标,进行视图和深度范围变换后,得到图形早窗 口空间中的坐标,图形被放置在窗口空间中,并以图像的形式显示输出。 然而,输出的图像是否正对摄像机和观察者的眼睛,依赖于摄像机和观察 者的位置,即视变换矩阵。 一旦视变换矩阵改变,输出的图像将不再正对 摄像机和观察者的眼睛。
步骤306,设定图形的路径方向。
步骤307,从图形流水线中获取空间变换矩阵。
获取的空间变换矩阵包括建模变换矩阵、视变换矩阵和投影变换矩阵, 建模变换矩阵记为matModel,视变换矩阵记为matView,投影变换矩阵记为 matProj 。
步骤3 08 ,获取包围图形的长方体空间的顶点的物体空间坐标。
包围图形的长方体空间的八个顶点构成一个包围盒,用来描述图形的大小、朝向等属性。
步骤309,将包围图形的长方体空间的顶点的物体空间坐标转换为包围图 形的长方体空间的顶点的标准设备空间坐标。
根据图形的空间变换矩阵,可将包围图形的长方体空间的顶点的物体空 间坐标转换为包围图形的长方体空间的顶点的标准设备空间坐标,即用包围 图形的长方体空间的顶点的物体空间坐标依次乘以matModel、 matView和 matProj,再进行透^L除法,便得到包围图形的长方体空间的顶点在标准设备 空间中的坐标,x,y,z的坐标值均在-1和1之间。
步骤310 ,根据路径方向和包围图形的长方体空间的顶点的标准设备空间 坐标计算图形离开标准设备空间的位置。
先根据路径方向判断图形可能从那个裁减面离开屏幕。路径方向记为 VecDir (三维向量),分别计算abs ( VecDir[O]) /VecDir
, abs ( VecDir[l]) /VecDir[1], abs ( VecDir[2])/VecDir[2],分别记为fX,fY,fZ,是三维向量VecDir 在每个方向上分量的绝对值除以这个分量的值(如这个方向上分量为0,不再 计算这个式子)。上述三个式子(除分母为0的情况)只能是1或-1,如GC,fY,fZ 分别为1, -1, 0,表明图形可能从x正方向裁剪面,y负方向裁剪面离开屏幕 (z方向分量为O,不可能从z方向的裁剪面离开屏幕)。
取包围盒一个顶点的坐标,记为VecPos,如下式子(fX-VecPos[O]) /VecDir
, ( fY-VecPos[l] ) /VecDir[1], ( fZ-VecPos[2] ) /VecDir[2],计算分 母不为0的式子,将最小的值记为Min。
依次取包围盒的其他顶点,重复上一步的计算,并比较每次计算的结果, 将八个顶点计算结果中的最小值赋给fMinAll.将这个最小值对应的顶点坐标 赋给VecPosMin。
从上述步骤可以知道物体是从哪个裁剪面离开屏幕的(fMinAll对应的式 子的方向,又可以从知道是正方向还是负方向),可进一步计算这个顶点离开 这个裁剪面的位置,如fMinAll对应x方向,则这个顶点离开裁剪面的位置的 x,y,z坐标为VecDir
/abs(VecDir [O]), fMinAll* VecDir [1]+ VecPosMin [l], fMinAll* VecDir [2]+ VecPosMin [2])。
7步骤311,将图形离开标准设备空间的位置的标准设备空间坐标转换为
该位置在物体空间中的坐标。
记matMVP=matModel*matView*matProj , 3夺图形离开才示准i殳备空间的 位置的标准设备空间坐标乘以matMVP的逆矩阵,即得到该位置在物体坐 标系中的坐标。
步骤312,计算图形的路径距离。
将图形离开标准设备空间的位置的物体空间坐标与图形的初始位置物 体空间坐标(O, 0, O)相减,即得到图形的路径距离。
步骤313,根据图形的路径方向和路径距离构建路径。
根据设定的路径方向,计算当前帧图形运动到路径(物体空间中的) 的位置,记为VecTempPos (三维向量),(比如我们给定100帧物体沿直线 运动离开屏幕,那第20帧的时候运动到20%的位置)。
得到物体空间中构建的路径的长度,将前面计算的路径距离除以这个值, 记为fScale(缩放因子, 一维的)。用VecTempPos乘以fScale (也就是 VecTempPos的x, y, z分量分别乘以fScale)得到一个新的向量,记为 VecTempPos 。再VecTempPos乘以matModel和matView的两个S走转头巨阵的 乘积,得到一个新的向量,将这个向量转化为建模变换中的平移矩阵。
通过图形流水线可以看到当前帧的效果,从而完成路径的构建,控制图 形在给定的时间内进入或离开屏幕,并正对摄像机或观察者的眼睛。
本发明实施例的技术方案具有以下优点,因为采用了对图形路径的构建 机制,达到了控制图形运动路径,并使该路径正对摄像机或观察者的眼睛的 目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本 发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬 件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技 术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体
现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使 得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的 普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进
和润饰,这些改进和润饰也应^L本发明的保护范围。
权利要求
1、一种图形的路径构建方法,其特征在于,包括以下步骤设定图形的路径方向;获取所述图形的空间变换矩阵;根据所述空间变换矩阵计算所述图形的路径距离;根据所述图形的路径方向和路径距离构建所述图形的路径。
2、 如权利要求1所述路径构建方法,其特征在于,所述计算路径距离之 前5还包括二获取包围所述图形的长方体空间的顶点坐标; 根据所述路径方向和所述顶点坐标计算所述图形离开屏幕的位置。
3、 如权利要求2所述路径构建方法,其特征在于,所述获取包围所述图 形的长方体空间的顶点坐标,具体包括获^^包围所述图形的长方体空间的顶点的物体空间坐标; 根据所述图形的空间变换矩阵将包围所述图形的长方体空间的顶点的物 体空间坐标转换为包围所述图形的长方体空间的标准设备空间坐标。
4、 如权利要求3所述路径构建方法,其特征在于,所述根据路径方向和 顶点坐标计算所述图形离开屏幕的位置,具体包括根据所述路径方向和所述顶点坐标计算所述图形离开屏幕的位置的标准 i殳备空间坐标;根据所述图形的空间变换矩阵将所述图形离开屏幕的位置的标准设备空 间坐标转换为所述图形离开屏幕的位置的物体空间坐标。
全文摘要
本发明实施例公开了一种图形的路径构建方法,包括以下步骤设定图形的路径方向;获取所述图形的空间变换矩阵;获取包围所述图形的长方体空间的顶点坐标;根据所述路径方向和所述顶点坐标计算所述图形进入或离开屏幕的位置。根据所述空间变换矩阵计算所述图形的路径距离;根据所述图形的路径方向和路径距离构建所述图形的路径。本发明实施例采用了对图形路径的构建机制,达到了控制图形运动路径,并使该路径正对摄像机或观察者的眼睛的目的。
文档编号G06T15/70GK101593362SQ20081011270
公开日2009年12月2日 申请日期2008年5月26日 优先权日2008年5月26日
发明者欢 蔡 申请人:新奥特(北京)视频技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1