CN112509136A - 基于球坐标图元映射的模型压缩与碰撞检测方法 - Google Patents

基于球坐标图元映射的模型压缩与碰撞检测方法 Download PDF

Info

Publication number
CN112509136A
CN112509136A CN202011377789.4A CN202011377789A CN112509136A CN 112509136 A CN112509136 A CN 112509136A CN 202011377789 A CN202011377789 A CN 202011377789A CN 112509136 A CN112509136 A CN 112509136A
Authority
CN
China
Prior art keywords
texture
point
model
collision detection
origin
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
CN202011377789.4A
Other languages
English (en)
Other versions
CN112509136B (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.)
Jiangsu University of Technology
Original Assignee
Jiangsu University of Technology
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 Jiangsu University of Technology filed Critical Jiangsu University of Technology
Priority to CN202011377789.4A priority Critical patent/CN112509136B/zh
Publication of CN112509136A publication Critical patent/CN112509136A/zh
Application granted granted Critical
Publication of CN112509136B publication Critical patent/CN112509136B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • 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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T90/00Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

本发明提供了一种基于球坐标图元映射的模型压缩与碰撞检测方法,采用将图元映射至球坐标系的方法压缩复杂模型,以加速碰撞检测。该模型压缩与碰撞检测方法中包括:在模型中选定一点作为原点,建立局部直角坐标系,并构建相应球坐标系,将原直角坐标转化为球坐标系中坐标,以球坐标系中方位角与仰角作为二维纹理的坐标轴,将三维虚拟物体模型上的点与原点距离记录至纹理中。在处理碰撞检测时,将待碰撞检测目标中的直线映射至球坐标系中,取对应纹理中模型上点与原点的距离,并与直线在该方向与原点距离对比,以判断是否存在碰撞。

Description

基于球坐标图元映射的模型压缩与碰撞检测方法
技术领域
本发明涉及计算机图形学物理模拟领域,尤其涉及一种基于球坐标图元映射的模型压缩与碰撞检测方法。
背景技术
碰撞检测是一种检测多个模型之间相交关系的技术手段,用于在物理现象模拟前判断多个模型间存在的关系。碰撞检测主要分为离散碰撞检测与连续碰撞检测,实时渲染领域中主要需应用离散碰撞检测,其加速手段主要为包围盒与空间分割。
空间分割法指将空间中物体分割至多个不同区域,在各区域中分别进行碰撞检测,以提高算法并行度进而加速碰撞检测过程,主要有四叉树、BSP、八叉树、kd-tree等算法。在执行碰撞检测时,通过排除直线未经过区域,以达到减少进行碰撞检测对象的目的,最终加速碰撞检测。虽然空间分割层数越多,可筛去图元越多,碰撞检测速度越快,但是存在初始化时间长,空间复杂度高,新图元插入时耗随层数增加的缺陷。
包围盒指用四边形、圆、三角形等基本几何图元将复杂模型轮廓化简,通过减少需计算的图元数量,达到加速碰撞检测的目的。目前,较常使用的包围盒算法包括轴向对齐包围盒、包围球、轴向胶囊包围盒、有向包围盒等。单层简单图元包围盒存在精度较低的缺陷;与此相对有层次包围盒,其除最外层包围盒外内侧再次细分多个更小的包围盒,进行多层的碰撞检测,虽然能在保证速度的前提下提升精度,但其空间复杂度极高,并且算法逻辑复杂,不易于实现。
发明内容
针对上述问题,本发明提供了一种基于球坐标图元映射的模型压缩与碰撞检测方法,有效减少了碰撞检测的运行时性能开销,并且与现有的包围盒与空间分割技术并不冲突,可结合使用。
本发明提供的技术方案如下:
一种基于球坐标图元映射的模型压缩与碰撞检测方法,应用于三维虚拟物体物理模拟场景中,包括模型建立、模型压缩及碰撞检测三个过程,其中,
模型建立:根据需要执行碰撞检测物体的相关属性,创建三维虚拟物体模型;
模型压缩:模型压缩为预处理步骤,对于任意一个三维虚拟物体模型,从中选定一点作为坐标原点,建立局部直角坐标系,并构建相应的球坐标系,将原直角坐标系坐标转化为球坐标系中坐标,以球坐标系中方位角与仰角作为二维纹理的坐标轴,将几何模型上的点与局部坐标原点之间的距离记录至纹理中;
碰撞检测:某一特定三维虚拟物体模型与待进行碰撞检测目标的碰撞检测过程为:按照预设规则从待碰撞检测目标中选定一直线,将该直线映射至球坐标系中,取对应纹理中三维虚拟物体模型上的点与坐标原点之间的距离,并与待碰撞检测目标中的直线在该方向上与坐标原点之间的距离对比,以判断选定的该直线与三维虚拟物体模型是否存在碰撞,直到待碰撞检测目标中所有需进行处理的直线均完成与三维虚拟物体模型的碰撞检测。
本发明提供的基于球坐标图元映射的模型压缩与碰撞检测方法,在模型压缩中选定一点作为原点,建立局部直角坐标系,并构建相应球坐标系,将原直角坐标化为球坐标系中坐标,以球坐标系中方位角与仰角作为二维纹理的坐标,并将几何模型上点与原点距离记录至纹理中。在处理碰撞检测时,将选定的直线映射至球坐标系中,取对应纹理中模型上点与坐标原点的距离,并与直线在该方向与原点距离对比,以判断是否存在碰撞。其采用将图元映射至球坐标系的方法压缩复杂模型,以加速碰撞检测。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对上述特性、技术特征、优点及其实现方式予以进一步说明。
图1为本发明模型压缩流程图;
图2为本发明三维虚拟物体模型预处理时计算各顶点与选定原点距离示意图;
图3为本发明预处理后纹理中图元存储示意图;
图4为本发明碰撞检测流程图;
图5为本发明顶点坐标系转换示意图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
本发明提供了一种基于球坐标图元映射的模型压缩与碰撞检测方法,可应用于三维虚拟物体物理模拟场景中,如虚拟现实、三维游戏、影视渲染等应用中,其通过对模型压缩后再进行碰撞检测,降低运行时的内存开销并提升计算速度。具体,该模型压缩与碰撞检测方法中包括模型建立、模型压缩及碰撞检测三个过程,其中,模型建立:根据需要执行碰撞检测物体的相关属性,创建三维虚拟物体模型;模型压缩:模型压缩为预处理步骤,对于任意一个三维虚拟物体模型,从中选定一点作为坐标原点,建立局部直角坐标系,并构建相应的球坐标系,将原直角坐标系坐标转化为球坐标系中坐标,以球坐标系中方位角与仰角作为二维纹理的坐标轴,将几何模型上的点与局部坐标原点之间的距离记录至纹理中;碰撞检测:某一特定三维虚拟物体模型与待进行碰撞检测目标的碰撞检测过程为,按照预设规则从待碰撞检测目标中选定一直线,将该直线映射至球坐标系中,取对应纹理中三维虚拟物体模型上的点与坐标原点之间的距离,并与待碰撞检测目标中的直线在该方向上与坐标原点之间的距离对比,以判断选定的该直线与三维虚拟物体模型是否存在碰撞,直到待碰撞检测目标中所有需进行处理的直线均完成与三维虚拟物体模型的碰撞检测。
对于模型建立过程,这里不做具体限定,可以选用现有任意的方法对待碰撞检测目标进行建模,得到相应的三维虚拟物体模型。另外,三维虚拟物体模型可以任意的图元构建而成,如,三角形图元、四边形图元等。
以下以三维虚拟物体模型由三角形图元构建为例,对模型压缩预处理过程和碰撞检测过程做出说明,其中,如图1所示,模型压缩过程包括:
S11在三维虚拟物体模型中选取一合适点作为模型局部坐标原点O。该坐标原点O可以为虚拟空间中任意点,包括但不限于三维虚拟物体模型的几何中心或质心,实际应用中可以根据需求进行选定。
S12依据碰撞检测精度建立一张大小合适的纹理textureA,并将纹理textureA中所有比特位的值初始化为0,以存储几何模型上各点映射后的纹理对应编号的标志位信息。这里碰撞检测精度同样可以根据实际应用需求进行选定,如离线渲染所要求的高画面质量时选用高精度,实时渲染需求高速计算时采用低精度。
S13遍历几何模型上所有图元,判断是否存在未处理图元,若不存在,结束压缩预处理操作,若存在,执行步骤S14到S19。
S14对于正在处理的图元,将其记为图元Pcurrent,并将图元Pcurrent各顶点坐标换算至球坐标系的坐标(θ,φ,r′),其中,r′为顶点与坐标原点O之间的距离,φ为方位角,θ为仰角,对应在纹理textureA上的坐标为
Figure BDA0002807591320000041
直角坐标系中,三角形图元所构建的模型中某一图元的三个顶点A、B和C与坐标原点O之间的位置关系如图2所示。
S15对图元Pcurrent覆盖范围内的各点在textureA中的取值,从最右侧一位开始向左寻找图元Pcurrent覆盖范围中所有对应比特位的值均为0的比特位i,并将图元Pcurrent在textureA上覆盖范围内所有数据的第i位赋值为1。这里,寻找到比特位i的条件为图元Pcurrent覆盖范围中所有对应比特位的值均为0,寻找到相应的比特位时,对其进行置位。
S16查询textureA中比特位i对应的存储图元信息的纹理i是否存在,若不存在,依据纹理textureA的精度创建纹理i。
S17判断图元Pcurrent各顶点在纹理textureA中的对应像素是否在一直线内,若是,纹理i需为双通道纹理并进行额外的存储计算,若不是,执行步骤S18到S19。
S18将图元各顶点与坐标原点O之间的距离r′记录至纹理i中点K的位置上,对图元Pcurrent中其他点在纹理中进行插值,并将插值结果记录至纹理i,直至图元Pcurrent所覆盖区域中所有距离均计算完毕(预处理后纹理中三角形图元存储如图3所示)。
S19跳转至步骤S13。
另外,在步骤S17判断图元Pcurrent各顶点在纹理textureA中的对应像素是否在一直线内中,若判断图元Pcurrent各顶点在纹理textureA中的对应像素在一直线内,则执行以下步骤将其存储至双通道纹理i中:
S21计算图元Pcurrent各顶点与坐标原点O之间的距离;
S22遍历图元Pcurrent中的每一条边,插值计算边上每一点与原点O的距离d,若纹理i中该点先前未存储采样值,则将纹理i中该点所在位置两通道值同时置为d,若不是,则执行步骤S23;
S23将当前采样点在纹理i中的采样值第一通道值记为rlow,第二通道值记为rhigh,若d<rlow,则用d替换rlow,若d>rhigh,则用d替换rhigh,跳转至步骤S22。
执行上述三维虚拟物体模型的模型压缩方案后,如图4所示,相应的碰撞检测过程包括:
S10将按照预设规则从待碰撞检测目标中选定的直线l的方程转换至以O为坐标原点的球坐标系方程λ,其中,λ是关于θ和φ的参数方程,坐标原点O为预处理中在三维虚拟物体模型中选取的点。这里,待碰撞检测目标可以为三维虚拟物体模型、光线、运动轨迹等,当待碰撞检测目标为一物体时,先依据三维虚拟物体模型的相对运动情况将该物体拆分为直线,之后根据预设规则选定直线l;当待碰撞检测目标为光线等射线时,对于每个独立的射线,先将其按照直线方式计算,后判断在相应情况下碰撞检测的合理性。
S20根据textureA长或宽对应的像素个数均分[0,1]之间所有值;遍历这些值,对于每个值将其记为α,并记θ=2π×α,由方程λ求得对应的φ,按照
Figure BDA0002807591320000051
于textureA中采样,对于获取的单个采样结果,即为一组对应图元信息的对应纹理的存储位置编号信息,并执行步骤S30到S50;若遍历结束,则程序结束,待碰撞检测目标中的直线l与三维虚拟物体模型的碰撞检测完成。
S30遍历步骤S20中所有获得的编号对应的纹理,记当前计算中的纹理为纹理i,并判断该纹理为单通道纹理还是双通道纹理,若该纹理为单通道纹理,则执行步骤S40,否则即为双通道纹理,执行步骤S50;
S40对纹理i按
Figure BDA0002807591320000052
采样,将结果记为图元在
Figure BDA0002807591320000053
方向上对应点至原点O的距离rsample,计算直线l在(θ,φ)方向上的点与原点O的距离r,若满足条件|r-rsample|<ε,则判定直线l在相应的点上产生碰撞,碰撞点为(θ,φ,r),其中,ε为预设的碰撞检测精度阈值;转到步骤S30;
S50对纹理i按
Figure BDA0002807591320000061
采样,记采样结果的第一通道数据为rlow,第二通道数据为rhigh,计算直线l在(θ,φ)方向上的点与原点O的距离r;若满足条件rlow≤r≤rhigh,则判定直线l在相应的点上产生碰撞,碰撞点为(θ,φ,r);转到步骤S30。
其中,在步骤S10中,将待碰撞检测目标中的直线l的方程转换至以O为坐标原点的球坐标系方程λ中,包括:
S31在直线l上任取不重叠的两点,转换至以点O为坐标原点的局部坐标系下,转换后坐标记为(x1,y1,z1)、(x2,y2,z2),得到待碰撞检测目标中的直线l转换后方程,如式(1):
Figure BDA0002807591320000062
S32将步骤S31中得到的直线方程带入直角坐标系至球坐标系转换公式(坐标转换如图5所示),如式(2):
Figure BDA0002807591320000063
得到球坐标方程λ的最终表达式,如式(3):
Figure BDA0002807591320000064
其中,k表示直线l上任意一点在单个坐标轴方向上到定点距离的量度,可以为任意实数。
以从待碰撞检测目标中选定的直线l与某一特定三维虚拟物体模型是否存在碰撞的检测步骤,在整个碰撞检测过程中,根据该检测步骤进行循环,直到待碰撞检测目标中所有需进行处理的直线均完成与三维虚拟物体模型的碰撞检测。对于直线l的选定规则,可以根据实际情况进行选定,如,以一实例中,按照两个三维虚拟物体模型的相对运动方向,对三维虚拟物体模型进行拆分,进而根据拆分得到的直线(考虑与三维虚拟物体模型之间的距离、方位等因素)依次进行选定。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的程序模块完成,即将软件的内部结构划分成不同的程序单元或模块,以完成以上描述的全部或者部分功能。实施例中的各程序模块可以集成在一个处理单元中,也可是各个单元单独存在,也可以两个或两个以上单元集成在一个处理单元中。另外,各程序模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述或记载的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以计算机软件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露方法,可以通过其他的方式实现。例如,以上所描述的实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
作为分离部件说明的单元可以是或者也可以不是逻辑上分开的,作为单元显示的部件可以是或者也可以不是逻辑单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
应当说明的是,上述实施例均可根据需要自由组合。以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通相关人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (6)

1.一种基于球坐标图元映射的模型压缩与碰撞检测方法,其特征在于,应用于三维虚拟物体物理模拟场景中,包括模型建立、模型压缩及碰撞检测三个过程,其中,
模型建立:根据需要执行碰撞检测物体的相关属性,创建三维虚拟物体模型;
模型压缩:模型压缩为预处理步骤,对于任意一个三维虚拟物体模型,从中选定一点作为坐标原点,建立局部直角坐标系,并构建相应的球坐标系,将原直角坐标系坐标转化为球坐标系中坐标,以球坐标系中方位角与仰角作为二维纹理的坐标轴,将几何模型上的点与局部坐标原点之间的距离记录至纹理中;
碰撞检测:某一特定三维虚拟物体模型与待进行碰撞检测目标的碰撞检测过程为:按照预设规则从待碰撞检测目标中选定一直线,将该直线映射至球坐标系中,取对应纹理中三维虚拟物体模型上的点与坐标原点之间的距离,并与待碰撞检测目标中的直线在该方向上与坐标原点之间的距离对比,以判断选定的该直线与三维虚拟物体模型是否存在碰撞,直到待碰撞检测目标中所有需进行处理的直线均完成与三维虚拟物体模型的碰撞检测。
2.如权利要求1所述的碰撞检测方法,其特征在于,所述三维虚拟物体模型由三角形图元构建而成,其模型压缩预处理过程包括:
S11在三维虚拟物体模型中选取一合适点作为模型局部坐标原点O;
S12依据碰撞检测精度建立一张大小合适的纹理textureA,并将纹理textureA中所有比特位的值初始化为0,以存储几何模型上各点映射后的纹理对应编号的标志位信息;
S13遍历几何模型上所有图元,判断是否存在未处理图元,若不存在,结束压缩预处理操作,若存在,执行步骤S14到S19;
S14对于正在处理的图元,将其记为图元Pcurrent,并将图元Pcurrent各顶点坐标换算至球坐标系的坐标(θ,φ,r′),其中,r′为顶点与坐标原点O之间的距离,φ为方位角,θ为仰角,对应在纹理textureA上的坐标为
Figure FDA0002807591310000011
S15对图元Pcurrent覆盖范围内的各点在textureA中的取值,从最右侧一位开始向左寻找图元Pcurrent覆盖范围中所有对应比特位的值均为0的比特位i,并将图元Pcurrent在textureA上覆盖范围内所有数据的第i位赋值为1;
S16查询textureA中比特位i对应的存储图元信息的纹理i是否存在,若不存在,依据纹理textureA的精度创建纹理i;
S17判断图元Pcurrent各顶点在纹理textureA中的对应像素是否在一直线内,若是,纹理i需为双通道纹理并进行额外的存储计算,若不是,执行步骤S18到S19;
S18将图元各顶点与坐标原点O之间的距离r′记录至纹理i中点K的位置上,对图元Pcurrent中其他点在纹理中进行插值,并将插值结果记录至纹理i,直至图元Pcurrent所覆盖区域中所有距离均计算完毕;
S19跳转至步骤S13。
3.如权利要求2所述的模型压缩与碰撞检测方法,其特征在于,在步骤S17判断图元Pcurrent各顶点在纹理textureA中的对应像素是否在一直线内中,若判断图元Pcurrent各顶点在纹理textureA中的对应像素在一直线内,则执行以下步骤将其存储至双通道纹理i中:
S21计算图元Pcurrent各顶点与坐标原点O之间的距离;
S22遍历图元Pcurrent中的每一条边,插值计算边上每一点与原点O的距离d,若纹理i中该点先前未存储采样值,则将纹理i中该点所在位置两通道值同时置为d,若不是,则执行步骤S23;
S23将当前采样点在纹理i中的采样值第一通道值记为rlow,第二通道值记为rhigh,若d<rlow,则用d替换rlow,若d>rhigh,则用d替换rhigh,跳转至步骤S22。
4.如权利要求1-3任意一项所述的模型压缩与碰撞检测方法,其特征在于,对于使用三角形为图元构建的三维虚拟物体模型,经过模型压缩预处理后,其碰撞检测包括:
S10将按照预设规则从待碰撞检测目标中选定的直线l的方程转换至以O为坐标原点的球坐标系方程λ,其中,λ是关于θ和φ的参数方程,所述坐标原点O为预处理中在三维虚拟物体模型中选取的点;
S20根据textureA长或宽对应的像素个数均分[0,1]之间所有值;遍历这些值,对于每个值将其记为α,并记θ=2π×α,由方程λ求得对应的φ,按照
Figure FDA0002807591310000021
于textureA中采样,对于获取的单个采样结果,即为一组对应图元信息的对应纹理的存储位置编号信息,并执行步骤S30到S50;若遍历结束,则程序结束,待碰撞检测目标中的直线l与三维虚拟物体模型的碰撞检测完成;
S30遍历步骤S20中所有获得的编号对应的纹理,记当前计算中的纹理为纹理i,并判断该纹理为单通道纹理还是双通道纹理,若该纹理为单通道纹理,则执行步骤S40,否则即为双通道纹理,执行步骤S50;
S40对纹理i按
Figure FDA0002807591310000031
采样,将结果记为图元在
Figure FDA0002807591310000032
方向上对应点至原点O的距离rsample,计算直线l在(θ,φ)方向上的点与原点O的距离r,若满足条件|r-rsample|<ε,则判定直线l在相应的点上产生碰撞,碰撞点为(θ,φ,r),其中,ε为预设的碰撞检测精度阈值;转到步骤S30;
S50对纹理i按
Figure FDA0002807591310000033
采样,记采样结果的第一通道数据为rlow,第二通道数据为rhigh,计算直线l在(θ,φ)方向上的点与原点O的距离r;若满足条件rlow≤r≤rhigh,则判定直线l在相应的点上产生碰撞,碰撞点为(θ,φ,r);转到步骤S30。
5.如权利要求1-4任意一项所述的模型压缩与碰撞检测方法,其特征在于,所述坐标原点O可以为虚拟空间中任意点,包括三维虚拟物体模型的几何中心或质心。
6.如权利要求4中所述的模型压缩与碰撞检测方法,其特征在于,在步骤S10中,将待碰撞检测目标中的直线l的方程转换至以O为坐标原点的球坐标系方程λ中,包括:
S31在直线l上任取不重叠的两点,转换至以点O为坐标原点的局部坐标系下,转换后坐标记为(x1,y1,z1)、(x2,y2,z2),得到待碰撞检测目标中的直线l转换后方程:
Figure FDA0002807591310000034
S32将步骤S31中得到的直线方程带入直角坐标系至球坐标系转换公式:
Figure FDA0002807591310000041
得到球坐标方程λ的最终表达式:
Figure FDA0002807591310000042
其中,k表示直线l上任意一点在单个坐标轴方向上到定点距离的量度,可以为任意实数。
CN202011377789.4A 2020-11-30 2020-11-30 基于球坐标图元映射的模型压缩与碰撞检测方法 Active CN112509136B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011377789.4A CN112509136B (zh) 2020-11-30 2020-11-30 基于球坐标图元映射的模型压缩与碰撞检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011377789.4A CN112509136B (zh) 2020-11-30 2020-11-30 基于球坐标图元映射的模型压缩与碰撞检测方法

Publications (2)

Publication Number Publication Date
CN112509136A true CN112509136A (zh) 2021-03-16
CN112509136B CN112509136B (zh) 2023-06-23

Family

ID=74968549

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011377789.4A Active CN112509136B (zh) 2020-11-30 2020-11-30 基于球坐标图元映射的模型压缩与碰撞检测方法

Country Status (1)

Country Link
CN (1) CN112509136B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101101673A (zh) * 2007-06-29 2008-01-09 中国科学院计算技术研究所 一种动物体模型层次划分方法
CN101593364A (zh) * 2009-06-25 2009-12-02 北京航空航天大学 一种基于椭球体扫描的连续碰撞检测方法
CN101860384A (zh) * 2010-04-23 2010-10-13 北京航空航天大学 一种短波射线追踪技术中的电离层混合建模方法
CN101947385A (zh) * 2010-10-12 2011-01-19 刘铮 在斯诺克运动中获取台球碰撞关系和完整运动轨迹的方法
CN104200031A (zh) * 2014-09-04 2014-12-10 大连大学 一种基于距离优先和时空相关性的碰撞检测方法
CN105469406A (zh) * 2015-11-30 2016-04-06 东北大学 一种基于包围盒与空间划分的虚拟物体碰撞检测方法
CN107290734A (zh) * 2017-08-22 2017-10-24 北京航空航天大学 一种基于自制地基激光雷达垂直度误差的点云误差校正方法
CN108090965A (zh) * 2017-11-30 2018-05-29 长江空间信息技术工程有限公司(武汉) 支持海量空间数据的3d漫游碰撞检测方法
US10205457B1 (en) * 2018-06-01 2019-02-12 Yekutiel Josefsberg RADAR target detection system for autonomous vehicles with ultra lowphase noise frequency synthesizer
CN109839633A (zh) * 2019-03-08 2019-06-04 电子科技大学 基于最小覆盖空域的机载预警雷达的多帧检测前跟踪方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101101673A (zh) * 2007-06-29 2008-01-09 中国科学院计算技术研究所 一种动物体模型层次划分方法
CN101593364A (zh) * 2009-06-25 2009-12-02 北京航空航天大学 一种基于椭球体扫描的连续碰撞检测方法
CN101860384A (zh) * 2010-04-23 2010-10-13 北京航空航天大学 一种短波射线追踪技术中的电离层混合建模方法
CN101947385A (zh) * 2010-10-12 2011-01-19 刘铮 在斯诺克运动中获取台球碰撞关系和完整运动轨迹的方法
CN104200031A (zh) * 2014-09-04 2014-12-10 大连大学 一种基于距离优先和时空相关性的碰撞检测方法
CN105469406A (zh) * 2015-11-30 2016-04-06 东北大学 一种基于包围盒与空间划分的虚拟物体碰撞检测方法
CN107290734A (zh) * 2017-08-22 2017-10-24 北京航空航天大学 一种基于自制地基激光雷达垂直度误差的点云误差校正方法
CN108090965A (zh) * 2017-11-30 2018-05-29 长江空间信息技术工程有限公司(武汉) 支持海量空间数据的3d漫游碰撞检测方法
US10205457B1 (en) * 2018-06-01 2019-02-12 Yekutiel Josefsberg RADAR target detection system for autonomous vehicles with ultra lowphase noise frequency synthesizer
CN109839633A (zh) * 2019-03-08 2019-06-04 电子科技大学 基于最小覆盖空域的机载预警雷达的多帧检测前跟踪方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
袁斌等: "基于球和线段Minkowski和的碰撞检测研究", 《制造业自动化》 *
邹刘磊等: "一种空间数据结构加速的顶点与地形实时交互算法", 《江苏理工学院学报》 *

Also Published As

Publication number Publication date
CN112509136B (zh) 2023-06-23

Similar Documents

Publication Publication Date Title
JP3840150B2 (ja) 3次元客体およびアニメートされた3次元客体のイメージベースの表現とレンダリング方法
US7760932B2 (en) Method for reconstructing three-dimensional structure using silhouette information in two-dimensional image
US20060066612A1 (en) Method and system for real time image rendering
US20100156901A1 (en) Method and apparatus for reconstructing 3d model
JP2002520749A (ja) 完全にテクスチャリングされた3次元モデルを発生する方法及びシステム
CN105678683A (zh) 一种三维模型的二维存储方法
JP2003077004A (ja) 3次元の静止した又は動くオブジェクトの階層イメージベース表現並びに該表現をオブジェクトのレンダリングに使用する方法及び装置
Holzmann et al. Semantically aware urban 3d reconstruction with plane-based regularization
CN101714258B (zh) 图形处理系统
JP4429461B2 (ja) 画像処理装置、平面検出方法、及び平面検出プログラムを記録した記録媒体
Kawasaki et al. Microfacet billboarding
CN112419372B (zh) 图像处理方法、装置、电子设备及存储介质
CN111798453A (zh) 用于无人驾驶辅助定位的点云配准方法及其系统
CN115601430A (zh) 基于关键点映射的无纹理高反物体位姿估计方法及系统
US20030043148A1 (en) Method for accelerated triangle occlusion culling
Gu et al. Silhouette mapping
CN116402936A (zh) 一种基于八叉树的透明渲染复杂场景深度估计方法和装置
US11423618B2 (en) Image generation system and method
JP2002352254A (ja) グラフィックスモデルを表す複数のポリゴンを含むメッシュをレンダリングする方法
US11348261B2 (en) Method for processing three-dimensional point cloud data
CN112509136B (zh) 基于球坐标图元映射的模型压缩与碰撞检测方法
CN113592976B (zh) 地图数据的处理方法、装置、家用电器和可读存储介质
JP2001067495A (ja) 三角形メッシュの生成方法、装置及び記録媒体
CN116958377A (zh) 三维模型纹理映射方法、装置和计算机设备
CN114387351A (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