碰撞检测
简述碰撞检测的原理及应用

简述碰撞检测的原理及应用1. 碰撞检测的概念和定义•碰撞检测是计算机图形学和物理模拟领域中的一个重要技术。
•它用于判断两个或多个物体是否发生碰撞,以及计算碰撞的位置、法向量、碰撞反应等信息。
•在计算机游戏、虚拟现实、物理仿真、机器人等领域都有广泛的应用。
2.碰撞检测的原理•碰撞检测的原理可以分为离散和连续两种方法。
2.1 离散碰撞检测•离散碰撞检测是通过检查物体的离散位置来判断是否发生碰撞。
•其中最简单的方法是包围盒碰撞检测,即将物体用最小立方体包围起来,通过检测这些包围盒的位置关系来判断是否碰撞。
•还有其他的离散碰撞检测算法,如分离轴定理、包围球碰撞检测等。
2.2 连续碰撞检测•连续碰撞检测是通过检查物体在连续时间间隔内的运动轨迹来判断是否发生碰撞。
•常用的连续碰撞检测算法有扫描线法、时间步进法、线性插值法等。
3.碰撞检测的应用•碰撞检测在游戏开发中起着至关重要的作用。
•在游戏中,碰撞检测可以用于角色与障碍物的碰撞、子弹与敌人的碰撞、玩家与玩家之间的碰撞等等。
•此外,在虚拟现实和物理仿真领域中,碰撞检测也被广泛应用,例如模拟物理碰撞、机器人路径规划等。
4. 碰撞检测的优化方法•碰撞检测是一个计算复杂度相对较高的任务,为了提高碰撞检测的效率,可以采用一些优化方法。
•一种常用的优化方法是空间分割结构,如包围盒层次、八叉树、四叉树等,用于减少碰撞检测的计算量。
•另外还可以采用粗略检测和细致检测相结合的方法,即首先进行快速的粗略检测,再对可能发生碰撞的物体进行细致的检测。
5. 碰撞检测的发展趋势•随着计算机硬件的不断发展和计算能力的增强,碰撞检测的技术也在不断进步。
•目前很多游戏引擎已经集成了强大的碰撞检测功能,如Unity3D、Unreal Engine等。
•同时,机器学习和深度学习等人工智能技术的发展也为碰撞检测提供了新的思路和方法。
结论•碰撞检测作为计算机图形学和物理模拟领域中的重要技术,具有广泛的应用前景。
《2024年三维场景中碰撞检测技术的研究》范文

《三维场景中碰撞检测技术的研究》篇一一、引言随着三维技术的飞速发展,三维场景在众多领域如游戏开发、虚拟现实、机器人技术等中扮演着至关重要的角色。
在三维场景中,碰撞检测技术是一项核心且基础的技术,其直接影响到虚拟世界中物体运动的真实性和交互性。
本文将重点探讨三维场景中碰撞检测技术的研究,从其基本原理到最新的发展动态进行深入分析。
二、碰撞检测技术的基本原理碰撞检测技术是指在三维场景中,通过算法对物体之间的空间位置关系进行计算,判断物体之间是否发生碰撞的过程。
其基本原理主要包括以下几步:1. 空间划分:将三维空间划分为多个子空间,每个子空间内的物体互不干扰。
这样可以大大减少碰撞检测的复杂度。
2. 物体建模:对场景中的物体进行建模,包括几何形状、物理属性等。
这是进行碰撞检测的基础。
3. 空间位置计算:通过算法计算物体在三维空间中的位置和运动轨迹。
4. 碰撞判断:根据空间位置计算的结果,判断物体之间是否发生碰撞。
三、常见的碰撞检测技术根据不同的应用场景和需求,常见的碰撞检测技术包括以下几种:1. 边界框法:通过计算物体的边界框,判断两个物体的边界框是否相交,从而判断是否发生碰撞。
该方法简单快速,但精度较低。
2. 特征形状法:根据物体的特征形状进行碰撞检测,如使用点、线、面等特征进行判断。
该方法精度较高,但计算复杂度较大。
3. 空间网格法:将三维空间划分为网格,将物体置于网格中,通过判断网格的交集来判断物体是否发生碰撞。
该方法在精度和计算复杂度之间取得较好的平衡。
四、最新的发展动态近年来,随着深度学习和机器视觉等技术的发展,碰撞检测技术在三维场景中的应用也取得了重要进展。
其中包括基于深度学习的物体识别和姿态估计技术,以及基于机器视觉的三维重建和运动跟踪技术等。
这些技术可以提高碰撞检测的精度和效率,使虚拟世界中的物体运动更加真实和自然。
五、未来展望未来,随着三维技术的进一步发展,碰撞检测技术将面临更多的挑战和机遇。
碰撞检测算法研究综述

碰撞检测算法研究综述
碰撞检测是计算机图形学、游戏开发、机器人学等领域中的一个重要问题。
它的目的是确定两个或多个物体是否在空间中发生了碰撞,并计算碰撞的位置和碰撞力等信息。
碰撞检测算法可以分为两大类:离散碰撞检测和连续碰撞检测。
离散碰撞检测算法将物体表示为一组多边形,并通过比较多边形的顶点来判断是否发生碰撞。
这种方法简单易实现,但是精度较低,难以处理复杂的形状和运动。
连续碰撞检测算法则将物体表示为一个数学模型,如球体、胶囊体、凸包等,并通过计算模型之间的距离和夹角来判断是否发生碰撞。
这种方法精度较高,但是计算复杂度较高,难以处理大规模的场景。
此外,还有一些基于物理引擎的碰撞检测算法,它们基于物体的物理特性来计算碰撞,如动量守恒、能量守恒等。
这些算法可以更准确地模拟物体的碰撞行为,但是需要对物体的物理特性有深入的了解。
在实际应用中,选择合适的碰撞检测算法需要考虑多个因素,如场景的复杂程度、物体的形状和运动、计算效率和精度等。
近年来,随着计算机硬件技术的发展,碰撞检测算法的效率和精度都得到了显著提高,并在许多领域得到了广泛应用。
总的来说,碰撞检测算法是计算机图形学、游戏开发、机器人学等领域中的一个重要问题,需要不断地进行研究和改进。
BIM工程师的碰撞检测和冲突解决技巧

BIM工程师的碰撞检测和冲突解决技巧随着建筑行业的不断发展和科技的进步,建筑信息模型(Building Information Modeling, BIM)正逐渐成为项目设计和施工管理的标准工具。
作为一名BIM工程师,在项目的不同阶段,碰撞检测和冲突解决是你日常工作中不可或缺的任务。
碰撞检测是指通过BIM软件的功能,检查建筑模型中的物体之间是否存在重叠或相互干涉的情况。
碰撞检测可以帮助发现可能影响建筑结构、机电设备以及管道布局等的问题,并提供解决方案。
下面将介绍几种常用的碰撞检测和冲突解决技巧,帮助BIM工程师更好地完成任务。
首先,在进行碰撞检测之前,你需要清楚地了解项目的需求和设计规范。
这包括了解项目的用途、构造类型以及各个阶段的设计要求等。
只有对项目有深入了解,才能更准确地进行碰撞检测和解决冲突。
其次,掌握BIM软件中的碰撞检测工具。
各种BIM软件都提供了碰撞检测工具,如Revit、Navisworks等。
你需要熟练掌握这些工具的使用方法,并了解其功能以及如何优化检测结果。
例如,可以通过设置过滤器和检测规则,确定需要关注的物体类型,减少不必要的干扰。
另外,要注意在模型构建过程中维持模型的一致性和准确性。
在不同阶段或不同团队之间,进行模型的合并和协调。
确保各个模型之间的连续性和正确性,减少碰撞检测中的误报和遗漏。
这可以通过在模型构建中使用标准构件库和建模规范,以及定期的模型协调会议来实现。
在进行碰撞检测时,根据项目需求和优先级,合理设置碰撞检测的范围和细节级别。
对于大型复杂项目,可以按照系统、楼层或空间等进行分组,并设置检测的优先级。
在工作量较大时,可以先进行全模型的粗略检测,然后逐步细化和优化检测的范围和结果。
当发现碰撞冲突时,及时采取解决措施是至关重要的。
你可以与相关设计师、施工团队和顾问进行协商和讨论,制定解决方案。
一种常用的解决方法是通过模型的调整或重新设计来消除冲突。
当解决方案达成一致后,及时更新模型并进行确认。
碰撞检测的原理及应用

