CN114359456A - 贴图方法、装置、电子设备及可读存储介质 - Google Patents
贴图方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN114359456A CN114359456A CN202111618433.XA CN202111618433A CN114359456A CN 114359456 A CN114359456 A CN 114359456A CN 202111618433 A CN202111618433 A CN 202111618433A CN 114359456 A CN114359456 A CN 114359456A
- Authority
- CN
- China
- Prior art keywords
- vector
- point
- determining
- coordinate system
- common
- 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
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本公开提供了贴图方法、装置、电子设备及可读存储介质。该方法包括:针对三维空间中处于同一目标平面的具有至少一个公共边的多个平面图形区域,确定用于执行贴图处理的公共铺贴坐标系,该公共铺贴坐标系包括公共铺贴起点和公共铺贴方向;以及根据公共铺贴坐标系,使用具有相同属性的贴图单元,连续地对该多个平面图形区域进行贴图处理。这样生成的多个平面的贴图可以向用户提供更真实的显示效果,进而给用户良好的视觉体验。
Description
技术领域
本公开涉及信息处理领域,更具体地,涉及一种贴图方法、装置、电子设备及可读存储介质。
背景技术
随着技术的不断发展,在许多应用中可以对三维(3D)空间进行数字化呈现,从而可以使用户在足不出户的情况下方便快捷的了解其感兴趣的三维空间,例如,用户期望通过网络浏览数字化的房屋三维空间以了解房源信息等。
在现有技术中,对三维空间进行数字化呈现包括以三维模型来呈现三维空间。在以三维模型形式来呈现三维空间的方案中,需要对模型的表面进行贴图。其中,在对处于同一目标平面的具有公共边的多个平面图形区域(例如,多个房间中的地面)进行贴图时,通常是对每个平面图形区域(例如,每个房间中的地面)单独进行贴图处理。然而,这样的方式没有考虑贴图后的模型的图案是否连续(例如,图案是否能对齐),因而显示效果通常不符合现实世界,无法给用户良好的视觉体验。
因此,期望一种具有更真实的显示效果的贴图方法。
发明内容
针对上述问题,本公开提供了一种贴图方法、装置、电子设备及可读存储介质,通过该方法处理的平面图形区域可以向用户提供更真实的显示效果,从而给用户良好的视觉体验。
根据本公开的一方面提供了一种贴图方法,包括:针对三维空间中处于同一目标平面的具有至少一个公共边的多个平面图形区域,确定用于执行贴图处理的公共铺贴坐标系,所述公共铺贴坐标系包括公共铺贴起点和公共铺贴方向;以及根据所述公共铺贴坐标系,使用具有相同属性的贴图单元,连续地对所述多个平面图形区域进行贴图处理。
根据本公开的一些实施例,其中,确定所述公共铺贴坐标系的公共铺贴起点包括:在所述三维空间的世界坐标系中,确定任意点作为参考点;确定所述目标平面的法向量,其中,所述目标平面的法向量垂直于所述目标平面;以及基于所述参考点和所述目标平面的法向量,确定所述公共铺贴起点。
根据本公开的一些实施例,其中,确定所述目标平面的法向量包括:在所述三维空间的世界坐标系中,获取所述目标平面中的第一点、第二点和第三点的坐标,其中第一点、第二点和第三点不共线;基于所述坐标,分别确定第一点到第二点的第一向量及第一点到第三点的第二向量;基于第一向量与第二向量的叉积,确定所述目标平面的法向量。
根据本公开的一些实施例,其中,基于所述参考点和所述目标平面的法向量,确定所述公共铺贴起点包括:确定所述参考点到第一点的第三向量;将所述目标平面的法向量除以所述法向量的长度以获得所述目标平面的单位法向量;基于第三向量与所述目标平面的单位法向量的点积,确定投影长度;以及基于所述参考点、所述目标平面的单位法向量和所述投影长度,确定所述公共铺贴起点在所述世界坐标系中的坐标。
根据本公开的一些实施例,其中,所述参考点是所述三维空间的世界坐标系的原点。
根据本公开的一些实施例,其中,所述公共铺贴坐标系的公共铺贴方向包括水平铺贴方向和垂直铺贴方向,并且确定公共铺贴方向包括:确定所述三维空间的世界坐标系中的任一向量作为参考向量;基于所述参考向量与所述目标平面的法向量的叉积,确定所述水平铺贴方向;以及基于所述目标平面的法向量与所述水平向量的叉积,确定所述垂直铺贴方向。
根据本公开的一些实施例,其中,所述目标平面的法向量是所述目标平面的单位法向量,所述参考向量是单位参考向量。
根据本公开的一些实施例,其中,当沿所述世界坐标系中的第一坐标轴的向量与所述目标平面的法向量的叉积不为0时,确定沿所述第一坐标轴的向量作为所述参考向量。
根据本公开的一些实施例,其中,所述第一坐标轴是世界坐标系的y轴。
根据本公开的一些实施例,其中,当沿所述世界坐标系中的第一坐标轴的向量与所述目标平面的法向量的叉积为0时,确定沿所述世界坐标系中的第二坐标轴的向量作为所述参考向量。
根据本公开的一些实施例,其中,所述第一坐标轴是世界坐标系的y轴,所述第二坐标轴是世界坐标系的z轴。
根据本公开的一些实施例,其中,根据所述公共铺贴坐标系,使用具有相同属性的贴图单元,连续地对所述多个平面图形区域进行贴图处理包括:对于所述多个平面图形区域中的每个点,根据所述公共铺贴起点、所述公共铺贴方向以及所述贴图单元的大小,确定每个点对应的贴图单元中的位置;根据对应的贴图单元中的位置处的属性,使用贴图单元连续地对所述多个平面图形区域进行贴图处理。
根据本公开的一些实施例,其中,对于所述多个平面图形区域中的每个点,根据所述公共铺贴起点、所述公共铺贴方向以及所述贴图单元的大小,确定每个点对应的贴图单元中的位置包括:对于所述多个平面图形区域中的任一点,确定所述公共铺贴起点到该任一点的第四向量;基于第四向量分别与所述水平铺贴方向和所述垂直铺贴方向的点积确定该任一点在所述公共铺贴坐标系中的坐标;根据该任一点的坐标以及所述贴图单元的大小,确定该任一点对应的贴图单元中的位置。
根据本公开的一些实施例,其中,所述平面图形区域是多边形、圆形或不规则图形。
根据本公开的一些实施例,其中,所述贴图单元的属性包括图片大小、纹理、材质中的一个或多个。
根据本公开的另一方面,还提供了一种贴图装置,所述装置包括:公共铺贴坐标系确定单元,被配置为针对三维空间中处于同一目标平面的具有至少一个公共边的多个平面图形区域,确定用于执行贴图处理的公共铺贴坐标系,所述公共铺贴坐标系包括公共铺贴起点和公共铺贴方向;以及贴图处理单元,被配置为根据所述公共铺贴坐标系,使用具有相同属性的贴图单元,连续地对所述多个平面图形区域进行贴图处理。
根据本公开的一些实施例,其中,所述公共铺贴坐标系确定单元还包括公共铺贴起点确定单元,所述公共铺贴起点确定单元被配置为:在所述三维空间的世界坐标系中,确定任意点作为参考点;确定所述目标平面的法向量,其中,所述目标平面的法向量垂直于所述目标平面;以及基于所述参考点和所述目标平面的法向量,确定所述公共铺贴起点。
根据本公开的一些实施例,其中,所述公共铺贴起点确定单元还包括平面法向量确定单元,所述平面法向量确定单元被配置为:在所述三维空间的世界坐标系中,获取所述目标平面中的第一点、第二点和第三点的坐标,其中第一点、第二点和第三点不共线;基于所述坐标,分别确定第一点到第二点的第一向量及第一点到第三点的第二向量;以及基于第一向量与第二向量的叉积,确定所述目标平面的法向量。
根据本公开的一些实施例,其中,所述公共铺贴起点确定单元还包括公共铺贴起点坐标确定单元,所述公共铺贴起点坐标确定单元被配置为:确定所述参考点到第一点的第三向量;将所述目标平面的法向量除以所述法向量的长度以获得所述目标平面的单位法向量;基于第三向量与所述目标平面的单位法向量的点积,确定投影长度;以及基于所述参考点、所述目标平面的单位法向量和所述投影长度,确定所述公共铺贴起点在所述世界坐标系中的坐标。
根据本公开的一些实施例,其中,所述参考点是所述三维空间的世界坐标系的原点。
根据本公开的一些实施例,其中,所述公共铺贴坐标系的公共铺贴方向包括水平铺贴方向和垂直铺贴方向,并且所述公共铺贴坐标系确定单元还包括公共铺贴方向确定单元,所述公共铺贴方向确定单元被配置为:确定所述三维空间的世界坐标系中的任一向量作为参考向量;基于所述参考向量与所述目标平面的法向量的叉积,确定所述水平铺贴方向;以及基于所述目标平面的法向量与所述水平向量的叉积,确定所述垂直铺贴方向。
根据本公开的一些实施例,其中,所述目标平面的法向量是所述目标平面的单位法向量,所述参考向量是单位参考向量。
根据本公开的一些实施例,其中,所述公共铺贴方向确定单元还包括参考向量确定单元,所述参考向量确定单元被配置为:当沿所述世界坐标系中的第一坐标轴的向量与所述目标平面的法向量的叉积不为0时,确定沿所述第一坐标轴的向量作为所述参考向量。
根据本公开的一些实施例,其中,所述第一坐标轴是世界坐标系的y轴。
根据本公开的一些实施例,其中,所述公共铺贴方向确定单元还包括参考向量确定单元,所述参考向量确定单元被配置为:当沿所述世界坐标系中的第一坐标轴的向量与所述目标平面的法向量的叉积为0时,确定沿所述世界坐标系中的第二坐标轴的向量作为所述参考向量。
根据本公开的一些实施例,其中,所述第一坐标轴是世界坐标系的y轴,所述第二坐标轴是世界坐标系的z轴。
根据本公开的一些实施例,其中,所述贴图处理单元还包括贴图对应位置确定单元和贴图处理子单元,所述贴图对应位置确定单元被配置为对于所述多个平面图形区域中的每个点,根据所述公共铺贴起点、所述公共铺贴方向以及所述贴图单元的大小,确定每个点对应的贴图单元中的位置;所述贴图处理子单元被配置为根据对应的贴图单元中的位置处的属性,使用贴图单元连续地对所述多个平面图形区域进行贴图处理。
根据本公开的一些实施例,其中,所述贴图对应位置确定单元还被配置为:对于所述多个平面图形区域中的任一点,确定所述公共铺贴起点到该任一点的第四向量;基于第四向量分别与所述水平铺贴方向和所述垂直铺贴方向的点积确定该任一点在所述公共铺贴坐标系中的坐标;根据该任一点的坐标以及所述贴图单元的大小,确定该任一点对应的贴图单元中的位置。
根据本公开的一些实施例,其中,所述平面图形区域是多边形、圆形或不规则图形。
根据本公开的一些实施例,其中,所述贴图单元的属性包括图片大小、纹理、材质中的一个或多个。
根据本公开的另一方面,还提供了一种电子设备,包括:处理器;以及存储器,其中,所述存储器中存储有计算机可读代码,所述计算机可读代码在由所述处理器执行时,实现上述方法中任一项所述的贴图方法。
根据本公开的另一方面,还提供了一种非暂时性计算机可读存储介质,存储有计算机可读指令,其中,当所述计算机可读指令在由处理器执行时,实现上述方法中任一项所述的贴图方法。
因此,根据本公开实施例的方法和装置,针对三维空间中处于同一目标平面的具有至少一个公共边的多个平面图形区域,确定这些平面图形区域的公共铺贴坐标系,并基于该公共铺贴坐标系使用具有相同属性的贴图单元来实现连续地对多个平面图形区域进行贴图处理。这样生成的多个平面的贴图可以向用户提供更真实的显示效果,进而给用户良好的视觉体验。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本公开的一些示例性实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1A是现有技术中生成的三维空间以及其中不连续的平面图形区域贴图的示意图;
图1B是图1A中的部分不连续平面区域贴图的局部示意图;
图2示出了根据本公开第一实施例的贴图方法的流程图;
图3A-图3C分别示出了根据本公开第一实施例的不同形状的平面图形区域具有公共边的示意图;
图4示出了根据本公开第一实施例的同一目标平面中的平面图形区域的公共铺贴坐标系的示意图;
图5示出了根据本公开第一实施例的确定公共铺贴起点的示意图;
图6A示出了根据本公开第一实施例的确定法向量的示意图;
图6B示出了根据本公开第一实施例的确定法向量的又一示意图;
图7A示出了根据本公开第一实施例的确定公共铺贴起点的示意图;
图7B示出了根据本公开第一实施例的确定公共铺贴起点的又一示意图;
图7C示出了根据本公开第一实施例的确定公共铺贴起点的又一示意图;
图8示出了根据本公开第一实施例的确定公共铺贴方向的示意图;
图9示出了根据本公开第一实施例的确定公共铺贴方向的又一示意图;
图10示出了根据本公开第一实施例的确定公共铺贴方向的又一示意图;
图11示出了根据本公开第一实施例的确定平面图形区域中每个点所对应的贴图单元上的位置的示意图;
图12A示出了根据本公开第一实施例生成的三维空间以及其中的平面图形区域贴图的示意图;
图12B是图12A中的部分平面区域贴图的局部示意图;
图13示出了根据本公开第二实施例的贴图装置的框图;
图14示出了根据本公开一些实施例的电子设备的框图。
具体实施方式
为了使得本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元素或者物件涵盖出现在该词后面列举的元素或者物件及其等同,而不排除其他元素或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。为了保持本公开实施例的以下说明清楚且简明,本公开省略了部分已知功能和已知部件的详细说明。
本公开中使用了流程图用来说明根据本公开的实施例的方法的步骤。应当理解的是,前面或后面的步骤不一定按照顺序来精确的进行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步。
在本公开的说明书和附图中,根据实施例,元素以单数或复数的形式来描述。然而,单数和复数形式被适当地选择用于所提出的情况仅仅是为了方便解释而无意将本公开限制于此。因此,单数形式可以包括复数形式,并且复数形式也可以包括单数形式,除非上下文另有明确说明。
此外,在本公开中,当术语“贴图”用作名词时,其表示的是一种图片(或纹理、材质等),其具有与平面图形区域表面的特定的对应关系(例如,映射关系),可用于与图形一起被渲染以呈现给用户。当术语“贴图”用作动词时,其有时也被称为纹理映射,表示使用图形处理技术将图片(或纹理等)应用到平面图形区域表面以形成特定的对应关系,从而用于后续的图形渲染或显示。
图1A是现有技术中生成的三维空间以及其中不连续的平面图形区域贴图的示意图。如图1A所示的白色箭头所指示的位置(两个房间以及房间之间的过门石的位置),地面(即,平面图形区域)上呈鱼骨状的地板并非是连续地。具体地,可以参照图1B,其是图1A中白色箭头所指示的不连续的平面图形区域贴图的局部示意图。如图1B所示,其中左侧的第一平面图形区域110(一个房间)和中间的第二平面图形区域120(过门石)具有一个公共边,中间的第二平面图形区域120与右侧的第三平面图形区域130(另一个房间)具有一个公共边。现有技术所采用的技术方案是针对三个平面图形区域110、120和130分别选择铺贴起点和方向单独进行贴图,因此三个平面图形区域的贴图(即,地板图案)可能是不连续的。如图1A和1B所示,由于平面图形区域的贴图没有对齐,因而使得显示效果与现实世界不符,很难给用户提供良好的视觉体验。
针对这样的情况,本公开通过针对三维空间中处于同一目标平面的具有至少一个公共边的多个平面图形区域,确定这些平面图形区域的公共铺贴坐标系,并基于该公共铺贴坐标系使用具有相同属性的贴图单元来实现连续地对多个平面进行贴图处理。这样,生成的多个平面的贴图这可以向用户提供更真实的显示效果,从而给用户良好的视觉体验。
<第一实施例>
图2示出了根据本公开第一实施例的贴图方法的流程图。如图2所示,该方法包括以下步骤:
步骤S210,针对三维空间中处于同一目标平面的具有至少一个公共边的多个平面图形区域,确定用于执行贴图处理的公共铺贴坐标系,该公共铺贴坐标系包括公共铺贴起点和公共铺贴方向;以及
步骤S220,根据公共铺贴坐标系,使用具有相同属性的贴图单元,连续地对该多个平面图形区域进行贴图处理。
具体地,首先,在步骤S210,针对三维空间中处于同一目标平面的具有至少一个公共边的多个平面图形区域,可以确定用于执行贴图处理的公共铺贴坐标系,该公共铺贴坐标系包括公共铺贴起点和公共铺贴方向。
在一个示例中,三维空间可以是实体场景的内部空间和/或外部空间。实体场景可以是能够使用设备捕获图像信息的任何现实存在的实体场景,而目标对象则可以是实体场景中存在的任意物体。例如,实体场景的内部空间可以是建筑物中的住宅、办公室等的内部空间,也可以是交通工具等的内部空间。附加地或替代地,实体场景的外部空间可以是室外花园、街道、自然景观等。相应地,三维空间中的平面图形区域可以是住宅、办公室的墙壁、地面等,也可以是交通工具中的内饰、面板等。附加地或替代地,三维空间中的平面图形区域还可以是建筑外表面、路牌等。
根据本公开的第一实施例,平面图形区域可以是多边形、圆形或不规则图形。图3A-图3C分别示出了当两个平面图形区域是多边形、圆形或不规则图形时具有公共边的情况。应当理解,平面图形区域具有公共边的情况并不局限于图中所示的示例,任意数量、任意形状的平面图形区域可以以任意方式相接以具有任意数量的公共边。
在一个示例中,公共铺贴坐标系是关于同一目标平面的二维坐标系。如图4所示,三个平面图形区域位于同一目标平面内,并且公共铺贴坐标系的公共铺贴起点和公共铺贴方向x、y都在目标平面内。
在一个示例中,可以以目标平面中任意点作为公共铺贴起点并且沿任意方向作为公共铺贴方向。然而,这样的方式通常不便于计算。因此,在一个示例中,可以根据预设的规则来确定公共铺贴起点和公共铺贴方向。下面将关于确定公共铺贴起点和公共铺贴方向进行进一步地详细描述。
根据本公开的第一实施例,确定公共铺贴坐标系的公共铺贴起点可以包括:在三维空间的世界坐标系中,确定任意点作为参考点;确定目标平面的法向量,其中,目标平面的法向量垂直于目标平面;以及基于参考点和目标平面的法向量,确定公共铺贴起点。
在一个示例中,三维空间的世界坐标系可以是根据三维空间的结构确定的,例如,可以以三维空间的中心作为世界坐标系的原点,并且基于原点以三维空间中垂直向上的方向作为世界坐标系的z轴的正方向。如本领域技术人员公知的,三维空间的世界坐标系也可以是根据其他规则确定的、便于计算使用的世界坐标系。
如图5所示,在三维空间可以确定其中的任意点作为参考点,并且可以将经过参考点的法向量与目标平面的交点作为公共铺贴起点。然而任意选择的参考点的坐标通常不利于后续步骤的进一步处理。优选地,三维空间的世界坐标系的原点的坐标为(0,0,0),其有利于后续步骤的进一步处理,因此根据本公开的第一实施例,参考点可以是三维空间的世界坐标系的原点。在下面的示例中,为了便于进行说明,将以三维空间的世界坐标系的原点作为参考点。但是应当注意,如上所述,参考点可以是三维空间的世界坐标系中的任意点,也就是说,参考点可以在或不在目标平面内。
根据本公开的第一实施例,确定目标平面的法向量可以包括:在三维空间的世界坐标系中,获取目标平面中的第一点、第二点和第三点的坐标,其中第一点、第二点和第三点不共线;基于所述坐标,分别确定第一点到第二点的第一向量及第一点到第三点的第二向量;基于第一向量与第二向量的叉积,确定目标平面的法向量。
具体地,如图6A所示,在目标平面中可以分别获取点A、B、C在世界坐标系中的坐标,其中点A、B、C不共线。基于点A、B、C的坐标可以确定点A到点B的向量AB以及点A到点C的向量AC。其中,在世界坐标系中,向量可以是以(x,y,z)的形式表示的向量。然后基于向量AB和向量AC的叉积,可以确定目标平面的法向量。
在一些情况下,由于叉积遵循右手定则,因此用于计算叉积的不同向量顺序(a×b和b×a)可能导致得到的结果向量相反((a×b=-(b×a)))。如图6B所示,向量AB与向量AC的叉积所确定的目标平面的第一法向量与向量AC与向量AB的叉积所确定的目标平面的第二法向量方向相反。针对不同的向量顺序导致得到的结果向量相反的情况将在下文进一步详细地描述。
根据本公开的一个实施例,基于参考点和目标平面的法向量,确定公共铺贴起点可以包括:确定参考点到第一点的第三向量;将目标平面的法向量除以法向量的长度以获得目标平面的单位法向量;基于第三向量与目标平面的单位法向量的点积,确定投影长度;以及基于参考点、目标平面的单位法向量和投影长度,确定公共铺贴起点在世界坐标系中的坐标。
具体地,如图7A所示,图7A继续参考图6A所示的示例,通过向量AB与向量AC的叉积可以获得目标平面的法向量。在图7A中,首先,参考点为世界坐标系原点o,可以确定从世界坐标系原点o到点A的向量OA;随后将目标平面的法向量除以法向量的长度,可以获得目标平面的单位法向量n;通过计算OA与目标平面的单位法向量n的点积,可以获得向量OA在法向量方向上的投影长度L(此时L为负值);最后,公共铺贴起点s的坐标可以根据向量OS来确定,其中,向量OS=n*L,公共铺贴起点s坐标=参考点坐标+向量OS。在图7A中,由于参考点为世界坐标系原点o,因此公共铺贴起点s坐标=向量OS。
在另一个示例中,参考点也可以在目标平面内。参考图7B的示例,当参考点(世界坐标系原点o)在目标平面内时,可以确定从世界坐标系原点o到点A的向量OA也位于目标平面内。由于目标平面内的向量OA与目标平面的单位法向量n垂直,因此不存在投影长度L(即,L=0)。也就是说,向量OS=n*L=0。因此,在参考点在目标平面内的情况下,公共铺贴起点s坐标=参考点坐标+向量OS=(0,0,0)。
在另一个示例中,尽管可以通过向量AB和AC确定其叉积,但是由于用于计算叉积的两个向量的顺序不同,可能存在法向量相反的情况。具体地,类似于图6B所示的示例,图7C示出了与图7A中所示的法向量相反的情况下的示意图。在图7C中,法向量等于向量AC与向量AB的叉积,其方向指向目标平面内(与图7A所示的法向量方向相反)。首先,参考点为世界坐标系原点o,可以确定从世界坐标系原点o到点A的向量OA;随后将目标平面的法向量除以法向量的长度,可以获得目标平面的单位法向量n’(其也与图7A中所示的法向量n方向相反);通过计算OA与目标平面的单位法向量n’的点积,可以获得向量在法向量方向上的投影长度L’(此时L’为正值);最后,公共铺贴起点s’的坐标可以根据向量OS’来确定,其中,向量OS’=n’*L’。由于单位向量n’与单位向量n反向,且L’与L相反,因此OS’=OS。在这种情况下,公共铺贴起点s坐标=参考点坐标+向量OS’=参考点坐标+向量OS。也就是说,用于计算叉积的两个向量的顺序改变不影响公共铺贴起点的确定。
如前所述,公共铺贴坐标系还包括公共铺贴方向。在一个示例中,公共铺贴坐标系可以包括一个公共铺贴方向。在公共铺贴坐标系仅包含一个公共铺贴方向的情况下,可以在后续步骤中沿着该公共铺贴方向进行贴图处理。在另一实施例中,公共铺贴坐标系可以包括正交的两个公共铺贴方向。在公共铺贴坐标系包含正交的两个公共铺贴方向的情况下,可以在后续步骤中沿着这两个公共铺贴方向进行贴图处理。
根据本公开的第一实施例,公共铺贴坐标系的公共铺贴方向可以包括水平铺贴方向和垂直铺贴方向,并且确定公共铺贴方向可以包括:确定三维空间的世界坐标系中的任一向量作为参考向量;基于参考向量与目标平面的法向量的叉积,确定水平铺贴方向;以及基于目标平面的法向量与水平向量的叉积,确定垂直铺贴方向。
为了简化计算,根据本公开的第一实施例,目标平面的法向量可以是目标平面的单位法向量,参考向量可以是单位参考向量。如本领域人员公知的,单位向量=向量/向量长度。在世界坐标系中,向量可以用三维坐标表示,因此单位向量可以用模为1的三维坐标(即,三个方向上的坐标值的平方和为1)表示。
在一些情况下,可以选择任意向量作为参考向量。然而,应当注意的是,由于水平铺贴方向是基于参考向量与目标平面的法向量的叉积确定的,因此参考向量与法向量的叉积不应为0,即参考向量与法向量在世界坐标系中不指向同一方向或相反方向。
然而任意选择向量作为参考向量的方式通常不利于后续步骤的计算处理。因此优选地,参考向量可以是沿坐标轴的参考向量;更优选地,参考向量可以是沿坐标轴的单位参考向量。
在一个示例中,当沿世界坐标系中的第一坐标轴的向量与目标平面的法向量的叉积不为0时,可以确定沿第一坐标轴的向量作为参考向量。在一个示例中,第一坐标轴可以例如是世界坐标系的y轴。在一个示例中,第一坐标轴还可以是世界坐标系的x轴或z轴。
具体地,图8示出了当沿世界坐标系中的y轴的向量与目标平面平行时确定公共铺贴方向的示意图。如图8所示,当沿世界坐标系中的y轴的向量与目标平面平行时,二者的叉积不为0。在这种情况下,根据y轴正方向的向量与法向量的叉积可以获得目标平面中的向量h,该向量h所指向的方向或相反方向可以作为水平铺贴方向;此外,根据法向量与向量h的叉积可以获得向量v,该向量v所指向的方向或相反方向可以作为垂直铺贴方向。
在一个示例中,图9示出了当沿世界坐标系中的y轴的向量与目标平面的法向量叉积不为0且不与目标平面平行时确定公共铺贴方向的示意图。在这种情况下,根据y轴正方向的向量与法向量的叉积可以获得目标平面中的向量h,该向量h所指向的方向或相反方向可以作为水平铺贴方向;此外,根据法向量与向量h的叉积可以获得向量v,该向量v所指向的方向或相反方向可以作为垂直铺贴方向。
在另一个示例中,由于参考向量与法向量叉积为0将导致无法确定水平铺贴方向,因此当沿世界坐标系中的第一坐标轴的向量与目标平面的法向量的叉积为0时,还可以确定沿世界坐标系中的第二坐标轴的向量作为参考向量。在这种情况下,在一个示例中,第一坐标轴可以是世界坐标系的y轴,第二坐标轴可以是世界坐标系的z轴。在一个示例中,第一坐标轴还可以是世界坐标系的x轴,第二坐标轴还可以是世界坐标系的y轴,或者是类似地其他组合。
图10示出了当沿世界坐标系中的y轴的向量与目标平面的法向量叉积为0时确定公共铺贴方向的示意图。如图10所示,由于y轴正方向的向量与目标平面的法向量共线,因此二者叉积为0。可以选择沿z轴正方向的向量作为参考向量。在这种情况下,根据目标平面的法向量与沿z轴正方向的向量的叉积可以获得目标平面中的向量h,该向量h所指向的方向或相反方向可以作为水平铺贴方向;此外,根据法向量与向量h的叉积可以获得目标平面中的向量v,该向量v所指向的方向或相反方向可以作为垂直铺贴方向。
此外,应当注意的是,在本文中用于计算叉积的向量的顺序不同可能导致得到的结果向量的方向相反。也就是说,目标平面的法向量与参考向量的叉积可以获得目标平面中的向量h,而参考向量与目标平面的法向量的叉积可以获得目标平面中的向量h’(其与向量h反向)。在这种情况下,可以基于向量h或向量h’中的任意一个确定水平铺贴方向。类似地,法向量与向量h(或向量h’)的叉积可以获得目标平面中的向量v,向量h(或向量h’)与法向量的叉积可以获得目标平面中的向量v’。可以基于向量v或向量v’中的任意一个确定垂直铺贴方向。在一个示例中,还可以预先指定用于叉积的两个向量顺序的来决定得到的结果向量的方向,以避免错误发生。例如,在上述图8的示例中,还可以根据法向量与y轴正方向的向量的叉积而不是y轴正方向的向量与法向量的叉积可以获得目标平面中的向量h。类似地,还可以根据向量h与法向量的叉积而不是法向量与向量h的叉积可以获得向量v。
还应当注意的是,本文中使用的水平铺贴方向和垂直铺贴方向仅是为了表示两个方向是正交的而使用的术语。因此,替代地,水平铺贴方向和垂直铺贴方向可以互换。也就是说,根据目标平面的法向量与参考向量的叉积可以获得目标平面中的向量h,该向量h所指向的方向可以作为垂直铺贴方向,并且根据法向量与的该向量h叉积可以获得目标平面中的向量v,该向量v所指向的方向可以作为水平铺贴方向。
接着,在步骤S220,根据公共铺贴坐标系,可以使用具有相同属性的贴图单元,连续地对该多个平面图形区域进行贴图处理。
贴图单元是用于与平面图形区域形成映射关系的包含图片的单元。在一个示例中,贴图单元可以仅是具有固定大小的图片。在一个示例中,贴图单元还可以具有其他属性。
根据本公开的第一实施例,贴图单元的属性可以还包括图片大小、纹理、材质中的一个或多个。在基于公共铺贴坐标系的基础上,通过使用具有相同属性的贴图单元来连续地对多个平面图形区域进行贴图处理,可以使得显示效果与实际三维空间更加符合。例如,在一些情况下,当贴图单元的属性包括材质,但贴图单元的材质不同时,尽管生成的贴图是连续地,但由于用于每个平面图形区域的材质不一致,也可能导致其呈现不良的显示效果。
在一个示例中,还可以使用同一贴图单元来连续地对该多个平面图形区域进行贴图处理。由于同一贴图单元的属性不会改变(即,相当于具有相同属性的贴图单元),因此可以避免使用具有不同属性的贴图单元可能产生的问题。
根据本公开的第一实施例,根据公共铺贴坐标系,使用具有相同属性的贴图单元,连续地对多个平面图形区域进行贴图处理可以包括:对于多个平面图形区域中的每个点,根据公共铺贴起点、公共铺贴方向以及贴图单元的大小,确定每个点对应的贴图单元中的位置;根据对应的贴图单元中的位置处的属性,使用贴图单元连续地对多个平面图形区域进行贴图处理。
其中,对应的贴图单元中的位置处的属性可以是贴图单元中该位置处的颜色、纹理、材质等属性。通过确定每个点对应的贴图单元中的位置并利用该位置的属性来进行贴图,可以使得生成的贴图具有期望的显示效果,例如具有期望的颜色、纹理、材质等。
根据本公开的第一实施例,对于多个平面图形区域中的每个点,根据公共铺贴起点、公共铺贴方向以及贴图单元的大小,确定每个点对应的贴图单元中的位置可以包括:对于多个平面图形区域中的任一点,确定公共铺贴起点到该任一点的第四向量;基于第四向量分别与水平铺贴方向和垂直铺贴方向的点积确定该任一点在公共铺贴坐标系中的坐标;根据该任一点的坐标以及贴图单元的大小,确定该任一点对应的贴图单元中的位置。
具体地,如图11所示,贴图单元可以是长为w和宽为h的大小。对于同一平面内的平面图形区域中的任意一点p而言,可以获得向量sp(向量sp为点p在世界坐标系中的坐标减去公共铺贴起点s在世界坐标系中的坐标)。其中,根据向量sp与向量h的点积可以确定向量sp在水平铺贴方向上的投影长度H,根据向量sp与向量v的点积可以确定向量sp在垂直铺贴方向上的投影长度V。因此,点p对应的贴图单元上的位置为(H/w,V/h)。通过上述方法,可以确定平面图形区域中每个点所对应的贴图单元上的位置,从而可以使用贴图单元对平面图形区域进行贴图处理。
在一个示例中,平面图形区域上的任意点可能在贴图单元之外,因此无法确定点所对应的贴图单元上的位置。在这种情况下,可以使用如上所述的多个具有相同属性的贴图单元以覆盖所有平面图形区域,也可以使用单个贴图单元。
在使用单个贴图单元的情况下,可以沿着水平铺贴方向和/或垂直铺贴方向对贴图单元执行平移、翻转、旋转操作中的一个或多个的组合操作。经过上述操作后,一方面可以使得平面图形区域上的任意点都具有对应的贴图单元上的位置,另一方面可以使得贴图单元在其边界上的显示效果是连续地(例如,如果贴图单元的图片是中心对称的正方形图片,则可能需要对其执行翻转操作,而不是执行平移操作)。此外,为了实现上述目的,还可以执行多次上述操作。
在使用多个具有相同属性的贴图单元的情况下,可以沿公共铺贴方向依次排列多个具有相同属性的贴图单元以使平面图形区域上的任意点都具有对应的贴图单元上的位置,并使得贴图单元在其边界上的显示效果是连续地。
在一个示例中,可以经由网络直接获取贴图单元。在另一个示例中,可以从存储有图像的服务器或数据库中获取贴图单元,这些贴图单元可以通过设备经由网络或以其他方式传输至该服务器或数据库中。在一个示例中,网络可以是有线网络和/或无线网络。例如,有线网络可以采用双绞线、同轴电缆或光纤传输等方式进行数据传输,无线网络可以采用3G/4G/5G等移动通信网络、蓝牙、Zigbee或者WiFi等方式进行数据传输。
在一个示例中,可以使用图形处理单元(GPU)实现本公开所述的方法。在使用GPU实现本公开的方案中,根据本公开的实施例,平面图形区域上的点可以是平面图形区域的顶点(vertex)。
GPU通常可以将模型的表面(即,平面图形区域)以网格的形式划分,这样网格的每个部分可以被单独地进行渲染。例如,模型的表面可以被划分成由顶点组成的不同大小、不同形状的图元(例如,图元可以是顶点、线段、三角形或者多边形)。其中,顶点可以包括位置、纹理坐标、顶点颜色等信息。在一个示例中,可以利用贴图单元确定顶点的信息,由GPU对模型进行光栅化等进一步处理,从而对平面图形区域进行渲染以将数字化的内容呈现给用户。
图12A示出了根据本公开第一实施例生成的三维空间以及其中的平面图形区域的示意图。如图12A中白色箭头所指示的位置(两个房间以及房间之间的过门石的位置),地面(即,平面图形区域)上呈鱼骨状的地板都是连续地。具体地,可以参照图12B,其是图12A中白色箭头所指示的平面图形区域贴图的局部示意图。如图12B所示,其中左侧的第一平面图形区域1210(一个房间)和中间的第二平面图形区域1220(过门石)具有一个公共边,中间的第二平面图形区域1220与右侧的第三平面图形区域1230(另一个房间)具有一个公共边。这三个平面图形区域的贴图是基于同一公共铺贴起点,沿同一公共铺贴方向,使用相同属性的贴图单元进行贴图处理而生成的。可以看出,图12A及图12B所显示的贴图是连续地,其显示效果相较于图1A和图1B的显示效果更加符合真实世界,给用户提供了更加真实、良好的视觉体验。
因此,根据本公开第一实施例的贴图方法,针对三维空间中处于同一目标平面的具有至少一个公共边的多个平面图形区域,确定这些平面图形区域的公共铺贴坐标系,并基于该公共铺贴坐标系使用具有相同属性的贴图单元来实现连续地对多个平面图形区域进行贴图处理。这样生成的多个平面的贴图可以向用户提供更真实的显示效果,进而给用户良好的视觉体验。
<第二实施例>
本公开除了提供上述贴图方法,还提供了贴图装置,接下来将结合图13对此进行详细描述。
图13示出了根据本公开第二实施例的贴图装置1300的框图。如图13所示,本公开所述的贴图装置1300可以包括:公共铺贴坐标系确定单元1310、贴图处理单元1320。
根据本公开的第二实施例,公共铺贴坐标系确定单元可以被配置为针对三维空间中处于同一目标平面的具有至少一个公共边的多个平面图形区域,确定用于执行贴图处理的公共铺贴坐标系,该公共铺贴坐标系包括公共铺贴起点和公共铺贴方向。
在一个示例中,公共铺贴坐标系确定单元1300还可以包括公共铺贴起点确定单元,公共铺贴起点确定单元可以被配置为:在三维空间的世界坐标系中,确定不在目标平面中的任意点作为参考点;确定目标平面的法向量,其中,目标平面的法向量垂直于目标平面;以及基于参考点和目标平面的法向量,确定公共铺贴起点。
在一个示例中,公共铺贴起点确定单元还可以包括平面法向量确定单元,平面法向量确定单元可以被配置为:在三维空间的世界坐标系中,获取目标平面中的第一点、第二点和第三点的坐标,其中第一点、第二点和第三点不共线;基于上述坐标,分别确定第一点到第二点的第一向量及第一点到第三点的第二向量;以及基于第一向量与第二向量的叉积,确定目标平面的法向量。
在一个示例中,公共铺贴起点确定单元还可以包括公共铺贴起点坐标确定单元,公共铺贴起点坐标确定单元可以被配置为:确定参考点到第一点的第三向量;将目标平面的法向量除以法向量的长度以获得目标平面的单位法向量;基于第三向量与目标平面的单位法向量的点积,确定投影长度;以及基于参考点、目标平面的单位法向量和投影长度,确定公共铺贴起点在世界坐标系中的坐标。
在一个示例中,参考点可以是三维空间的世界坐标系的原点。
在一个示例中,公共铺贴坐标系的公共铺贴方向可以包括水平铺贴方向和垂直铺贴方向,并且公共铺贴坐标系确定单元1310还可以包括公共铺贴方向确定单元,公共铺贴方向确定单元可以被配置为:确定三维空间的世界坐标系中的任一向量作为参考向量;基于参考向量与目标平面的法向量的叉积,确定水平铺贴方向;以及基于目标平面的法向量与水平向量的叉积,确定垂直铺贴方向。
在一个示例中,目标平面的法向量可以是目标平面的单位法向量,参考向量可以是单位参考向量。
在一个示例中,公共铺贴方向确定单元还可以包括参考向量确定单元,参考向量确定单元可以被配置为:当沿世界坐标系中的第一坐标轴的向量与目标平面的法向量的叉积不为0时,确定沿第一坐标轴的向量作为参考向量。
在一个示例中,第一坐标轴可以是世界坐标系的y轴。
在另一个示例中,公共铺贴方向确定单元还可以包括参考向量确定单元,参考向量确定单元可以被配置为:当沿世界坐标系中的第一坐标轴的向量与目标平面的法向量的叉积为0时,确定沿世界坐标系中的第二坐标轴的向量作为参考向量。
在一个示例中,第一坐标轴可以是世界坐标系的y轴,第二坐标轴可以是世界坐标系的z轴。
根据本公开的第二实施例,贴图处理单元可以被配置为根据公共铺贴坐标系,使用具有相同属性的贴图单元,连续地对该多个平面图形区域进行贴图处理。
在一个示例中,贴图处理单元1320还可以包括贴图对应位置确定单元和贴图处理子单元,贴图对应位置确定单元被配置为对于该多个平面图形区域中的每个点,根据公共铺贴起点、公共铺贴方向以及贴图单元的大小,确定每个点对应的贴图单元中的位置;贴图处理子单元被配置为根据对应的贴图单元中的位置处的属性,使用贴图单元连续地对所述多个平面图形区域进行贴图处理。
在一个示例中,贴图对应位置确定单元还可以被配置为:对于多个平面图形区域中的任一点,确定公共铺贴起点到该任一点的第四向量;基于第四向量分别与水平铺贴方向和垂直铺贴方向的点积确定该任一点在公共铺贴坐标系中的坐标;根据该任一点的坐标以及贴图单元的大小,确定该任一点对应的贴图单元中的位置。
在一个示例中,平面图形区域可以是多边形、圆形或不规则图形。
在一个示例中,贴图单元的属性可以包括图片大小、纹理、材质中的一个或多个。
关于图13所示的贴图装置的一些具体细节还可以参考前述的贴图方法的内容。
根据本公开第二实施例的贴图装置,针对三维空间中处于同一目标平面的具有至少一个公共边的多个平面图形区域,确定这些平面图形区域的公共铺贴坐标系,并基于该公共铺贴坐标系使用具有相同属性的贴图单元来实现连续地对多个平面图形区域进行贴图处理。这样生成的多个平面的贴图可以向用户提供更真实的显示效果,进而给用户良好的视觉体验。
图14示出了根据本公开一些实施例的电子设备的框图。
参见图14,电子设备1400可以包括处理器1410和存储器1420。处理器1410和存储器1420都可以通过总线1430相连。电子设备1400可以是任何类型的便携式设备(如智能相机、智能手机、平板电脑等)也可以是任何类型的固定设备(如台式计算机、服务器等)。
处理器1410可以根据存储在存储器1420中的程序执行各种动作和处理。具体地,处理器1410可以是一种集成电路芯片,具有信号的处理能力。上述处理器可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以是X86架构或ARM架构的。
存储器1420存储有计算机可执行指令,在计算机可执行指令被处理器1410执行时实现上述各个实施例中的贴图方法。存储器1420可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率同步动态随机存取存储器(DDRSDRAM)、增强型同步动态随机存取存储器(ESDRAM)、同步连接动态随机存取存储器(SLDRAM)和直接内存总线随机存取存储器(DR RAM)。应注意,本文描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
此外,根据本公开的贴图方法可被记录在计算机可读存储介质中。具体地,根据本公开,可提供一种存储有计算机可执行指令的计算机可读存储介质,当所述计算机可执行指令被处理器执行时,可促使处理器执行如上所述的贴图方法。
需要说明的是,附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含至少一个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其它方面可以在可以由控制器、微处理器或其它计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其它图像表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其它计算设备,或其某些组合中实施。
除非另有定义,这里使用的所有术语(包括技术和科学术语)具有与本公开所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。
以上是对本公开的说明,而不应被认为是对其的限制。尽管描述了本公开的若干示例性实施例,但本领域技术人员将容易地理解,在不背离本公开的新颖教学和优点的前提下可以对示例性实施例进行许多修改。因此,所有这些修改都意图包含在权利要求书所限定的本公开范围内。应当理解,上面是对本公开的说明,而不应被认为是限于所公开的特定实施例,并且对所公开的实施例以及其他实施例的修改意图包含在所附权利要求书的范围内。本公开由权利要求书及其等效物限定。
Claims (32)
1.一种贴图方法,包括:
针对三维空间中处于同一目标平面的具有至少一个公共边的多个平面图形区域,确定用于执行贴图处理的公共铺贴坐标系,所述公共铺贴坐标系包括公共铺贴起点和公共铺贴方向;以及
根据所述公共铺贴坐标系,使用具有相同属性的贴图单元,连续地对所述多个平面图形区域进行贴图处理。
2.根据权利要求1所述的方法,其中,确定所述公共铺贴坐标系的公共铺贴起点包括:
在所述三维空间的世界坐标系中,确定任意点作为参考点;
确定所述目标平面的法向量,其中,所述目标平面的法向量垂直于所述目标平面;以及
基于所述参考点和所述目标平面的法向量,确定所述公共铺贴起点。
3.根据权利要求2所述的方法,其中,确定所述目标平面的法向量包括:
在所述三维空间的世界坐标系中,获取所述目标平面中的第一点、第二点和第三点的坐标,其中第一点、第二点和第三点不共线;
基于所述坐标,分别确定第一点到第二点的第一向量及第一点到第三点的第二向量;
基于第一向量与第二向量的叉积,确定所述目标平面的法向量。
4.根据权利要求3所述的方法,其中,基于所述参考点和所述目标平面的法向量,确定所述公共铺贴起点包括:
确定所述参考点到第一点的第三向量;
将所述目标平面的法向量除以所述法向量的长度以获得所述目标平面的单位法向量;
基于第三向量与所述目标平面的单位法向量的点积,确定投影长度;以及
基于所述参考点、所述目标平面的单位法向量和所述投影长度,确定所述公共铺贴起点在所述世界坐标系中的坐标。
5.根据权利要求2-4中任一项所述的方法,其中,所述参考点是所述三维空间的世界坐标系的原点。
6.根据权利要求2-4中任一项所述的方法,其中,所述公共铺贴坐标系的公共铺贴方向包括水平铺贴方向和垂直铺贴方向,并且确定公共铺贴方向包括:
确定所述三维空间的世界坐标系中的任一向量作为参考向量;
基于所述参考向量与所述目标平面的法向量的叉积,确定所述水平铺贴方向;以及
基于所述目标平面的法向量与所述水平向量的叉积,确定所述垂直铺贴方向。
7.根据权利要求6所述的方法,其中,所述目标平面的法向量是所述目标平面的单位法向量,所述参考向量是单位参考向量。
8.根据权利要求6所述的方法,其中,当沿所述世界坐标系中的第一坐标轴的向量与所述目标平面的法向量的叉积不为0时,确定沿所述第一坐标轴的向量作为所述参考向量。
9.根据权利要求8所述的方法,其中,所述第一坐标轴是世界坐标系的y轴。
10.根据权利要求6所述的方法,其中,当沿所述世界坐标系中的第一坐标轴的向量与所述目标平面的法向量的叉积为0时,确定沿所述世界坐标系中的第二坐标轴的向量作为所述参考向量。
11.根据权利要求10所述的方法,其中,所述第一坐标轴是世界坐标系的y轴,所述第二坐标轴是世界坐标系的z轴。
12.根据权利要求6所述的方法,其中,根据所述公共铺贴坐标系,使用具有相同属性的贴图单元,连续地对所述多个平面图形区域进行贴图处理包括:
对于所述多个平面图形区域中的每个点,根据所述公共铺贴起点、所述公共铺贴方向以及所述贴图单元的大小,确定每个点对应的贴图单元中的位置;
根据对应的贴图单元中的位置处的属性,使用贴图单元连续地对所述多个平面图形区域进行贴图处理。
13.根据权利要求12所述的方法,其中,对于所述多个平面图形区域中的每个点,根据所述公共铺贴起点、所述公共铺贴方向以及所述贴图单元的大小,确定每个点对应的贴图单元中的位置包括:
对于所述多个平面图形区域中的任一点,确定所述公共铺贴起点到该任一点的第四向量;
基于第四向量分别与所述水平铺贴方向和所述垂直铺贴方向的点积确定该任一点在所述公共铺贴坐标系中的坐标;
根据该任一点的坐标以及所述贴图单元的大小,确定该任一点对应的贴图单元中的位置。
14.根据权利要求1所述的方法,其中,所述平面图形区域是多边形、圆形或不规则图形。
15.根据权利要求1所述的方法,其中,所述贴图单元的属性包括图片大小、纹理、材质中的一个或多个。
16.一种贴图装置,所述装置包括:
公共铺贴坐标系确定单元,被配置为针对三维空间中处于同一目标平面的具有至少一个公共边的多个平面图形区域,确定用于执行贴图处理的公共铺贴坐标系,所述公共铺贴坐标系包括公共铺贴起点和公共铺贴方向;以及
贴图处理单元,被配置为根据所述公共铺贴坐标系,使用具有相同属性的贴图单元,连续地对所述多个平面图形区域进行贴图处理。
17.根据权利要求16所述的装置,其中,所述公共铺贴坐标系确定单元还包括公共铺贴起点确定单元,
所述公共铺贴起点确定单元被配置为:
在所述三维空间的世界坐标系中,确定任意点作为参考点;
确定所述目标平面的法向量,其中,所述目标平面的法向量垂直于所述目标平面;以及
基于所述参考点和所述目标平面的法向量,确定所述公共铺贴起点。
18.根据权利要求17所述的装置,其中,所述公共铺贴起点确定单元还包括平面法向量确定单元,
所述平面法向量确定单元被配置为:
在所述三维空间的世界坐标系中,获取所述目标平面中的第一点、第二点和第三点的坐标,其中第一点、第二点和第三点不共线;
基于所述坐标,分别确定第一点到第二点的第一向量及第一点到第三点的第二向量;以及
基于第一向量与第二向量的叉积,确定所述目标平面的法向量。
19.根据权利要求18所述的装置,其中,所述公共铺贴起点确定单元还包括公共铺贴起点坐标确定单元,
所述公共铺贴起点坐标确定单元被配置为:
确定所述参考点到第一点的第三向量;
将所述目标平面的法向量除以所述法向量的长度以获得所述目标平面的单位法向量;
基于第三向量与所述目标平面的单位法向量的点积,确定投影长度;以及
基于所述参考点、所述目标平面的单位法向量和所述投影长度,确定所述公共铺贴起点在所述世界坐标系中的坐标。
20.根据权利要求17-19中任一项所述的装置,其中,所述参考点是所述三维空间的世界坐标系的原点。
21.根据权利要求17-19中任一项所述的装置,其中,所述公共铺贴坐标系的公共铺贴方向包括水平铺贴方向和垂直铺贴方向,并且所述公共铺贴坐标系确定单元还包括公共铺贴方向确定单元,
所述公共铺贴方向确定单元被配置为:
确定所述三维空间的世界坐标系中的任一向量作为参考向量;
基于所述参考向量与所述目标平面的法向量的叉积,确定所述水平铺贴方向;以及
基于所述目标平面的法向量与所述水平向量的叉积,确定所述垂直铺贴方向。
22.根据权利要求21所述的装置,其中,所述目标平面的法向量是所述目标平面的单位法向量,所述参考向量是单位参考向量。
23.根据权利要求21所述的装置,其中,所述公共铺贴方向确定单元还包括参考向量确定单元,
所述参考向量确定单元被配置为:
当沿所述世界坐标系中的第一坐标轴的向量与所述目标平面的法向量的叉积不为0时,确定沿所述第一坐标轴的向量作为所述参考向量。
24.根据权利要求23所述的装置,其中,所述第一坐标轴是世界坐标系的y轴。
25.根据权利要求21所述的装置,其中,所述公共铺贴方向确定单元还包括参考向量确定单元,
所述参考向量确定单元被配置为:
当沿所述世界坐标系中的第一坐标轴的向量与所述目标平面的法向量的叉积为0时,确定沿所述世界坐标系中的第二坐标轴的向量作为所述参考向量。
26.根据权利要求25所述的装置,其中,所述第一坐标轴是世界坐标系的y轴,所述第二坐标轴是世界坐标系的z轴。
27.根据权利要求21所述的装置,其中,所述贴图处理单元还包括贴图对应位置确定单元和贴图处理子单元,
所述贴图对应位置确定单元被配置为对于所述多个平面图形区域中的每个点,根据所述公共铺贴起点、所述公共铺贴方向以及所述贴图单元的大小,确定每个点对应的贴图单元中的位置;
所述贴图处理子单元被配置为根据对应的贴图单元中的位置处的属性,使用贴图单元连续地对所述多个平面图形区域进行贴图处理。
28.根据权利要求27所述的装置,其中,所述贴图对应位置确定单元还被配置为:
对于所述多个平面图形区域中的任一点,确定所述公共铺贴起点到该任一点的第四向量;
基于第四向量分别与所述水平铺贴方向和所述垂直铺贴方向的点积确定该任一点在所述公共铺贴坐标系中的坐标;
根据该任一点的坐标以及所述贴图单元的大小,确定该任一点对应的贴图单元中的位置。
29.根据权利要求16所述的装置,其中,所述平面图形区域是多边形、圆形或不规则图形。
30.根据权利要求16所述的装置,其中,所述贴图单元的属性包括图片大小、纹理、材质中的一个或多个。
31.一种电子设备,包括:
处理器;以及
存储器,其中,所述存储器中存储有计算机可读代码,所述计算机可读代码在由所述处理器执行时,实现权利要求1-15中任一项所述的贴图方法。
32.一种非暂时性计算机可读存储介质,存储有计算机可读指令,其中,当所述计算机可读指令在由处理器执行时,实现权利要求1-15中任一项所述的贴图方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111618433.XA CN114359456B (zh) | 2021-12-27 | 2021-12-27 | 贴图方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111618433.XA CN114359456B (zh) | 2021-12-27 | 2021-12-27 | 贴图方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114359456A true CN114359456A (zh) | 2022-04-15 |
CN114359456B CN114359456B (zh) | 2023-03-24 |
Family
ID=81103481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111618433.XA Active CN114359456B (zh) | 2021-12-27 | 2021-12-27 | 贴图方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114359456B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104680573A (zh) * | 2015-01-20 | 2015-06-03 | 西安科技大学 | 一种基于三角网格简化的纹理映射方法 |
CN105205857A (zh) * | 2015-09-18 | 2015-12-30 | 北京睿蓝空信息技术有限公司 | 全三维房屋设计系统及方法 |
CN106933961A (zh) * | 2017-01-31 | 2017-07-07 | 杭州市公安局上城区分局 | 基于制高点自动分析的三维警用地理信息平台 |
CN107564089A (zh) * | 2017-08-10 | 2018-01-09 | 腾讯科技(深圳)有限公司 | 三维图像处理方法、装置、存储介质和计算机设备 |
CN107909541A (zh) * | 2017-11-13 | 2018-04-13 | 杭州电魂网络科技股份有限公司 | 地图转换方法及装置 |
US20200177868A1 (en) * | 2017-07-25 | 2020-06-04 | Koninklijke Philips N.V. | Apparatus and method for generating a tiled three-dimensional image representation of a scene |
CN111354082A (zh) * | 2018-12-21 | 2020-06-30 | 网易(杭州)网络有限公司 | 一种地表贴图的生成方法、装置、电子设备和存储介质 |
CN111815788A (zh) * | 2020-07-22 | 2020-10-23 | 腾讯科技(深圳)有限公司 | 三维地图处理方法、装置、设备和存储介质 |
CN112076477A (zh) * | 2020-08-24 | 2020-12-15 | 网易(杭州)网络有限公司 | 虚拟道路的生成方法和装置 |
CN113487717A (zh) * | 2021-07-13 | 2021-10-08 | 网易(杭州)网络有限公司 | 图片处理方法及装置、计算机可读存储介质、电子设备 |
CN113781622A (zh) * | 2021-08-31 | 2021-12-10 | 咪咕文化科技有限公司 | 三维模型纹理贴图的转换方法、装置、设备以及介质 |
-
2021
- 2021-12-27 CN CN202111618433.XA patent/CN114359456B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104680573A (zh) * | 2015-01-20 | 2015-06-03 | 西安科技大学 | 一种基于三角网格简化的纹理映射方法 |
CN105205857A (zh) * | 2015-09-18 | 2015-12-30 | 北京睿蓝空信息技术有限公司 | 全三维房屋设计系统及方法 |
CN106933961A (zh) * | 2017-01-31 | 2017-07-07 | 杭州市公安局上城区分局 | 基于制高点自动分析的三维警用地理信息平台 |
US20200177868A1 (en) * | 2017-07-25 | 2020-06-04 | Koninklijke Philips N.V. | Apparatus and method for generating a tiled three-dimensional image representation of a scene |
CN107564089A (zh) * | 2017-08-10 | 2018-01-09 | 腾讯科技(深圳)有限公司 | 三维图像处理方法、装置、存储介质和计算机设备 |
CN107909541A (zh) * | 2017-11-13 | 2018-04-13 | 杭州电魂网络科技股份有限公司 | 地图转换方法及装置 |
CN111354082A (zh) * | 2018-12-21 | 2020-06-30 | 网易(杭州)网络有限公司 | 一种地表贴图的生成方法、装置、电子设备和存储介质 |
CN111815788A (zh) * | 2020-07-22 | 2020-10-23 | 腾讯科技(深圳)有限公司 | 三维地图处理方法、装置、设备和存储介质 |
CN112076477A (zh) * | 2020-08-24 | 2020-12-15 | 网易(杭州)网络有限公司 | 虚拟道路的生成方法和装置 |
CN113487717A (zh) * | 2021-07-13 | 2021-10-08 | 网易(杭州)网络有限公司 | 图片处理方法及装置、计算机可读存储介质、电子设备 |
CN113781622A (zh) * | 2021-08-31 | 2021-12-10 | 咪咕文化科技有限公司 | 三维模型纹理贴图的转换方法、装置、设备以及介质 |
Non-Patent Citations (1)
Title |
---|
吴亚东等: "一种基于三角形面片模型的二维纹理贴图方法", 《计算机应用与软件》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114359456B (zh) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10380791B2 (en) | System and method for generation of shadow effects in three-dimensional graphics | |
EP3534336B1 (en) | Panoramic image generating method and apparatus | |
WO2017092303A1 (zh) | 虚拟现实场景模型建立方法及装置 | |
US9275493B2 (en) | Rendering vector maps in a geographic information system | |
US20170186219A1 (en) | Method for 360-degree panoramic display, display module and mobile terminal | |
US20140267273A1 (en) | System and method for overlaying two-dimensional map elements over terrain geometry | |
EP2973422A1 (en) | Overlaying two-dimensional map data on a three-dimensional scene | |
US9165397B2 (en) | Texture blending between view-dependent texture and base texture in a geographic information system | |
EP3501012B1 (en) | System and method for procedurally generated object distribution in regions of a three-dimensional virtual environment | |
KR101591427B1 (ko) | 3차원 지형 영상 가시화에서의 적응형 렌더링 방법 | |
US8675013B1 (en) | Rendering spherical space primitives in a cartesian coordinate system | |
US9886790B2 (en) | System and method of shadow effect generation for concave objects with dynamic lighting in three-dimensional graphics | |
WO2023207963A1 (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN114419241A (zh) | 一种三维模型构建方法、装置及存储介质 | |
CN110889384A (zh) | 场景切换方法及装置、电子设备和存储介质 | |
CN114266854A (zh) | 图像处理方法、装置、电子设备及可读存储介质 | |
CN114359456B (zh) | 贴图方法、装置、电子设备及可读存储介质 | |
CN111431953A (zh) | 一种数据处理方法、终端、服务器及存储介质 | |
KR100603134B1 (ko) | 단색광을 이용한 3차원 렌더링 처리 방법 및 그 장치 | |
EP3241186B1 (en) | System and method of shadow effect generation for concave objects with dynamic lighting in three-dimensional graphics | |
JP7368950B2 (ja) | 効率的な建物フットプリント特定のための方法及び装置 | |
CN116824027A (zh) | 实现非平面成像面连续的屏幕空间反射方法、装置及应用 | |
Miller et al. | Computations on an Ellipsoid for GIS | |
CN116758197A (zh) | 地图渲染方法、装置、设备及存储介质 | |
CN117557710A (zh) | 一种纹理渲染方法、装置、终端设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |