当前位置: 首页 > news >正文

海宁长安网站开发将自己做的网站入到阿里云域名上

海宁长安网站开发,将自己做的网站入到阿里云域名上,写文章赚稿费的app,物流网站建设公司推荐#xff1a;使用 NSDT场景编辑器快速搭建3D应用场景 轴对齐边界框 与 2D 碰撞检测一样#xff0c;轴对齐边界框 #xff08;AABB#xff09; 是确定两个游戏实体是否重叠的最快算法。这包括将游戏实体包装在一个非旋转#xff08;因此轴对齐#xff09;的框中#…推荐使用 NSDT场景编辑器快速搭建3D应用场景 轴对齐边界框 与 2D 碰撞检测一样轴对齐边界框 AABB 是确定两个游戏实体是否重叠的最快算法。这包括将游戏实体包装在一个非旋转因此轴对齐的框中并检查这些框在 3D 坐标空间中的位置以查看它们是否重叠。 由于性能原因存在轴对齐约束。两个非旋转框之间的重叠区域可以仅通过逻辑比较来检查而旋转框需要额外的三角运算这些操作的计算速度较慢。如果您有将要旋转的实体则可以修改边界框的尺寸使其仍环绕对象或者选择使用其他边界几何类型例如球体对旋转不变。下面的动画 GIF 显示了 AABB 的图形示例该示例调整其大小以适应旋转实体。盒子不断改变尺寸以紧密贴合其中包含的实体。 注意查看 使用 THREE.js 进行边界体积碰撞检测 一文了解此技术的实际实现。 点 vs. AABB 检查一个点是否在 AABB 内非常简单——我们只需要检查点的坐标是否在 AABB 内;分别考虑每个轴。如果我们假设 P x、P y 和 Pz 是点的坐标B minX–B maxX、B minY–B maxY 和 B minZ–B maxZ 是 AABB 每个轴的范围我们可以使用以下公式计算两者之间是否发生了碰撞 或者在 JavaScript 中 .JS复制到剪贴板 function isPointInsideAABB(point, box) {return (point.x box.minX point.x box.maxX point.y box.minY point.y box.maxY point.z box.minZ point.z box.maxZ); }AABB vs. AABB 检查一个 AABB 是否与另一个 AABB 相交类似于点测试。我们只需要使用框的边界对每个轴进行一次测试。下图显示了我们将在 X 轴上执行的测试 — 基本上范围 A minX–A maxX 和 B minX–B maxX 是否重叠 从数学上讲这看起来像这样 在 JavaScript 中我们会使用这个 .JS复制到剪贴板 function intersect(a, b) {return (a.minX b.maxX a.maxX b.minX a.minY b.maxY a.maxY b.minY a.minZ b.maxZ a.maxZ b.minZ); }边界球体 使用边界球体来检测碰撞比 AABB 稍微复杂一些但测试起来仍然相当快。球体的主要优点是它们对旋转是不变的因此如果包裹的实体旋转边界球体仍将相同。它们的主要缺点是除非它们要包装的实体实际上是球形的否则包装通常不是很好的拟合即用边界球体包裹一个人会导致很多误报而 AABB 会是更好的匹配。 点与球体 要检查球体是否包含点我们需要计算点和球心之间的距离。如果此距离小于或等于球体的半径则该点位于球体内部。 考虑到两点 A 和 B 之间的欧几里得距离为 我们的点与球体碰撞检测公式将如下所示 或者在 JavaScript 中 .JS复制到剪贴板 function isPointInsideSphere(point, sphere) {// we are using multiplications because is faster than calling Math.powconst distance Math.sqrt((point.x - sphere.x) * (point.x - sphere.x) (point.y - sphere.y) * (point.y - sphere.y) (point.z - sphere.z) * (point.z - sphere.z),);return distance sphere.radius; }注意上面的代码具有平方根计算起来可能很昂贵。避免这种情况的简单优化包括将平方距离与平方半径进行比较因此优化方程将涉及 。distanceSqr sphere.radius * sphere.radius 球体与球体 球体与球体测试类似于点与球体测试。我们在这里需要测试的是球体中心之间的距离小于或等于它们的半径之和。 在数学上这看起来像 或者在 JavaScript 中 .JS复制到剪贴板 function intersect(sphere, other) {// we are using multiplications because its faster than calling Math.powconst distance Math.sqrt((sphere.x - other.x) * (sphere.x - other.x) (sphere.y - other.y) * (sphere.y - other.y) (sphere.z - other.z) * (sphere.z - other.z),);return distance sphere.radius other.radius; }球体 vs. AABB 测试球体和AABB是否碰撞稍微复杂一些但仍然简单快捷。一种合乎逻辑的方法是检查 AABB 的每个顶点对每个顶点进行点与球面测试。然而这是矫枉过正的——测试所有顶点是不必要的因为我们只需计算 AABB 的最近点不一定是顶点和球体中心之间的距离看看它是否小于或等于球体的半径。我们可以通过将球体的中心钳制到 AABB 的极限来获得此值。 在 JavaScript 中我们会像这样做这个测试 .JS复制到剪贴板 function intersect(sphere, box) {// get box closest point to sphere center by clampingconst x Math.max(box.minX, Math.min(sphere.x, box.maxX));const y Math.max(box.minY, Math.min(sphere.y, box.maxY));const z Math.max(box.minZ, Math.min(sphere.z, box.maxZ));// this is the same as isPointInsideSphereconst distance Math.sqrt((x - sphere.x) * (x - sphere.x) (y - sphere.y) * (y - sphere.y) (z - sphere.z) * (z - sphere.z),);return distance sphere.radius; }使用物理引擎 3D物理引擎提供碰撞检测算法其中大多数也基于边界体积。物理引擎的工作方式是创建一个物理身体通常附加到它的视觉表示上。该主体具有速度、位置、旋转、扭矩等属性以及物理形状。此形状是碰撞检测计算中考虑的形状。 原文链接3D 碰撞检测 (mvrlink.com)
http://www.yayakq.cn/news/1344/

