CN110310354A - 一种三维场景中的顶点识别方法及装置 - Google Patents

一种三维场景中的顶点识别方法及装置 Download PDF

Info

Publication number
CN110310354A
CN110310354A CN201910601077.7A CN201910601077A CN110310354A CN 110310354 A CN110310354 A CN 110310354A CN 201910601077 A CN201910601077 A CN 201910601077A CN 110310354 A CN110310354 A CN 110310354A
Authority
CN
China
Prior art keywords
vertex
distance
unit
projection
height
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
Application number
CN201910601077.7A
Other languages
English (en)
Other versions
CN110310354B (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.)
Zhuhai Kingsoft Online Game Technology Co Ltd
Original Assignee
Zhuhai Kingsoft Online Game Technology 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 Zhuhai Kingsoft Online Game Technology Co Ltd filed Critical Zhuhai Kingsoft Online Game Technology Co Ltd
Priority to CN201910601077.7A priority Critical patent/CN110310354B/zh
Publication of CN110310354A publication Critical patent/CN110310354A/zh
Application granted granted Critical
Publication of CN110310354B publication Critical patent/CN110310354B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

本申请提供一种三维场景中的顶点识别方法及装置,其中所述方法包括:对目标三维模型进行竖直方向的投影,得到所述目标三维模型的高度投影图;从所述高度投影图中确定需要渲染的顶点,生成第一顶点集;依次查看第一顶点集中的每个顶点的周围区域的平坦度是否符合条件,并删除不符合条件的顶点,得到第二顶点集;依次加载第二顶点集中的每个顶点,确定与当前顶点的距离小于等于距离阈值的其他顶点,并将当前顶点与其他顶点组成的顶点集中高度值非最大的顶点剔除,得到第三顶点集;将第三顶点集中的顶点进行标记,可以节省人工排放的工作,节约大量人力消耗。

Description