碰撞检测的原理及应用1. 碰撞检测的概述碰撞检测是一项在计算机图形学、物理仿真、游戏开发等领域广泛应用的技术。
它的主要目的是为了判断两个或多个物体是否发生碰撞,以此来模拟真实世界中的物理规律。
碰撞检测可以用于实现物体间的交互、碰撞反应以及处理碰撞后的动作。
2. 碰撞检测的原理碰撞检测的基本原理是通过判断两个或多个物体的边界是否相交来确定是否发生碰撞。
常见的碰撞检测算法包括包围盒检测、精确碰撞检测等。
2.1 包围盒检测包围盒检测是碰撞检测中最简单和高效的一种方法。
它将物体看作是一个能够包围其边界的矩形框或球体,在进行碰撞检测时,只需要比较包围盒之间是否相交即可。
包围盒检测的优点是计算速度快,适用于大部分场景,但精度较低。
2.2 精确碰撞检测精确碰撞检测是一种更为准确的碰撞检测方法,它通过对物体的几何形状进行分析,计算出物体的碰撞点、碰撞面等信息。
常见的精确碰撞检测算法有光线投射、多边形碰撞、凸包碰撞等。
精确碰撞检测的优点是精度高,适用于复杂的场景,但计算量较大。
3. 碰撞检测的应用碰撞检测在各个领域有着广泛的应用。
以下是其中的几个例子:3.1 计算机游戏在计算机游戏中,碰撞检测用于处理角色间的碰撞、子弹与物体的碰撞、障碍物的碰撞等。
通过碰撞检测,游戏可以实现真实的物理效果,增加游戏的可玩性和真实感。
3.2 虚拟现实碰撞检测在虚拟现实中也有重要的应用。
通过检测用户与虚拟物体之间的碰撞,可以实现用户与虚拟世界的交互,提高虚拟现实的沉浸感。
3.3 工程建模在工程建模领域,碰撞检测可以用于模拟物体之间的碰撞情况,比如机械装配、构件安装等。
通过检测碰撞情况,可以预测错误、优化设计,提高工程效率。
3.4 交通仿真碰撞检测在交通仿真领域也有重要的应用。
通过检测车辆之间的碰撞,可以预测交通事故的发生情况,为交通规划和设计提供重要参考。
4. 总结碰撞检测作为一项重要的技术,可以实现物体间的交互、模拟真实世界中的物理规律,并在计算机游戏、虚拟现实、工程建模、交通仿真等领域发挥重要作用。
装配式建筑施工中的碰撞检测及预防方法

装配式建筑施工中的碰撞检测及预防方法概述:随着社会的发展和建筑业的快速发展,装配式建筑在世界范围内得到了广泛应用。
然而,在装配式建筑施工过程中,由于构件数量庞大、操作空间狭窄等特殊性质,碰撞事故时有发生。
为确保施工安全和提高生产效率,采取合适的碰撞检测及预防方法势在必行。
一、碰撞检测技术现代技术的进步使得碰撞检测变得更加准确和可靠。
下面我们将介绍常用的碰撞检测技术:1. 传感器技术传感器通过实时监测设备位置来实现对可能发生碰撞的构件进行预警。
其中,最常见的是激光雷达传感器和红外线传感器。
激光雷达传感器可以扫描量测周围环境,并判断是否存在障碍物;红外线传感器则可以通过辐射与接收端之间是否存在物体来判断可能发生碰撞。
2. 视觉识别技术利用计算机视觉和图像处理技术,通过摄像头实时获取装配式建筑施工现场信息,并采用图像识别算法对构件进行碰撞检测。
这些算法可以对两个构件的位置、速度等进行分析,以判断是否发生碰撞。
3. 无线通信技术无线通信技术在建筑施工过程中可以实现设备之间的实时数据传输。
通过将模块化构件上搭载传感器并与监控系统相连,实现远程监测和即时警报。
一旦发生危险情况或者可能发生碰撞,系统可以及时发送报警信息,提前预防意外的发生。
二、碰撞预防方法除了利用先进的碰撞检测技术来快速反应和纠正问题外,还有一些常规的碰撞预防方法也是非常重要的:1. 施工规划与设计在装配式建筑施工前期,合理规划施工顺序、制定安全施工设计方案非常关键。
应对各种可能接触到的障碍物做出明确规范,在设计过程中考虑设备和构件操作空间的大小和特殊要求。
2. 教育与培训对参与装配式建筑施工的工作人员进行充分教育和培训是预防碰撞事故的关键。
包括操作设备的注意事项、碰撞事故案例分享以及安全规范等,使工作人员具备足够的安全意识和技能。
3. 安全保护措施在施工现场设置临时警示标志和保护栏杆,限制非相关人员进入装配区域,确保操作区域清晰可见。
同时,在机械设备上加装防护装置,减小碰撞带来的损害。
3DMAX中的碰撞检测与物理模拟