相关文章:

  • 订餐网站开发网页制作学情分析
  • 北京通信管理局网站备案西樵建网站
  • 常州制作公司网站网页设计师多少钱一个月
  • 站长工具seo综合查询下载河北人工智能建站系统软件
  • 怎样查看网站是用什么cms 做的微信网站开发视频教程
  • 空间 建网站建设英文网站的请示
  • 凡科建设网站步骤做网站需要php吗
  • 上海网站建设公司页溪网络网站页面设计培训班
  • 海关企业信息查询网站电子产品外贸交易平台
  • 学校网站建设基本流程东莞app下载安装
  • 招聘网站开发计划书安卓手机软件开发外包
  • 南昌网站建设优化公司排名seo外推上排名
  • 房地产网站建设分析新网做网站怎么上传
  • 著名的wordpress网站本地网站建设DW
  • 怎样提高网站访问速度python django做的网站
  • 网站是做推广好还是优化好深圳龙华建设工程交易中心网站
  • 怎么在传奇网站上做宣传给企业做网站推广好么
  • 湛江网站模板新站快速收录
  • 有哪些做网站的公司好龙门城乡规划建设局网站
  • 视频网站做游戏分发海安建设局网站
  • 二七网建站关于做网站的合同
  • 营销型网站建设必备功能容桂网站制作公司
  • 电子商务网站设计原理名词解释网络规划设计师属于什么职称
  • gta5买办公室 网站正在建设不建网站可不可以做cpa
  • s001网站建设怎么做外贸企业网站
  • wordpress雪花网站搜索优化技巧
  • 购物网站常用功能模块介绍美食网站需求分析
  • 上海创新网站建设网站建设费支付请示
  • 电商网站哪家做的好建设网站平台需要什么硬件配置
  • 漳州北京网站建设公司哪家好佛山小程序开发平台