一种三维场景中的顶点识别方法及装置
技术领域
本申请涉及互联网技术领域,特别涉及一种三维场景中的顶点识别方法及装置、计算设备和计算可读存储介质。
背景技术
在3D游戏中存在识别场景中的顶点的需求,例如3D场景中的建筑的尖顶,当动画中出现主角或其他角色,例如飞鸟等移动到尖顶的画面时,就涉及到对于该尖顶的精确定位问题。
现有技术的定位方式是人工标定尖顶位置:在3D模型的顶点上摆放标识物进行标定。这就需要人工摆放标识物,耗费人力。当场景很大时,一个场景中会有多个这样的尖顶需要摆放识别,采用现有技术的方法会造成巨大的人力消耗。
发明内容
有鉴于此,本申请实施例提供了一种三维场景中的顶点识别方法及装置、计算设备和计算可读存储介质,以解决现有技术中存在的技术缺陷。
本申请实施例提供了一种三维场景中的顶点识别方法,所述方法包括:
对目标三维模型进行竖直方向的投影,得到所述目标三维模型的高度投影图;
从所述高度投影图中确定需要渲染的顶点,生成第一顶点集;
依次查看第一顶点集中的每个顶点的周围区域的平坦度是否符合条件,并删除不符合条件的顶点,得到第二顶点集;
依次加载第二顶点集中的每个顶点,确定与当前顶点的距离小于等于距离阈值的其他顶点,并将当前顶点与其他顶点组成的顶点集中高度值非最大的顶点剔除,得到第三顶点集;
将第三顶点集中的顶点进行标记。
可选地,从所述高度投影图中确定需要渲染的顶点,包括:
在所述高度投影图中的至少两个顶点的投影重合的情况下,将高度值最大的顶点确定为需要渲染的顶点。
可选地,从所述高度投影图中确定需要渲染的顶点,包括:
将所述高度投影图中的高度值大于第一阈值的顶点确定为需要渲染的顶点。
可选地,依次查看第一顶点集中的每个顶点的周围区域的平坦度是否符合条件,并删除不符合条件的顶点,得到第二顶点集,包括:
查看每个顶点的第一距离范围内的模型投影区域是否在与所述顶点的距离的增加的情况下高度值减小;
若否,删除该顶点;
若是,保存该顶点至第二顶点集。
可选地,依次查看第一顶点集中的每个顶点的周围区域的平坦度是否符合条件,并删除不符合条件的顶点,得到第二顶点集,包括:
查看每个顶点的第二距离范围内的模型投影区域是否在与所述顶点的距离的增加的情况下高度值减小;
若否,删除该顶点;
若是,则查看每个顶点的第二距离至第三距离范围内的模型投影区域的高度差是否大于第三阈值,若否,删除该顶点,若是,则保存该顶点至第二顶点集。
可选地,依次加载第二顶点集中的每个顶点,确定与当前顶点的距离小于等于距离阈值的其他顶点,并将当前顶点与其他顶点组成的顶点集中高度值非最大的顶点剔除,得到第三顶点集,包括:
S1、将所述第二顶点集中的所有顶点标记为有效,取i、j的初始值为1,其中,所述第二顶点集包括m个顶点;
S2、判断i是否大于m,若是,执行步骤S13,若否,执行步骤S3;
S3、判断第i个顶点是否标记为有效,若否,执行步骤S4,若是,执行步骤S5;
S4、将i=i+1,返回步骤S2;
S5、判断j是否大于m,若是,执行步骤S4,若否,执行步骤S6;
S6、判断j是否等于i,若是,执行步骤S8,若否,执行步骤S7;
S7、判断第j个顶点是否标记为有效,若是,执行步骤S9,若否,执行步骤S8;
S8、将j=j+1,返回步骤S5;
S9、计算第i个顶点和第j个顶点的水平距离和竖直距离,判断所述水平距离是否大于距离阈值,若是,执行步骤S8,若否,执行步骤S10;
S10、判断所述第i个顶点和第j个顶点的竖直距离是否大于0,若是,执行步骤S11,若否,执行步骤S12;
S11、将第j个顶点标记为无效,执行步骤S8;
S12、将第i个顶点标记为无效,执行步骤S4;
S13、删除标记为无效的顶点,将标记为有效的顶点生成第三顶点集。
本申请实施例公开了一种三维场景中的顶点识别装置,所述装置包括:
投影生成模块,被配置为对目标三维模型进行竖直方向的投影,得到所述目标三维模型的高度投影图;
第一顶点集生成模块,被配置为从所述高度投影图中确定需要渲染的顶点,生成第一顶点集;
第二顶点集生成模块,被配置为依次查看第一顶点集中的每个顶点的周围区域的平坦度是否符合条件,并删除不符合条件的顶点,得到第二顶点集;
第三顶点集生成模块,被配置为依次加载第二顶点集中的每个顶点,确定与当前顶点的距离小于等于距离阈值的其他顶点,并将当前顶点与其他顶点组成的顶点集中高度值非最大的顶点剔除,得到第三顶点集;
标记模块,被配置为将第三顶点集中的顶点进行标记。
可选地,第一顶点集生成模块具体被配置为:在所述高度投影图中的至少两个顶点的投影重合的情况下,将高度值最大的顶点确定为需要渲染的顶点。
可选地,所述第一顶点集生成模块具体被配置为:将所述高度投影图中的高度值大于第一阈值的顶点确定为需要渲染的顶点。
可选地,所述第二顶点集生成模块具体被配置为:
查看每个顶点的第一距离范围内的模型投影区域是否在与所述顶点的距离的增加的情况下高度值减小;
若否,删除该顶点;
若是,保存该顶点至第二顶点集。
可选地,所述第二顶点集生成模块具体被配置为:
查看每个顶点的第二距离范围内的模型投影区域是否在与所述顶点的距离的增加的情况下高度值减小;
若否,删除该顶点;
若是,则查看每个顶点的第二距离至第三距离范围内的模型投影区域的高度差是否大于第三阈值,若否,删除该顶点,若是,则保存该顶点至第二顶点集。
可选地,所述第三顶点集生成模块具体被配置为:
初始化单元,被配置为将所述第二顶点集中的所有顶点标记为有效,取i、j的初始值为1,其中,所述第二顶点集包括m个顶点;
第一判断单元,被配置为判断i是否大于m,若是,执行第三顶点集生成单元,若否,执行第二判断单元;
第二判断单元,被配置为判断第i个顶点是否标记为有效,若否,执行第一自增单元,若是,执行第三判断单元;
第一自增单元,被配置为将i=i+1,执行第一判断单元;
第三判断单元,被配置为判断j是否大于m,若是,执行自增单元,若否,执行第四判断单元;
第四判断单元,被配置为判断j是否等于i,若是,执行第二自增单元,若否,执行第五判断单元;
第五判断单元,被配置为判断第j个顶点是否标记为有效,若是,执行第六判断单元,若否,执行第二自增单元;
第二自增单元,被配置为将j=j+1,执行第三判断单元;
第六判断单元,被配置为计算第i个顶点和第j个顶点的水平距离和竖直距离,判断所述水平距离是否大于距离阈值,若是,执行第二自增单元,若否,执行第七判断单元;
第七判断单元,被配置为判断所述第i个顶点和第j个顶点的竖直距离是否大于0,若是,执行第一标记单元,若否,执行第二标记单元;
第一标记单元,被配置为将第j个顶点标记为无效,执行第二自增单元;
第二标记单元,被配置为将第i个顶点标记为无效,执行第一自增单元;
第三顶点集生成单元,被配置为删除标记为无效的顶点,将标记为有效的顶点生成第三顶点集。
本申请实施例公开了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现如上所述三维场景中的顶点识别方法的步骤。
本申请实施例公开了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如上所述三维场景中的顶点识别方法的步骤。
本申请提供的一种三维场景中的顶点识别方法及装置,通过对目标三维模型进行竖直方向的投影,得到目标三维模型的高度投影图;从高度投影图中确定需要渲染的顶点生成第一顶点集,然后删除周围区域的平坦度不符合条件的顶点得到第二顶点集,然后确定与当前顶点的距离小于等于距离阈值的其他顶点,并将当前顶点与其他顶点组成的顶点集中高度值非最大的顶点剔除得到第三顶点集,然后将第三顶点集中的顶点进行标记,可以节省人工排放的工作,节约大量人力消耗。
其次,本实施例通过删除周围区域的平坦度不符合条件的顶点,从而选择出符合平坦度要求的顶点。
再次,本实施例通过确定与当前顶点的距离小于等于距离阈值的其他顶点,并将当前顶点与其他顶点组成的顶点集中高度值非最大的顶点剔除,从而可以避免顶点过密的情形出现。
另外,将高度投影图中的高度值大于第一阈值的顶点确定为需要渲染的顶点,从而避免标记太矮的顶点被标记。
附图说明
图1是本申请实施例的计算设备的结构示意图;
图2是本申请实施例的三维场景中的顶点识别方法的流程示意图;
图3是本申请实施例的三维场景中的顶点识别方法的流程示意图;
图4是本申请实施例的三维场景中的顶点识别方法的流程示意图;
图5是本申请实施例的三维场景中的顶点识别方法的流程示意图;
图6a是本申请实施例的一个目标三维模型的实际状态图;
图6b是本申请实施例的图6a所示的目标三维模型的高度投影图;
图7是本申请实施例的三维场景中的顶点识别装置的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本申请中,提供了一种三维场景中的顶点识别方法及装置、计算设备和计算可读存储介质,在下面的实施例中逐一进行详细说明。
图1是示出了根据本说明书一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。
计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
其中,处理器120可以执行图2所示方法中的步骤。图2是示出了根据本申请一实施例的顶点识别方法的流程示意图,包括步骤201至步骤205。
201、对目标三维模型进行竖直方向的投影,得到所述目标三维模型的高度投影图。
需要说明的是,对目标三维模型进行竖直方向的投影,具体为对目标三维模型的从上到下的方向的投影,生成的投影图为目标三维模型的俯视图。
对于从顶部投影的情况下被模型遮住的顶点,则不会再在投影图中显示,也就意味着该顶点被剔除。
202、从所述高度投影图中确定需要渲染的顶点,生成第一顶点集。
步骤202中,从所述高度投影图中确定需要渲染的顶点,包括:
在所述高度投影图中的至少两个顶点的投影重合的情况下,将高度值最大的顶点确定为需要渲染的顶点。
例如,顶点1、顶点2和顶点3的投影重合,顶点1的高度值大于顶点2和顶点3的高度值,也就是说,在从上到下生成的高度投影图中,顶点1位于最上侧,并遮住了顶点2和顶点3,那么顶点2和3被剔除。
本实施例中,设置高度值为基于目标三维模型基底的高度值。
步骤202中,从所述高度投影图中确定需要渲染的顶点,包括:
将所述高度投影图中的高度值大于第一阈值的顶点确定为需要渲染的顶点。
在一个具体的实施方案中,设置第一阈值为3.5m,那么将高度值大于3.5m的顶点确定为需要渲染的顶点。通过设置高度值大于第一阈值的顶点,避免需要标记的顶点太矮。
通过步骤202的初级筛选,可以从所述高度投影图中确定需要渲染的顶点作为第一顶点集。但是第一顶点集所包括的顶点会较多,而实际应用的过程中无需标记如此多的顶点,所以还需要后续步骤中的进一步筛选。
203、依次查看第一顶点集中的每个顶点的周围区域的平坦度是否符合条件,并删除不符合条件的顶点,得到第二顶点集。
具体地,在一个具体的实现方案中,参见图3,步骤203包括:
301、查看每个顶点的第一距离范围内的模型投影区域是否在与所述顶点的距离的增加的情况下高度值减小,若是,执行步骤303,若否,执行步骤302。
其中,第一距离范围可以根据实际需求而设置,例如设置第一距离为1m。
由于顶点的周围区域一般呈高度递减的形态,所以通过步骤301可以判断顶点的第一距离范围内的模型投影区域是否呈高度值递减的情形,避免顶点被误识别的情况发生。
302、删除该顶点。
303、保存该顶点至第二顶点集。
通过步骤301~303,可以剔除掉周围区域较平坦的顶点。在实际场景中,例如一片高低起伏的山坡中,无需标记顶点,但是会在高度投影途图中生成顶点。此种顶点需要剔除掉。
具体地,在一个具体的实现方案中,参见图4,步骤203包括:
401、查看每个顶点的第二距离范围内的模型投影区域是否在与所述顶点的距离的增加的情况下高度值减小,若是,执行步骤403,若否,执行步骤402。
其中,第二距离范围可以根据实际需求而设置,例如设置第二距离为2m。
402、删除该顶点。
403、查看每个顶点的第二距离至第三距离范围内的模型投影区域的高度差是否大于第三阈值,若是,执行步骤404,若否,执行步骤402。
其中,第三距离范围可以根据实际需求而设置,例如设置第三距离为3m。
404、保存该顶点至第二顶点集。
通过步骤401~404,不仅需要判断顶点的第二距离范围内的点是否满足步骤401的条件,还需要进一步地判断顶点的第二距离至第三距离范围内的点是否满足步骤403的条件,从而可以获得更加准确的筛选结果。
在实际场景中,以栅栏的顶点为例,由于栅栏会形成一排顶点,且顶点过于密集,且在实际应用场景中需要标记的情形较少,一般地,会将栅栏的顶点剔除掉。通过步骤401~404,即使每个顶点的第二距离范围内的模型投影区域随着与顶点的距离的增加的情况下高度值减小,如果顶点的第二距离至第三距离范围内的模型投影区域的高度差小于等于第三阈值,仍旧需要删掉该顶点。
204、依次加载第二顶点集中的每个顶点,确定与当前顶点的距离小于等于距离阈值的其他顶点,并将当前顶点与其他顶点组成的顶点集中高度值非最大的顶点剔除,得到第三顶点集。
其中,距离阈值可以根据实际需要而设定,例如设置距离阈值为5m。
具体地,参见图5,步骤204包括:
501、将所述第二顶点集中的所有顶点标记为有效,取i、j的初始值为1,其中,所述第二顶点集包括m个顶点。
502、判断i是否大于m,若是,执行步骤513,若否,执行步骤503。
503、判断第i个顶点是否标记为有效,若否,执行步骤504,若是,执行步骤505。
504、将i=i+1,返回步骤502。
505、判断j是否大于m,若是,执行步骤504,若否,执行步骤506。
506、判断j是否等于i,若是,执行步骤508,若否,执行步骤507。
507、判断第j个顶点是否标记为有效,若是,执行步骤509,若否,执行步骤508。
508、将j=j+1,返回步骤505。
509、计算第i个顶点和第j个顶点的水平距离和竖直距离,判断所述水平距离是否大于距离阈值,若是,执行步骤508,若否,执行步骤510。
510、判断所述第i个顶点和第j个顶点的竖直距离是否大于0,若是,执行步骤511,若否,执行步骤512。
511、将第j个顶点标记为无效,执行步骤508。
512、将第i个顶点标记为无效,执行步骤504。
513、删除标记为无效的顶点,将标记为有效的顶点生成第三顶点集。
通过步骤501~513,第二顶点集中的所有被标记为有效的顶点会进行比较并重新标记,最终标记被有效的顶点生成第三顶点集,被标记为无效的顶点被删除掉。,从而在距离阈值范围内只保留一个顶点,避免顶点过密的情形出现。
205、将第三顶点集中的顶点进行标记。
参见图6a和图6b,图6a为一目标三维模型的实际状态图,图6b为图6a的目标三维模型的高度投影图。图6b的方框内的点为最终标记出的顶点。由图6b可见,虽然目标三维模型的顶点有很多,但是最终被标记的顶点为12个,每个方框内为3个。
本实施例的三维场景中的顶点识别方法,通过对目标三维模型进行竖直方向的投影,得到目标三维模型的高度投影图;从高度投影图中确定需要渲染的顶点生成第一顶点集,然后删除周围区域的平坦度不符合条件的顶点得到第二顶点集,然后确定与当前顶点的距离小于等于距离阈值的其他顶点,并将当前顶点与其他顶点组成的顶点集中高度值非最大的顶点剔除得到第三顶点集,然后将第三顶点集中的顶点进行标记,可以节省人工排放的工作,节约大量人力消耗。
其次,本实施例通过删除周围区域的平坦度不符合条件的顶点,从而选择出符合平坦度要求的顶点。
再次,本实施例通过确定与当前顶点的距离小于等于距离阈值的其他顶点,并将当前顶点与其他顶点组成的顶点集中高度值非最大的顶点剔除,从而可以避免顶点过密的情形出现。
另外,将高度投影图中的高度值大于第一阈值的顶点确定为需要渲染的顶点,从而避免标记太矮的顶点被标记。
本申请另一实施例还提供了一种三维场景中的顶点识别装置,参见图7,所述装置包括:
投影生成模块701,被配置为对目标三维模型进行竖直方向的投影,得到所述目标三维模型的高度投影图;
第一顶点集生成模块702,被配置为从所述高度投影图中确定需要渲染的顶点,生成第一顶点集;
第二顶点集生成模块703,被配置为依次查看第一顶点集中的每个顶点的周围区域的平坦度是否符合条件,并删除不符合条件的顶点,得到第二顶点集;
第三顶点集生成模块704,被配置为依次加载第二顶点集中的每个顶点,确定与当前顶点的距离小于等于距离阈值的其他顶点,并将当前顶点与其他顶点组成的顶点集中高度值非最大的顶点剔除,得到第三顶点集;
标记模块705,被配置为将第三顶点集中的顶点进行标记。
可选地,所述第一顶点集生成模块702具体被配置为:在所述高度投影图中的至少两个顶点的投影重合的情况下,将高度值最大的顶点确定为需要渲染的顶点。
可选地,所述第一顶点集生成模块702具体被配置为:将所述高度投影图中的高度值大于第一阈值的顶点确定为需要渲染的顶点。
可选地,所述第二顶点集生成模块703具体被配置为:
查看每个顶点的第一距离范围内的模型投影区域是否在与所述顶点的距离的增加的情况下高度值减小;
若否,删除该顶点;
若是,保存该顶点至第二顶点集。
可选地,所述第二顶点集生成模块703具体被配置为:
查看每个顶点的第二距离范围内的模型投影区域是否在与所述顶点的距离的增加的情况下高度值减小;
若否,删除该顶点;
若是,则查看每个顶点的第二距离至第三距离范围内的模型投影区域的高度差是否大于第三阈值,若否,删除该顶点,若是,则保存该顶点至第二顶点集。
可选地,所述第三顶点集生成模块704具体被配置为:
初始化单元,被配置为将所述第二顶点集中的所有顶点标记为有效,取i、j的初始值为1,其中,所述第二顶点集包括m个顶点;
第一判断单元,被配置为判断i是否大于m,若是,执行第三顶点集生成单元,若否,执行第二判断单元;
第二判断单元,被配置为判断第i个顶点是否标记为有效,若否,执行第一自增单元,若是,执行第三判断单元;
第一自增单元,被配置为将i=i+1,执行第一判断单元;
第三判断单元,被配置为判断j是否大于m,若是,执行自增单元,若否,执行第四判断单元;
第四判断单元,被配置为判断j是否等于i,若是,执行第二自增单元,若否,执行第五判断单元;
第五判断单元,被配置为判断第j个顶点是否标记为有效,若是,执行第六判断单元,若否,执行第二自增单元;
第二自增单元,被配置为将j=j+1,执行第三判断单元;
第六判断单元,被配置为计算第i个顶点和第j个顶点的水平距离和竖直距离,判断所述水平距离是否大于距离阈值,若是,执行第二自增单元,若否,执行第七判断单元;
第七判断单元,被配置为判断所述第i个顶点和第j个顶点的竖直距离是否大于0,若是,执行第一标记单元,若否,执行第二标记单元;
第一标记单元,被配置为将第j个顶点标记为无效,执行第二自增单元;
第二标记单元,被配置为将第i个顶点标记为无效,执行第一自增单元;
第三顶点集生成单元,被配置为删除标记为无效的顶点,将标记为有效的顶点生成第三顶点集。
本实施例的一种三维场景中的顶点识别装置,通过对目标三维模型进行竖直方向的投影,得到目标三维模型的高度投影图;从高度投影图中确定需要渲染的顶点生成第一顶点集,然后删除周围区域的平坦度不符合条件的顶点得到第二顶点集,然后确定与当前顶点的距离小于等于距离阈值的其他顶点,并将当前顶点与其他顶点组成的顶点集中高度值非最大的顶点剔除得到第三顶点集,然后将第三顶点集中的顶点进行标记,可以节省人工排放的工作,节约大量人力消耗。
上述为本实施例的一种顶点识别装置的示意性方案。需要说明的是,该顶点识别装置的技术方案与上述的顶点识别方法的技术方案属于同一构思,顶点识别装置的技术方案未详细描述的细节内容,均可以参见上述顶点识别方法的技术方案的描述。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述顶点识别方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的顶点识别方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述顶点识别方法的技术方案的描述。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。

Claims (14)

1.一种三维场景中的顶点识别方法,其特征在于,所述方法包括:
对目标三维模型进行竖直方向的投影,得到所述目标三维模型的高度投影图;
从所述高度投影图中确定需要渲染的顶点,生成第一顶点集;
依次查看第一顶点集中的每个顶点的周围区域的平坦度是否符合条件,并删除不符合条件的顶点,得到第二顶点集;
依次加载第二顶点集中的每个顶点,确定与当前顶点的距离小于等于距离阈值的其他顶点,并将当前顶点与其他顶点组成的顶点集中高度值非最大的顶点剔除,得到第三顶点集;
将第三顶点集中的顶点进行标记。
2.如权利要求1所述的顶点识别方法,其特征在于,从所述高度投影图中确定需要渲染的顶点,包括:
在所述高度投影图中的至少两个顶点的投影重合的情况下,将高度值最大的顶点确定为需要渲染的顶点。
3.如权利要求1或2所述的顶点识别方法,其特征在于,从所述高度投影图中确定需要渲染的顶点,包括:
将所述高度投影图中的高度值大于第一阈值的顶点确定为需要渲染的顶点。
4.如权利要求1所述的顶点识别方法,其特征在于,依次查看第一顶点集中的每个顶点的周围区域的平坦度是否符合条件,并删除不符合条件的顶点,得到第二顶点集,包括:
查看每个顶点的第一距离范围内的模型投影区域是否在与所述顶点的距离的增加的情况下高度值减小;
若否,删除该顶点;
若是,保存该顶点至第二顶点集。
5.如权利要求1所述的顶点识别方法,其特征在于,依次查看第一顶点集中的每个顶点的周围区域的平坦度是否符合条件,并删除不符合条件的顶点,得到第二顶点集,包括:
查看每个顶点的第二距离范围内的模型投影区域是否在与所述顶点的距离的增加的情况下高度值减小;
若否,删除该顶点;
若是,则查看每个顶点的第二距离至第三距离范围内的模型投影区域的高度差是否大于第三阈值,若否,删除该顶点,若是,则保存该顶点至第二顶点集。
6.如权利要求1所述的顶点识别方法,其特征在于,依次加载第二顶点集中的每个顶点,确定与当前顶点的距离小于等于距离阈值的其他顶点,并将当前顶点与其他顶点组成的顶点集中高度值非最大的顶点剔除,得到第三顶点集,包括:
S1、将所述第二顶点集中的所有顶点标记为有效,取i、j的初始值为1,其中,所述第二顶点集包括m个顶点;
S2、判断i是否大于m,若是,执行步骤S13,若否,执行步骤S3;
S3、判断第i个顶点是否标记为有效,若否,执行步骤S4,若是,执行步骤S5;
S4、将i=i+1,返回步骤S2;
S5、判断j是否大于m,若是,执行步骤S4,若否,执行步骤S6;
S6、判断j是否等于i,若是,执行步骤S8,若否,执行步骤S7;
S7、判断第j个顶点是否标记为有效,若是,执行步骤S9,若否,执行步骤S8;
S8、将j=j+1,返回步骤S5;
S9、计算第i个顶点和第j个顶点的水平距离和竖直距离,判断所述水平距离是否大于距离阈值,若是,执行步骤S8,若否,执行步骤S10;
S10、判断所述第i个顶点和第j个顶点的竖直距离是否大于0,若是,执行步骤S11,若否,执行步骤S12;
S11、将第j个顶点标记为无效,执行步骤S8;
S12、将第i个顶点标记为无效,执行步骤S4;
S13、删除标记为无效的顶点,将标记为有效的顶点生成第三顶点集。
7.一种三维场景中的顶点识别装置,其特征在于,所述装置包括:
投影生成模块,被配置为对目标三维模型进行竖直方向的投影,得到所述目标三维模型的高度投影图;
第一顶点集生成模块,被配置为从所述高度投影图中确定需要渲染的顶点,生成第一顶点集;
第二顶点集生成模块,被配置为依次查看第一顶点集中的每个顶点的周围区域的平坦度是否符合条件,并删除不符合条件的顶点,得到第二顶点集;
第三顶点集生成模块,被配置为依次加载第二顶点集中的每个顶点,确定与当前顶点的距离小于等于距离阈值的其他顶点,并将当前顶点与其他顶点组成的顶点集中高度值非最大的顶点剔除,得到第三顶点集;
标记模块,被配置为将第三顶点集中的顶点进行标记。
8.如权利要求7所述的顶点识别装置,其特征在于,所述第一顶点集生成模块具体被配置为:在所述高度投影图中的至少两个顶点的投影重合的情况下,将高度值最大的顶点确定为需要渲染的顶点。
9.如权利要求7或8所述的顶点识别装置,其特征在于,所述第一顶点集生成模块具体被配置为:将所述高度投影图中的高度值大于第一阈值的顶点确定为需要渲染的顶点。
10.如权利要求7所述的顶点识别装置,其特征在于,所述第二顶点集生成模块具体被配置为:
查看每个顶点的第一距离范围内的模型投影区域是否在与所述顶点的距离的增加的情况下高度值减小;
若否,删除该顶点;
若是,保存该顶点至第二顶点集。
11.如权利要求7所述的顶点识别装置,其特征在于,所述第二顶点集生成模块具体被配置为:
查看每个顶点的第二距离范围内的模型投影区域是否在与所述顶点的距离的增加的情况下高度值减小;
若否,删除该顶点;
若是,则查看每个顶点的第二距离至第三距离范围内的模型投影区域的高度差是否大于第三阈值,若否,删除该顶点,若是,则保存该顶点至第二顶点集。
12.如权利要求7所述的顶点识别装置,其特征在于,所述第三顶点集生成模块具体被配置为:
初始化单元,被配置为将所述第二顶点集中的所有顶点标记为有效,取i、j的初始值为1,其中,所述第二顶点集包括m个顶点;
第一判断单元,被配置为判断i是否大于m,若是,执行第三顶点集生成单元,若否,执行第二判断单元;
第二判断单元,被配置为判断第i个顶点是否标记为有效,若否,执行第一自增单元,若是,执行第三判断单元;
第一自增单元,被配置为将i=i+1,执行第一判断单元;
第三判断单元,被配置为判断j是否大于m,若是,执行自增单元,若否,执行第四判断单元;
第四判断单元,被配置为判断j是否等于i,若是,执行第二自增单元,若否,执行第五判断单元;
第五判断单元,被配置为判断第j个顶点是否标记为有效,若是,执行第六判断单元,若否,执行第二自增单元;
第二自增单元,被配置为将j=j+1,执行第三判断单元;
第六判断单元,被配置为计算第i个顶点和第j个顶点的水平距离和竖直距离,判断所述水平距离是否大于距离阈值,若是,执行第二自增单元,若否,执行第七判断单元;
第七判断单元,被配置为判断所述第i个顶点和第j个顶点的竖直距离是否大于0,若是,执行第一标记单元,若否,执行第二标记单元;
第一标记单元,被配置为将第j个顶点标记为无效,执行第二自增单元;
第二标记单元,被配置为将第i个顶点标记为无效,执行第一自增单元;
第三顶点集生成单元,被配置为删除标记为无效的顶点,将标记为有效的顶点生成第三顶点集。
13.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述指令时实现权利要求1-6任意一项所述顶点识别方法的步骤。
14.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1-6任意一项所述顶点识别方法的步骤。
CN201910601077.7A 2019-07-04 2019-07-04 一种三维场景中的顶点识别方法及装置 Active CN110310354B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910601077.7A CN110310354B (zh) 2019-07-04 2019-07-04 一种三维场景中的顶点识别方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910601077.7A CN110310354B (zh) 2019-07-04 2019-07-04 一种三维场景中的顶点识别方法及装置

