在3D场景的特定表面上覆盖特定表面形态的方法、系统、设备和介质与流程

文档序号:16393869发布日期:2018-12-25 19:35阅读:211来源:国知局
在3D场景的特定表面上覆盖特定表面形态的方法、系统、设备和介质与流程

本发明涉及三维(3d)建模技术领域,特别涉及在3d场景的特定表面上覆盖特定表面形态的方法、系统、设备和介质。

背景技术

目前,当用户在3d场景中去除特定形状时,特别是在3d场景中去除特定形状后,需要在特定表面上覆盖特定表面形态时,例如是制作内部挖有隧道的山体,且隧道壁贴有瓷砖,或者制作被炸去一角的墙体,且新墙面上长出青苔,通常需要在3d场景中去除特定形状,再在3d场景与特定形状的每个切面上分别覆盖特定表面形态,操作繁琐,耗时长,不能重复制作,且用户在去除特定形状时不能预览覆盖有特定表面形态的视觉效果。



技术实现要素:

本发明的目的在于提供在3d场景的特定表面上覆盖特定表面形态的方法、系统、设备和介质,解决现有技术操作繁琐,耗时长,不能重复制作,且用户在去除特定形状时不能预览覆盖有特定表面形态的视觉效果的技术问题。

为解决上述技术问题,本发明的实施方式公开了一种在3d场景的特定表面上覆盖特定表面形态的方法,方法包括:将表面上覆盖有特定表面形态的物体设置为特定形状;将特定形状放置在3d场景的特定位置,确定3d场景与特定形状的切面;确定特定形状的与切面相对应的对应表面,将覆盖在对应表面上的特定表面形态覆盖在切面上。

可选地,在将表面上覆盖有特定表面形态的物体设置为特定形状之前,方法还包括:获取特定表面形态以及特定形状。

可选地,在将特定形状放置在3d场景的特定位置时,特定形状的表面上不覆盖有特定表面形态。

可选地,确定3d场景与特定形状的切面包括:在3d场景中去除特定形状得到新的3d场景;将新的3d场景的所有表面中不属于3d场景的表面的表面确定为切面。

可选地,在3d场景中去除特定形状得到新的3d场景包括:对特定形状取反集操作,获取第一形状;对3d场景和第一形状取交集操作,获取第二形状,即得到新的3d场景。

可选地,在3d场景中去除特定形状得到新的3d场景包括:对3d场景和特定形状取交集操作,获取第三形状;对3d场景和第三形状取差集操作,获取第四形状,即得到新的3d场景。

可选地,3d场景通过多个子物体组合而成。

可选地,在3d场景中去除特定形状得到新的3d场景包括:判断3d场景的每个子物体与特定形状的位置关系;如果子物体完全在特定形状的外部,则保留子物体;如果子物体完全在特定形状的内部,则删除子物体;如果子物体的一部分在特定形状的内部,则对特定形状取反集操作,获取第五形状,对每个子物体和第五形状取交集操作,获取第六形状;将所有的第六形状和保留的子物体重新组合在一起,即得到新的3d场景。

可选地,在3d场景中去除特定形状得到新的3d场景包括:判断3d场景的每个子物体与特定形状的位置关系;如果子物体完全在特定形状的外部,则保留子物体;如果子物体完全在特定形状的内部,则删除子物体;如果子物体的一部分在特定形状的内部,则对每个子物体和特定形状取交集操作,获取第七形状,并且对每个子物体和第七形状取差集操作,获取第八形状;将所有的第八形状和保留的子物体重新组合在一起,即得到新的3d场景。

可选地,特定表面形态包括自然景观表面形态和/或人造结构表面形态。

可选地,特定形状包括规则形状和/或不规则形状。

可选地,3d场景包括自然景观和/或人造结构。

可选地,新的3d场景包括自然景观和/或人造结构。

本发明的实施方式还公开了一种在3d场景的特定表面上覆盖特定表面形态的系统,系统包括:设置单元,用于将表面上覆盖有特定表面形态的物体设置为特定形状;确定单元,用于将特定形状放置在3d场景的特定位置,确定3d场景与特定形状的切面;覆盖单元,用于确定特定形状的与切面相对应的对应表面,将覆盖在对应表面上的特定表面形态覆盖在切面上。

