一种改进的用广告板技术绘制场景模型的方法

文档序号:6437052阅读:153来源:国知局
专利名称:一种改进的用广告板技术绘制场景模型的方法
技术领域
本发明涉及场景绘制技术领域,特别涉及一种改进的用广告板技术绘制场景模型的方法。
背景技术
广告板技术(Billboard)是一种常见的场景绘制模型简化技术,其原理是将一幅包含物体图像的图片映射到一个二维的矩形上,在渲染时根据观察方向旋转这个矩形,使其始终面向观察者,从而使观察者感觉看到的是一个三维物体,而不是二维的矩形。这种方式对硬件(显卡)支持旋转和投影变换的机器会比较通用和快速,但是在没有硬件支持的机器上需要计算出每一个矩形的旋转矩阵,并计算其旋转,这将耗费CPU 大量的时钟周期。

发明内容
针对上述问题,本发明的目的是提供一种在没有硬件支持的机器上不需要计算每一个矩形的旋转矩阵,可以大大减少CPU时钟周期消耗的改进的用广告板技术绘制场景模型的方法。为达到上述目的,本发明采用如下技术方案一种改进的用广告板技术绘制场景模型的方法,包括以下步骤步骤1 定义广告板在3D世界坐标系中的3D坐标(X,Y,Z),以及定义相机在所述 3D世界坐标系中的坐标;步骤2 定义所述广告板的基础宽高(W,H);步骤3 定义相机坐标系,将所述相机在3D世界坐标系中的坐标作为相机坐标系的原点坐标;步骤4 将所述广告板在3D世界坐标系中的3D坐标(X,Y,Z)变换为所述广告板在所述相机坐标系中的坐标;步骤5 定义平行于所述相机坐标系中的X-Y平面为投影面,且以所述投影面为基准在所述相机坐标系中定义二维的投影坐标系;步骤6 计算所述广告板在所述步骤5中的投影面进行投影后的投影坐标系坐标, 并保留其在相机坐标系中的Z坐标以供所述广告板进行Z排序;步骤7 计算出所述广告板在所述投影面上的投影宽高(X ,H");步骤8 对所述广告板进行Z排序以确定所述广告板的绘制顺序;步骤9 将所述广告板的投影坐标系坐标变换为屏幕真实坐标,以及将所述广告板的投影宽高(X,H")变换为屏幕真实宽高;步骤10 根据所述步骤9中的屏幕真实坐标和屏幕真实宽高绘制所述广告板。进一步地,所述步骤1中的3D坐标(X,Y,Z)是所述广告板的中心点坐标。进一步地,所述步骤2具体包括
步骤21 以所述广告版的中心点为原点建立局部坐标系;步骤22 在局部坐标系中定义所述广告版的基础宽高(W,H)。进一步地,所述步骤3和所述步骤4具体为创建相机矩阵,将所述相机在世界坐标系中的坐标和朝向定义为相机矩阵的起点,通过所述相机矩阵将所述广告板在3D世界坐标系中的3D坐标(X,Y,Z)变换为所述广告板在所述相机坐标系中的坐标。进一步地,如果所述步骤3中所述相机位于所述3D世界坐标系的原点,且所述相机朝向与Z轴重合,则所述相机坐标系是所述世界坐标系。进一步地,所述步骤7具体为在所述相机坐标系的X-Z坐标系中根据三角形相似计算出所述广告板在所述投影面上的投影宽度r ;在所述相机坐标系的γ-ζ坐标系中同理计算出所述广告板在所述投影面上的投影高度矿。进一步地,所述广告板在所述投影面上的投影宽度W— = WXD/Z1,其中W、一所述广告板在投影面上的投影宽度;W—所述广告板的基础宽度;D—投影面距离相机坐标系原点的视距;Zl—广告板距离所述相机坐标系原点的视距。进一步地,所述步骤9具体为通过定义屏幕显示区域将所述广告板的投影坐标系坐标转化为屏幕真实坐标,以及将所述广告板的投影宽高矿)变换为屏幕真实宽
尚ο本发明由于采用以上技术方案,其具有以下优点本发明在没有硬件支持的机器上不需要计算每一个矩形的旋转矩阵,取而代之的是计算出广告板在投影面上的宽和高, 再根据广告板中心点在投影面上投影坐标直接渲染,而且渲染时采用矩形中心点进行Z排序,大大减少了 CPU时钟周期的消耗。


图1是本发明的改进的用广告板技术绘制场景模型的方法的流程图。图2是本发明的改进的用广告板技术绘制场景模型的方法中多个广告板在3D世界坐标系中的位置。图3是图2所示的广告板在3D世界坐标系中的局部坐标系中的基础宽高。图4是图3所示的广告板朝向X-Z投影面的投影宽高。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。如图1所示,本发明提供一种改进的用广告板技术绘制场景模型的方法,包括以下步骤步骤1 如图2所示,定义广告板在3D世界坐标系中的3D坐标(X,Y,Z),以及定义相机在3D世界坐标系中的坐标(图2未示出);
5
其中,在本实施例中,3D坐标(X,Y,Z)是广告板的中心点的3D坐标,3D坐标(Χ,Υ, Ζ)在图 2 中具体是指(Χ1、Υ1、Ζ1)、(Χ2、Υ2、Ζ2)、(Χ3.Υ3.Ζ3), (X4J4、Z4)、(X5J5、Z5)。步骤2 如图3所示,定义广告板的基础宽高(W,H);在本实施例中,步骤2具体包括步骤21 以广告版的中心点为原点建立局部坐标系;步骤22 在局部坐标系中定义广告版的基础宽高(W,H)。步骤3 定义相机坐标系,将相机在3D世界坐标系中的坐标作为相机坐标系的原点坐标;步骤4 将广告板在3D世界坐标系中的3D坐标(X,Y,Z)变换为广告板在相机坐标系中的坐标;在本实施例中,步骤3和步骤4具体为创建相机矩阵,将相机在世界坐标系中的坐标和朝向定义为相机矩阵的起点,通过相机矩阵将广告板在3D世界坐标系中的3D坐标 (X,Y,Z)变换为广告板在相机坐标系中的坐标。如果步骤3中相机位于世界坐标系的原点,且相机朝向与Z轴重合,则相机坐标系是如图1所示的世界坐标系。步骤5 定义平行于相机坐标系中的X-Y平面为投影面,且以投影面为基准在相机坐标系中定义二维的投影坐标系;步骤6 计算广告板在步骤5中的投影面进行投影后的投影坐标系坐标,并保留其在相机坐标系中的Z坐标以供广告板进行Z排序;在三维世界中,物体如广告板会根据相机的远近而被放大或者缩小,从而给人一种空间深度的感觉,近处的物体看起来大一些,远处的物体则小一点,为此,为了完成这种效果需要进行投影变换,物体从世界坐标系转换到相机坐标系中后,可以将三维物体投影到二维表面上,即投影到虚拟摄像机的胶片上。在3D坐标系中,Z轴用于标识深度,即用于描述广告板的远近效果,通过利用Z坐标的值可以按照顺序绘制广告板。步骤7:如图4所示,计算出广告板在投影面上的投影宽高矿);在本实施例中,步骤7具体为在相机坐标系的X-Z坐标系中根据三角形相似计算出广告板在投影面上的投影宽度广告板在投影面上的投影宽度W— = WXD/Z1,其中W——广告板在投影面上的投影宽度;W—广告板的基础宽度;D—投影面距离相机坐标系原点的视距;Zl—广告板距离所述相机坐标系原点的视距。在相机坐标系的Y-Z坐标系中同理可以计算出广告板在投影面上的投影高度Η—。步骤8 对广告板进行Z排序以确定广告板的绘制顺序;步骤9 将广告板的投影坐标系坐标变换为屏幕真实坐标,以及将广告板的投影宽高(W\!f)变换为屏幕真实宽高;在本实施例中,步骤9具体为通过定义屏幕显示区域将广告板的投影坐标系坐标转化为屏幕真实坐标,以及将广告板的投影宽高矿)变换为屏幕真实宽高。
在本发明中,投影坐标系坐标到屏幕真实坐标的转换与具体的投影面尺寸和屏幕分辨率有关,例如可以把投影面设置成1X1的单位尺寸,而屏幕分辨率是240X320,那么就需要对投影坐标系坐标进行放大,同样也可以把投影面设置为与屏幕分辨率一样,则就不需要对投影坐标系坐标进行放大或缩小。同理,投影宽高到屏幕真实宽高的转换也与投影面尺寸和屏幕分辨率有关。步骤10 根据步骤9中的屏幕真实坐标和屏幕真实宽高绘制广告板。另需说明的是,绘制广告板采用的传统方法是采用广告板的四个顶点定义其空间坐标,如果广告板没有朝向投影面,则将其旋转到朝向投影面矩阵,推导后乘以矩阵将广告板朝向投影面,然后再进行投影,再转换到屏幕坐标,然后利用三角形光栅化绘制。在本发明中,只需定义广告板空间位置的一个点,并计算出广告板朝向投影面时,广告板的投影坐标系坐标和投影宽高,再转换到屏幕真实坐标和屏幕真实宽高,最后利用普通的矩形就可以进行绘制。因此,由于所有广告板最终都是朝向投影面的,在计算投影宽高时,只需要计算出广告板朝向投影面的投影宽高即可。综上,本发明通过计算出广告板在投影面上的宽和高,再根据广告板中心点在投影面上投影坐标直接渲染,而且渲染时采用矩形中心点进行Z排序,适用于软渲染实现广告板技术,大大减少了 CPU时钟周期的消耗。以上所述仅为本发明的较佳实施例,并非用来限定本发明的实施范围;如果不脱离本发明的精神和范围,对本发明进行修改或者等同替换,均应涵盖在本发明权利要求的保护范围当中。
权利要求
1.一种改进的用广告板技术绘制场景模型的方法,其特征在于,包括以下步骤步骤1 定义广告板在3D世界坐标系中的3D坐标(X,Y,Z),以及定义相机在所述3D世界坐标系中的坐标;步骤2 定义所述广告板的基础宽高(W,H);步骤3 定义相机坐标系,将所述相机在3D世界坐标系中的坐标作为相机坐标系的原点坐标;步骤4 将所述广告板在3D世界坐标系中的3D坐标(X,Y,Z)变换为所述广告板在所述相机坐标系中的坐标;步骤5 定义平行于所述相机坐标系中的X-Y平面为投影面,且以所述投影面为基准在所述相机坐标系中定义二维的投影坐标系;步骤6 计算所述广告板在所述步骤5中的投影面进行投影后的投影坐标系坐标,并保留其在相机坐标系中的Z坐标以供所述广告板进行Z排序;步骤7 计算出所述广告板在所述投影面上的投影宽高(X ,H"); 步骤8 对所述广告板进行Z排序以确定所述广告板的绘制顺序; 步骤9 将所述广告板的投影坐标系坐标变换为屏幕真实坐标,以及将所述广告板的投影宽高(X,H")变换为屏幕真实宽高;步骤10 根据所述步骤9中的屏幕真实坐标和屏幕真实宽高绘制所述广告板。
2.根据权利要求1所述的改进的用广告板技术绘制场景模型的方法,其特征在于,所述步骤1中的3D坐标(X,Y,Z)是所述广告板的中心点坐标。
3.根据权利要求1或2所述的改进的用广告板技术绘制场景模型的方法,其特征在于, 所述步骤2具体包括步骤21 以所述广告版的中心点为原点建立局部坐标系; 步骤22 在局部坐标系中定义所述广告版的基础宽高(W,H)。
4.根据权利要求1所述的改进的用广告板技术绘制场景模型的方法,其特征在于,所述步骤3和所述步骤4具体为创建相机矩阵,将所述相机在世界坐标系中的坐标和朝向定义为相机矩阵的起点,通过所述相机矩阵将所述广告板在3D世界坐标系中的3D坐标(X, Y,Z)变换为所述广告板在所述相机坐标系中的坐标。
5.根据权利要求1所述的改进的用广告板技术绘制场景模型的方法,其特征在于,如果所述步骤3中所述相机位于所述3D世界坐标系的原点,且所述相机朝向与Z轴重合,则所述相机坐标系是所述世界坐标系。
6.根据权利要求1所述的改进的用广告板技术绘制场景模型的方法,其特征在于,所述步骤7具体为在所述相机坐标系的χ-ζ坐标系中根据三角形相似计算出所述广告板在所述投影面上的投影宽度W、;在所述相机坐标系的Y-Z坐标系中同理计算出所述广告板在所述投影面上的投影高度矿。
7.根据权利要求6所述的改进的用广告板技术绘制场景模型的方法,其特征在于,所述广告板在所述投影面上的投影宽度W— =WXD/Z1,其中f一所述广告板在投影面上的投影宽度; W—所述广告板的基础宽度;D—投影面距离相机坐标系原点的视距; Zl—广告板距离所述相机坐标系原点的视距。
8.根据权利要求1所述的改进的用广告板技术绘制场景模型的方法,其特征在于,所述步骤9具体为通过定义屏幕显示区域将所述广告板的投影坐标系坐标转化为屏幕真实坐标,以及将所述广告板的投影宽高(W\!f)变换为屏幕真实宽高。
全文摘要
本发明公开了一种改进的用广告板技术绘制场景模型的方法,包括以下步骤定义广告板和相机在3D世界坐标系的坐标;定义广告板的基础宽高;定义相机坐标系;将广告板在3D世界坐标系的坐标变换为相机坐标系中的坐标;定义投影面,以投影面为基准在相机坐标系中定义二维的投影坐标系;计算广告板的投影坐标系坐标;计算出广告板在投影面上的投影宽高;对广告板进行Z排序;将广告板的投影坐标系坐标变换为屏幕真实坐标,以及将广告板的投影宽高变换为屏幕真实宽高;绘制广告板。本发明在计算出广告板在投影面上的宽高后,再根据广告板中心点在投影面上投影坐标直接渲染,而且渲染时采用矩形中心点进行Z排序,大大减少了CPU时钟周期的消耗。
文档编号G06T15/00GK102368335SQ20111033925
公开日2012年3月7日 申请日期2011年11月1日 优先权日2011年11月1日
发明者喻翀 申请人:深圳市五巨科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1