3DMAX中的碰撞检测与物理模拟3DMAX中的碰撞检测与物理模拟碰撞检测和物理模拟在3D制作中扮演着重要的角色。
无论是电影特效、游戏开发还是建筑设计,3DMAX作为一款强大的三维建模和渲染软件,其碰撞检测和物理模拟功能的运用能够让场景更加真实和生动。
本文将介绍3DMAX中的碰撞检测与物理模拟的原理和应用。
一、碰撞检测的原理与应用1. 碰撞检测的原理碰撞检测是指在3D场景中判断两个或多个物体是否发生了碰撞的过程。
在3DMAX中,碰撞检测主要是通过计算物体的边界盒或者多边形网格之间是否存在相交来进行。
边界盒是一个简单的几何体,可以用一个包围物体的盒子来近似表示该物体的大小和形状。
多边形网格则是由多个三角形构成的网格模型。
2. 碰撞检测的应用在游戏开发中,碰撞检测是非常重要的一项技术。
它可以实现角色与环境的交互,角色与其他角色的碰撞等。
通过合理地运用碰撞检测技术,可以实现游戏中丰富多样的交互效果,提升游戏的可玩性和真实感。
在建筑设计中,碰撞检测则可以确保建筑物的结构稳定性和安全性。
通过在3DMAX中设置碰撞检测,可以帮助设计师发现并解决建筑结构中的潜在问题,从而提高建筑的质量和可靠性。
二、物理模拟的原理与应用1. 物理模拟的原理物理模拟是指通过模拟真实世界中的物理规律来模拟物体的运动和互动。
在3DMAX中,物理模拟主要涉及到重力、摩擦力、碰撞反应等物理规律的模拟和运用。
通过在3D场景中设置物体的质量、摩擦系数等属性,可以实现物体的真实运动效果。
2. 物理模拟的应用在电影特效中,物理模拟可以模拟真实的自然现象,如水的流动、火的燃烧等。
通过合理地运用物理模拟技术,可以让特效场景更加逼真,增强视觉冲击力。
在游戏开发中,物理模拟可以模拟角色的动作和运动。
通过设置角色的质量、摩擦系数等属性,可以实现角色在游戏中与环境进行互动的效果。
例如,角色在施加力的情况下会受到相应的物理反馈,使得其动作更加真实和自然。
三、3DMAX中的碰撞检测与物理模拟的操作方法1. 碰撞检测的操作方法在3DMAX中,可以通过编辑模式下的“碰撞”选项来进行碰撞检测的设置。
碰撞检测_精品文档

碰撞检测碰撞检测是计算机图形学领域中一个非常重要的概念,它用于判断两个或多个物体是否发生了碰撞。
在游戏开发、物理模拟、虚拟现实等领域中都广泛应用了碰撞检测技术。
本文将对碰撞检测的基本原理、常用算法和应用进行介绍。
一、碰撞检测的基本原理在计算机图形学中,通常将物体抽象为多边形、球体、立方体等几何形状。
当两个物体发生碰撞时,它们的边界或表面上的点会彼此重叠。
因此,判断两个物体是否发生碰撞,关键是要检测它们的边界或表面是否相交。
碰撞检测的基本原理可以归结为以下几步:1. 碰撞检测前的准备:获取待检测物体的位置、姿态和形状信息。
通常使用坐标系、矩阵和向量等数学工具来描述和计算物体的位置和形状。
2. 碰撞检测的粗略判断:通过一个快速的算法,如包围盒(bounding box)或包围球(bounding sphere)来判断物体是否有可能产生碰撞。
这一步旨在减少后续的详细检测计算量,提高碰撞检测的效率。
3. 碰撞检测的详细计算:当粗略判断有碰撞可能时,进行更加精确的碰撞检测计算。
常见的算法有:分离轴定理(Separating Axis Theorem)、基于向量的碰撞检测(Vector-based Collision Detection)等。
4. 碰撞的反应和处理:当发生碰撞时,需要根据物体的属性和场景需求来处理碰撞的反应,如物体的反弹、碎裂、能量转移等。
二、常用的碰撞检测算法1. 包围盒(Bounding Box)算法:这是最简单、最常用的碰撞检测算法之一。
它将物体看作是一个矩形,最简单情况下只需要比较物体的位置和尺寸,判断是否相交。
虽然精度较低,但计算速度快,通常用于快速排除不可能发生碰撞的情况。
2. 分离轴定理(Separating Axis Theorem,SAT):该算法是一种比较常用的精确碰撞检测算法,适用于复杂形状的物体。
它基于一个简单的原理:如果两个非凸物体没有共享的分离轴,那么它们一定相交。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
其次,由平均向量计算出协方差矩阵C
建构凸块的OBB包围盒
再次,求出协方差矩阵C的特征向量,确定OBB包围盒局部坐标的三个轴 向。由于协方差矩阵C是对称矩阵,其三个特征向量相互正交。将这三个 特征向量单位化后,设定它们为凸块OBB包围盒的局部坐标的三个轴向. 最后,将凸块在三个轴向上的最大投影距离定为OBB包围盒的尺寸大小。
凸块的三角形带压缩编码
层次二叉树的遍历
遍历采用广度优先(BFS)的策略进行,具体步骤如下:
凸块OBB包围盒的相交检测方法
基于分离轴定理提出的相交检测方法 首先指定15个分离轴。它们分别为两 个OBB包围盒的6个轴向和由三个轴向 与另三个轴向两两叉乘得到的9个向 量。将这两个OBB包围盒分别向这15 个分离轴投影得到相应的投影区间, 通过检测这些投影区间是否重叠来判 断两OBB包围盒是否相交。
凸块的三角形带压缩编码
加快绘制速度是提高基于图像碰撞检测算法效率的关键 对于三角形网格物体而言,绘制时若要将三角形的每个顶点都传送给图形硬
件,会有许多重复。为减少重复数据传输的次数,一般可利用相邻三角形共
享边这一属性,重新排列物体中三角形的顺序,形成由一系列连续相邻三角 形组成的三角形带。这样,前一个三角形的两个顶点在绘制与其相邻的下一 三角形时就可以重用。 用启发式搜索法生成三角形带并对三角形带 进行编码的策略。在算法预处理阶段一次性 对物体以及层次二叉树中每个节点凸块的三 角形网格进行处理,得到比较理想的三角形 带,并对这些三角形带进行压缩编码。
基于表面的凸分解
非凸物体的表面分解成 一些凸面片的集
凸块集合
基于表面的凸分解
将一非凸模型分解为较小数目的凸片集合的方法有好几种; Ehmann提出了一种面向多面体表示物体的凸表面分解方法使凸分解结果满 足下面公式所表示的约束关系:
其中S为物体的表面 该约束的用意在于限定任意凸块与物体表面的交集必须是凸块所对应的凸片 该表面凸分解方法依据多面体表面面片的相邻关系,采用对偶图搜索方法和 增量凸壳算法来搜集凸片集合。
基于表面的凸分解
建构层次二叉树
凸分解过程产生出一组凸片集合(ci)和与其对应的凸块集合(Ci) 采用一种自顶向下的方法将凸块集(或称为凸块列表)组织成层次二叉树结构 (1)生成所有凸块列表(L)的凸包(CH),创建出层次树的根节点N,节点数据中 包括CH和指向L的指针; (2)将列表L按照空间位置划分为不相交的两组子列表(L1和L2); (3)分别生成两子列表(L1和L2)的凸包(CH1和CH2),并分别创建两个子节点 (N1和N2),子节点数据分别包括了L1或L2,以及指向CH1或CH2的指针; (4)指定节点N为N1和N2两个子节点的父节点。 (5)递归上述过程,直到节点内凸块列表的个数为1,即子列表中只有一个凸 块的情况。
在碰撞检测运行阶段,算法将遍历物体对的层次凸块二叉树。层次树中每个 节点是由OBB包围的凸块。在同时遍历两物体的层次树时,先检测凸块节点 所对应的OBB包围盒是否相交;当两OBB包围盒相交时,就进行凸块之间的相 交检测,实时解码、绘制凸块的压缩三角形带,并对绘制结果进行实时查询 ,分析得出碰撞检测的正确结果
基于表面的凸分解
将S分解为一组凸片的算法步骤为: (1)首先,在S中选择一多边形作为种子面seed,则种子面seed构成当前连通 凸片c; (2)随后从seed出发,通过深度优先或广度优先搜索物体表面S的对偶图,并 依据一定的判别准则来决定是否把seed的相邻面加入到当前连通凸片c中, 如此递归搜索下去直到判别准则不能成立,此时即找到最大的当前连通凸片 c;最后,重复上述过程直至处理完表面S中的每一多边形,得到所有凸片的 集合。 (3)对所有的凸片求凸包得到与其相应的凸块
基于表面的凸分解
凸分解方法分为两种:一是基于实体的凸分解;二是基于表面的凸分解 (1)基于实体的凸分解是将非凸物体分解为若干凸实体的集合
其中P表示物体,Ci为凸块实体
(2)基于表面的凸分解则是把非凸物体的表面分解成一些凸面片的集
其中P表示物体,ci为凸的表面片,即凸片
Ci CH (ci )
表示凸片ci的凸包体
我们可以得出投影区间处于分 离状态的充分必要条件为:
凸块之间的相交检测
两个凸块之间的相交检测通过利用图形硬件对它们进行实时绘制来实现
绘制时使用了深度缓存(depth buffer)和模板缓存(stencil buffer)
深度缓存常用于隐藏面消除。模板缓存是帧缓存中的一个平面集,每个象 素包含了一个或多个模板位。 对于任一凸体,经过屏幕象素的任意一条光线与它最多有两个交点,这两交 点构成一段区间。不妨设z轴为深度方向,设两凸块为A和B,则A与B发生碰 撞的充分必要条件为:
求出所有质点凸包的协方差矩阵
由于协方差矩阵M是对称矩阵,故所求出的三个特征向量相互正交。将所有质点分别在 三个特征向量的方向上做投影,其中,质点投影间隔距离最长的方向即为质点凸包的 最大伸展方向
建构凸块的OBB包围盒
建构凸块的OBB包围盒
使用基于三角网格体的OBB包围盒的计算方法来建构凸块的OBB包围盒
基于表面的凸分解
为了保证连通凸片的构造,需要通 过一定的判别准则来选择加入当前 连通凸片的面。 假定当前凸片为c,待判定的候选面 为f,当前面c与f相邻的边为e,f上 与e相对的顶点为v。将v加入c就相 当于把f加入到c中。 凸片生成时的遍历示例
则判定f是否满足条件有以下三个准则:
ห้องสมุดไป่ตู้
准则1:e不能为凹边; 准则2:从顶点v看出去,不能观察到当前凸片c在表面S中的面片; 准则3:把顶点v加入到凸块C中后,形成的新凸块C′不能与任何不在原凸片c中的面相交。
这里 是物体Rxy(A) 在 xoy 平面上的垂直投影区域; Iz(X)物体 X 在 z轴 上所占的区间
对两凸块 A、B 而言,在某象素上 z 轴区间的重叠情况仅有 8 种
航海模拟器中关键技术研究
碰撞检测过程: 预处理阶段 碰撞检测运行阶段
碰撞检测技术研究
为了能处理任意形状多面体之间的碰撞检测,算法必须经过预处理阶段:
(1)对复杂的非凸物体进行凸表面分解,得到一组凸片集合,并针对每一凸片构建与 其相应的凸块; (2)将凸块集合组织为层次二叉树; (3)为层次树中每个凸块构建一个OBB包围盒; (4)对层次二叉树上的所有节点中的凸块进行三角形带压缩编码
建构层次二叉树
划分列表的具体步骤是: •· 计算L中每个凸块的质点(COM),并由COM来代表凸块; •· 计算所有COM凸包的协方差矩阵; •· 求出协方差矩阵的特征向量,通过分析找出COM的最大伸展方向; •· 将该最大伸展方向设置为剖分轴; •· 将所有COM垂直投影到剖分轴上,并排序; •· 按所有COM投影点的中间点将L划分为两个分离的列表和。