立体包围盒的算法

三维图形中经常会用到立体的包围盒,如何简单求取呢?

下面以求取立体在指定方向上的范围为例简单说明。

已知指定方向U、V和参考点P。

1)取立体的边界线(直线段、曲线)。

2)计算立体投影的平面:UV面。

平面法向量:UxV

平面上一点:P

3)立体边界线在UV面上投影,得到UV面上的边线。

4)UV面上的边线向V、P确定的平面投影。

这时得到的线段一定是直线段。这样取投影线段集合的端点,求取最外围的两个点,就得到了立体在U方向上的范围。

实现该方法的前提条件是:

* 有基本集合元素的表示:点、线、面、体

* 元素对象属性的获取方法(构成面、构成线、构成点等)

* 点、线、面的投影算法

时间: 2024-10-07 22:38:58

立体包围盒的算法的相关文章

html5游戏-包围盒检测算法

矩形包围盒算法:检测2个矩形是否重叠,在这样情况下要判断2个矩形是否碰撞只需要比较两个矩形顶点的坐标即可.假设矩形A用(x1,y1)表示左上角,(x2,y2)表示右下角,矩形B用(x3,y3)表示左上角,(x4,y4)表示右下角,则满足下列条件则表示没有碰撞,反之则碰撞.没碰撞:x1>x4或者x2<x3.没碰撞:y1>y4或者y2<y3 var ABBox = function(tBox1,tBox2){ var x1 = tBox1.x, y1 = tBox1.y, x2 = t

双摄像头立体成像(三)-畸变矫正与立体校正

畸变矫正是上一篇博文的遗留问题,当畸变系数和内外参数矩阵标定完成后,就应该进行畸变的矫正,以达到消除畸变的目的,此其一. 在该系列第一部分的博文中介绍的立体成像原理中提到,要通过两幅图像估计物点的深度信息,就必须在两幅图像中准确的匹配到同一物点,这样才能根据该物点在两幅图像中的位置关系,计算物体深度.为了降低匹配的计算量,两个摄像头的成像平面应处于同一平面.但是,单单依靠严格的摆放摄像头来达到这个目的显然有些困难.立体校正就是利用几何图形变换(Geometric Image Transforma

人脸识别SDK小结

Face++人脸识别 进入官网 Face++ 致力于研发世界最好的人脸技术,提供免费的API和SDK供企业和开发者调用,更有灵活的定制化服务满足不同需求.已有多家公司使用Face++技术服务,完成包括人脸搜索.定位.识别.智能美化等功能.我们旨在为合作者提供完善的技术与维护服务. 百度媒体云人脸识别 进入官网 百度媒体云人脸识别服务,依托百度业界领先的人脸识别算法,提供了人脸检测.五官定位.人脸属性检测等功能.媒体云人脸识别服务通过提供一系列HTTP Restful API及跨终端平台SDK,实

第十弹:DPM

一.论文翻译 摘要 本文介绍了一个基于混合多尺度可变形部件模型(mixtures of multiscale deformablepart model)的目标检测系统.此系统可以表示各种多变的目标并且在PASCAL目标检测挑战赛上达到了目前最优结果(state-of-the-art).虽然可变形部件模型现在很流行,但它的价值并没有在类似PASCAL这种较难的测试集上进行展示.此系统依赖于使用未完全标注(partially labeled)的样本进行判别训练的新方法.我们提出了一种间隔敏感(mar

[图形学] 《Real-Time Rendering》碰撞检测(一)

原文有35页,容我慢慢翻译,第一部分翻译了10页 reference:<Real-Time Rendering> 目录 17   前言 17.1 和射线的碰撞检测 17.2 使用BSP树的动态碰撞检测 17.3 一般层次的碰撞检测 17.3.1 分层的构建 17.3.2 不同层之间的碰撞检测 17.3.3 代价函数 17.4 OBB树 17.5 多重物体碰撞检测系统 17.5.1 广阶段的碰撞检测 17.5.2 总结 17.6 更多样的话题 17.6.1 及时碰撞检测 17.6.2 距离查询

碰撞检测经典解决方案

碰撞检测在3D游戏中至关重要,好的碰撞检测要求人物在场景中可以平滑移动,遇到一定高度内的台阶可以自动上去,而过高的台阶则把人挡住,遇到斜率较小的斜坡可以上去,斜率过大则把人挡住,在各种前进方向被挡住的情况下都要尽可能地让人物沿合理的方向滑动而不是被迫停下.在满足这些要求的同时还要做到足够精确和稳定,防止人物在特殊情况下穿墙而掉出场景. 碰撞检测做得好了是应该的,不易被人注意到,因为这符合我们日常生活中的常识.做得差了却很容易让人发现,人物经常被卡住不能前进或者人物穿越了障碍.所以大部分人都觉得写

旋转矩形碰撞检测 OBB方向包围盒算法

在cocos2dx中进行矩形的碰撞检测时需要对旋转过的矩形做碰撞检查,由于游戏没有使用Box2D等物理引擎,所以采用了OBB(Oriented bounding box)方向包围盒算法,这个算法是基于SAT(Separating Axis Theorem)分离轴定律的. 分离轴定律:两个凸多边形物体,如果我们能找到一个轴,使得两个在物体在该轴上的投影互不重叠,则这两个物体之间没有碰撞发生,该轴为Separating Axis.也就是说两个多边形在所有轴上的投影都发生重叠,则判定为碰撞:否则,没有

3D空间中射线与轴向包围盒AABB的交叉检测算法

引言 在上一节中,我讲述了如何实现射线与三角形的交叉检测算法.但是,我们应该知道,在游戏开发中,一个模型有很多的三角形构成,如果要对所有的物体,所有的三角形进行这种检测,就算现在的计算机运算能力,也是无法高效的完成.所以,我们需要通过其他的手段来提早剔除一些不可能发生交叉的物体,这种早退的思想,大量的运用在3D游戏技术中.在本篇文章中,我将像大家讲述如何实现射线与轴向包围盒AABB的交叉检测.如果读者不明白什么是轴向包围盒,请看这篇文章. Ray-AABB交叉检测算法 现如今,有很多的Ray-A

3D空间中射线与轴向包围盒AABB的交叉检测算法【转】

引言 在上一节中,我讲述了如何实现射线与三角形的交叉检测算法.但是,我们应该知道,在游戏开发中,一个模型有很多的三角形构成,如果要对所有的物体,所有的三角形进行这种检测,就算现在的计算机运算能力,也是无法高效的完成.所以,我们需要通过其他的手段来提早剔除一些不可能发生交叉的物体,这种早退的思想,大量的运用在3D游戏技术中.在本篇文章中,我将像大家讲述如何实现射线与轴向包围盒AABB的交叉检测.如果读者不明白什么是轴向包围盒,请看这篇文章. Ray-AABB交叉检测算法 现如今,有很多的Ray-A