可选地,系统还包括:获取单元,用于获取特定表面形态以及特定形状。

可选地,在将特定形状放置在3d场景的特定位置时,特定形状的表面上不覆盖有特定表面形态。

可选地,确定3d场景与特定形状的切面包括:在3d场景中去除特定形状得到新的3d场景;将新的3d场景的所有表面中不属于3d场景的表面的表面确定为切面。

本发明的实施方式还公开了一种在3d场景的特定表面上覆盖特定表面形态的设备,设备包括存储有计算机可执行指令的存储器和处理器,处理器被配置为执行指令以实施在3d场景的特定表面上覆盖特定表面形态的方法。

本发明的实施方式还公开了一种使用计算机程序编码的非易失性计算机存储介质,计算机程序包括指令,指令被一个以上的计算机执行以实施在3d场景的特定表面上覆盖特定表面形态的方法。

本发明实施方式与现有技术相比,主要区别及其效果在于:

本发明使用表面上覆盖有特定表面形态的物体,使得用户在去除特定形状时能够预览覆盖有特定表面形态的视觉效果,同时表面上覆盖有特定表面形态的物体可以在其他3d场景中重复使用。另外,本发明通过确定特定形状的与切面相对应的对应表面,将覆盖在对应表面上的特定表面形态覆盖在切面上,使得用户不需要在3d场景与特定形状的每个切面上分别覆盖特定表面形态,实现自动化操作,操作简单快捷。

附图说明

图1是本发明第一实施方式的在3d场景的特定表面上覆盖特定表面形态的方法的流程示意图;

图2是本发明第一实施方式的在3d场景中去除特定形状得到新的3d场景的流程示意图;

图3是本发明第一实施方式的在3d场景中去除特定形状得到新的3d场景的另一流程示意图;

图4是本发明第一实施方式的在3d场景中去除特定形状得到新的3d场景的又一流程示意图;

图5是本发明第一实施方式的在3d场景中去除特定形状得到新的3d场景的再一流程示意图;

图6是本发明第二实施方式的在3d场景的特定表面上覆盖特定表面形态的系统的结构示意图。

具体实施方式

在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。

本发明的第一实施方式涉及一种在3d场景的特定表面上覆盖特定表面形态的方法。

图1是该方法100的流程示意图。具体地,方法100包括:

步骤102,将表面上覆盖有特定表面形态的物体设置为特定形状。具体地,可以通过用户输入或用户选择等方式将表面上覆盖有特定表面形态的物体设置为特定形状,在设置过程中,特定表面形态的形状根据特定形状的表面的不同而变化,即特定表面形态与特定形状的表面具有第一对应关系,指示特定形状的某一表面与覆盖在该表面上的特定表面形态相对应。可以存储表面上覆盖有特定表面形态的物体、特定表面形态、特定形状以及第一对应关系。表面上覆盖有特定表面形态的物体包括球体、圆柱体、长方体等中的一种或多种。通过步骤102,用户在去除特定形状时能够预览覆盖有特定表面形态的视觉效果,同时表面上覆盖有特定表面形态的物体可以在其他3d场景中重复使用。

步骤104,将特定形状放置在3d场景的特定位置,确定3d场景与特定形状的切面。具体地,可以通过用户输入或用户选择等方式将特定形状放置在3d场景的特定位置。例如,特定形状可以放置在3d场景的内部,或者特定形状与3d场景部分地重叠。通过步骤104,用户可以将特定形状放置在3d场景的任意位置,并且确定切面,以方便在步骤106中在切面上覆盖特定表面形态。

步骤106,确定特定形状的与切面相对应的对应表面,将覆盖在对应表面上的特定表面形态覆盖在切面上。具体地,切面与特定形状的表面具有第二对应关系,指示某一切面与形成该切面的特定形状的表面相对应。根据切面和第二对应关系,确定特定形状的与切面相对应的对应表面,根据对应表面和第一对应关系,确定覆盖在对应表面上的特定表面形态,将该特定表面形态覆盖在切面上。例如,确定特定形状的与切面相对应的对应表面为特定形状的下表面,则将覆盖在特定形状的下表面上的特定表面形态覆盖在切面上。可以存储第二对应关系。通过步骤106,用户不需要在3d场景与特定形状的每个切面上分别覆盖特定表面形态,实现自动化操作,操作简单快捷。