Publications (2)

Publication Number Publication Date
CN110310354A true CN110310354A (zh) 2019-10-08
CN110310354B CN110310354B (zh) 2023-03-24

Family

ID=68079565

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910601077.7A Active CN110310354B (zh) 2019-07-04 2019-07-04 一种三维场景中的顶点识别方法及装置

Country Status (1)

Country Link
CN (1) CN110310354B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112516596A (zh) * 2020-12-24 2021-03-19 上海米哈游网络科技股份有限公司 一种三维场景生成方法、装置、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070057945A1 (en) * 2005-09-15 2007-03-15 Olson Eric S Method of rendering a surface from a solid graphical image
US20120032962A1 (en) * 2010-08-09 2012-02-09 Verizon Patent And Licensing Inc. Polyline vertex reduction
CN105336003A (zh) * 2015-09-28 2016-02-17 中国人民解放军空军航空大学 结合gpu技术实时流畅绘制出三维地形模型的方法
CN108579082A (zh) * 2018-04-27 2018-09-28 网易(杭州)网络有限公司 游戏中显示光影的方法、装置和终端

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070057945A1 (en) * 2005-09-15 2007-03-15 Olson Eric S Method of rendering a surface from a solid graphical image
US20120032962A1 (en) * 2010-08-09 2012-02-09 Verizon Patent And Licensing Inc. Polyline vertex reduction
CN105336003A (zh) * 2015-09-28 2016-02-17 中国人民解放军空军航空大学 结合gpu技术实时流畅绘制出三维地形模型的方法
CN108579082A (zh) * 2018-04-27 2018-09-28 网易(杭州)网络有限公司 游戏中显示光影的方法、装置和终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张桀宁等: "一种基于顶点纹理的LOD地形渲染算法", 《系统仿真学报》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112516596A (zh) * 2020-12-24 2021-03-19 上海米哈游网络科技股份有限公司 一种三维场景生成方法、装置、设备和存储介质
CN112516596B (zh) * 2020-12-24 2024-02-06 上海米哈游网络科技股份有限公司 一种三维场景生成方法、装置、设备和存储介质