可选地,在将表面上覆盖有特定表面形态的物体设置为特定形状之前,方法还包括:获取特定表面形态以及特定形状。具体地,可以从用户处获取特定表面形态以及特定形状。

可选地,在将特定形状放置在3d场景的特定位置时,特定形状的表面上不覆盖有特定表面形态。另外,在将特定形状放置在3d场景的特定位置时,特定形状的表面上也可以覆盖有特定表面形态。

可选地,确定3d场景与特定形状的切面包括:在3d场景中去除特定形状得到新的3d场景;将新的3d场景的所有表面中不属于3d场景的表面的表面确定为切面。具体地,可以通过布尔运算、切片等方式在3d场景中去除特定形状得到新的3d场景。

图2是在3d场景中去除特定形状得到新的3d场景的流程示意图。具体地,方法200包括:

步骤202,对特定形状取反集操作,获取第一形状。

步骤204,对3d场景和第一形状取交集操作,获取第二形状,即得到新的3d场景。

图3是在3d场景中去除特定形状得到新的3d场景的另一流程示意图。具体地,方法300包括:

步骤302,对3d场景和特定形状取交集操作,获取第三形状。

步骤304,对3d场景和第三形状取差集操作,获取第四形状,即得到新的3d场景。

可选地,3d场景通过多个子物体组合而成。

图4是在3d场景中去除特定形状得到新的3d场景的又一流程示意图。具体地,方法400包括:

步骤402,判断3d场景的每个子物体与特定形状的位置关系。

步骤404,如果子物体完全在特定形状的外部,则保留子物体。

步骤406,如果子物体完全在特定形状的内部,则删除子物体。

步骤408,如果子物体的一部分在特定形状的内部,则对特定形状取反集操作,获取第五形状,对每个子物体和第五形状取交集操作,获取第六形状。

步骤410,将所有的第六形状和保留的子物体重新组合在一起,即得到新的3d场景。

图5是在3d场景中去除特定形状得到新的3d场景的再一流程示意图。具体地,方法500包括:

步骤502,判断3d场景的每个子物体与特定形状的位置关系。

步骤504,如果子物体完全在特定形状的外部,则保留子物体。

步骤506,如果子物体完全在特定形状的内部,则删除子物体。

步骤508,如果子物体的一部分在特定形状的内部,则对每个子物体和特定形状取交集操作,获取第七形状,并且对每个子物体和第七形状取差集操作,获取第八形状。

步骤510,将所有的第八形状和保留的子物体重新组合在一起,即得到新的3d场景。

可选地,特定表面形态包括自然景观表面形态和/或人造结构表面形态。具体地,特定表面形态包括青苔表面、鹅卵石表面、光滑镜面表面、瓷砖表面、泥土表面等中的一种或多种。

可选地,特定形状包括规则形状和/或不规则形状。具体地,特定形状包括球体、圆柱体、长方体、爆炸形状、隧道形状等中的一种或多种。

可选地,3d场景包括自然景观和/或人造结构。具体地,3d场景包括山体、水体、土地、墙体等中的一种或多种。

可选地,新的3d场景包括自然景观和/或人造结构。具体地,新的3d场景包括内部挖有隧道的山体、表面设有坑的土地、被炸去一角的墙体等中的一种或多种。

因此,通过本发明的第一实施方式,用户可以制作内部挖有隧道且隧道壁贴有瓷砖的山体、表面设有坑且坑面为鹅卵石表面的土地、被炸去一角且新墙面上长出青苔的墙体等中的一种或多种。

本发明的第二实施方式涉及一种在3d场景的特定表面上覆盖特定表面形态的系统。

图6是该系统600的结构示意图。具体地,系统600包括:

设置单元602,用于将表面上覆盖有特定表面形态的物体设置为特定形状。具体地,可以通过用户输入单元或用户选择单元等单元将表面上覆盖有特定表面形态的物体设置为特定形状,在设置过程中,特定表面形态的形状根据特定形状的表面的不同而变化,即特定表面形态与特定形状的表面具有第一对应关系,指示特定形状的某一表面与覆盖在该表面上的特定表面形态相对应。可以通过一个或多个存储单元来存储表面上覆盖有特定表面形态的物体、特定表面形态、特定形状以及第一对应关系。表面上覆盖有特定表面形态的物体包括球体、圆柱体、长方体等中的一种或多种。通过设置单元602,用户在去除特定形状时能够预览覆盖有特定表面形态的视觉效果,同时表面上覆盖有特定表面形态的物体可以在其他3d场景中重复使用。

确定单元604,用于将特定形状放置在3d场景的特定位置,确定3d场景与特定形状的切面。具体地,可以通过用户输入单元或用户选择单元等单元将特定形状放置在3d场景的特定位置。例如,特定形状可以放置在3d场景的内部,或者特定形状与3d场景部分地重叠。通过确定单元604,用户可以将特定形状放置在3d场景的任意位置,并且确定切面,以方便在覆盖单元606中在切面上覆盖特定表面形态。

覆盖单元606,用于确定特定形状的与切面相对应的对应表面,将覆盖在对应表面上的特定表面形态覆盖在切面上。具体地,切面与特定形状的表面具有第二对应关系,指示某一切面与形成该切面的特定形状的表面相对应。根据切面和第二对应关系,确定特定形状的与切面相对应的对应表面,根据对应表面和第一对应关系,确定覆盖在对应表面上的特定表面形态,将该特定表面形态覆盖在切面上。例如,确定特定形状的与切面相对应的对应表面为特定形状的下表面,则将覆盖在特定形状的下表面上的特定表面形态覆盖在切面上。可以通过存储单元来存储第二对应关系。通过覆盖单元606,用户不需要在3d场景与特定形状的每个切面上分别覆盖特定表面形态,实现自动化操作,操作简单快捷。

可选地,系统还包括:获取单元,用于获取特定表面形态以及特定形状。具体地,可以从用户处获取特定表面形态以及特定形状。

可选地,在将特定形状放置在3d场景的特定位置时,特定形状的表面上不覆盖有特定表面形态。另外,在将特定形状放置在3d场景的特定位置时,特定形状的表面上也可以覆盖有特定表面形态。

可选地,确定3d场景与特定形状的切面包括:在3d场景中去除特定形状得到新的3d场景;将新的3d场景的所有表面中不属于3d场景的表面的表面确定为切面。具体地,可以通过布尔运算、切片等方式在3d场景中去除特定形状得到新的3d场景。

第一实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

本发明的第三实施方式涉及一种设备,设备包括存储有计算机可执行指令的存储器和处理器,处理器被配置为执行指令以实施在3d场景中去除特定形状的方法。

第一实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

本发明的第四实施方式涉及一种使用计算机程序编码的非易失性计算机存储介质,计算机程序包括指令,指令被一个以上的计算机执行以实施在3d场景中去除特定形状的方法。

第一实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

需要说明的是,本发明的各方法实施方式均可以以软件、硬件、固件等方式实现。不管本发明是以软件、硬件、还是固件方式实现,指令代码都可以存储在任何类型的计算机可访问的存储器中(例如永久的或者可修改的,易失性的或者非易失性的,固态的或者非固态的,固定的或者可更换的介质等等)。同样,存储器可以例如是可编程阵列逻辑(programmablearraylogic,简称“pal”)、随机存取存储器(randomaccessmemory,简称“ram”)、可编程只读存储器(programmablereadonlymemory,简称“prom”)、只读存储器(read-onlymemory,简称“rom”)、电可擦除可编程只读存储器(electricallyerasableprogrammablerom,简称“eeprom”)、磁盘、光盘、数字通用光盘(digitalversatiledisc,简称“dvd”)等等。

需要说明的是,本发明各设备实施方式中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现,这些逻辑单元本身的物理实现方式并不是最重要的,这些逻辑单元所实现的功能的组合才是解决本发明所提出的技术问题的关键。此外,为了突出本发明的创新部分,本发明上述各设备实施方式并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,这并不表明上述设备实施方式并不存在其它的单元。

需要说明的是,在本专利的权利要求和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

虽然通过参照本发明的某些优选实施方式,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1