Also Published As

Publication number Publication date
CN110310354B (zh) 2023-03-24

Similar Documents

Publication Publication Date Title
CN109934914A (zh) 一种嵌入式城市设计场景仿真方法及系统
CN105026888B (zh) 移动装置定位
CN111008422A (zh) 一种建筑物实景地图制作方法及系统
CN112985413B (zh) 基于改进a*算法的景区路径规划方法及装置
CN107223269A (zh) 三维场景定位方法和装置
CN109949693A (zh) 一种地图绘制方法、装置、计算设备及存储介质
CN108320323A (zh) 一种建筑物三维建模方法及装置
CN104239431B (zh) 三维gis模型显示方法及装置
CN112287913B (zh) 一种鱼类视频识别的智能监管系统
CN110163087A (zh) 一种人脸姿态识别方法及系统
CN111798562B (zh) 一种虚拟建筑空间搭建与漫游方法
CN112587921B (zh) 模型处理方法和装置、电子设备和存储介质
CN107291223A (zh) 一种超大数据量虚拟现实空间信息可视化系统及方法
CN109816792A (zh) 一种三维场景中的定位方法及装置
CN115937439A (zh) 城市建筑三维模型的构建方法、装置及电子设备
CN106658538B (zh) 一种基于泰森多边形的手机基站信号覆盖范围模拟方法
CN111915710A (zh) 基于实时渲染技术的建筑渲染方法
CN111159420B (zh) 一种基于属性计算与知识模板的实体优化方法
CN110310354A (zh) 一种三维场景中的顶点识别方法及装置
US20170329803A1 (en) Method and device for image loading
CN105677843B (zh) 一种自动获取宗地四至属性的方法
CN110019625A (zh) 文本标准地址空间化方法和装置、计算机可读存储介质
CN112381924A (zh) 一种基于三维建模获取仿真货品陈列信息的方法及系统
CN110009749A (zh) 一种虚拟对象定位方法、装置、计算设备及存储介质
CN110162362A (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
CB02 Change of applicant information

Address after: 519000 Room 102, 202, 302 and 402, No. 325, Qiandao Ring Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province, Room 102 and 202, No. 327 and Room 302, No. 329

Applicant after: Zhuhai Jinshan Digital Network Technology Co.,Ltd.

Address before: 519000 Room 102, 202, 302 and 402, No. 325, Qiandao Ring Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province, Room 102 and 202, No. 327 and Room 302, No. 329

Applicant before: ZHUHAI KINGSOFT ONLINE GAME TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant