免费的ppt模板网站有哪些h5类型的网站是怎么做的

张小明 2026/1/3 10:50:43
免费的ppt模板网站有哪些,h5类型的网站是怎么做的,不是常用的网页制作工具,阿里 设计网站建设不绕弯子#xff0c;先把这句话说清楚#xff1a;圆是啥#xff1f; 从几何上看#xff1a;所有到同一个点距离相等的一堆点。 从解析几何上看#xff1a;这些点#xff0c;刚好都满足一个方程。 在 Unity 里#xff1a;圆 以某个位置为中心、一定半径的范围#xff0…不绕弯子先把这句话说清楚圆是啥从几何上看所有到同一个点距离相等的一堆点。从解析几何上看这些点刚好都满足一个方程。在 Unity 里圆 以某个位置为中心、一定半径的范围2D/3D 里就是圈 / 球体。在 FPS 射击游戏里手雷爆炸范围范围治疗 / 范围伤害范围探测、雷达扫描击退圈、毒圈、缩圈背后全是“圆或球”在干活。下面我会用大白话一步一步把这件事讲清楚圆在几何上的直观定义用方程来描述圆解析几何视角圆的常见计算点在不在圆里、圆和线怎么交Unity 里如何“画一个圆 / 圈一个范围”在 FPS 游戏里的圆爆炸范围、AOE、感知范围等具体用法一点拓展从圆到球从 2D 到 3D把这些东西串一起的小结一、圆究竟是个啥先站在“肉眼几何”的视角看1.1 小学教过的那句到定点距离相等的点的集合小学老师一般会这么说圆平面上到某个固定点距离等于一个定值的点的集合。翻译成大白话先在纸上点一个点 O当圆心再拿个圆规脚尖扎在 O 上把圆规张开 r cm然后绕一圈画过去圆规尖尖走过的所有点就是这个圆。这里几个关键词“固定点” → 圆心“距离等于一个定值 r” → 半径“所有满足这个条件的点” → 这堆点连起来形成的就是圆。注意圆本质上不是一个“粗线条”而是无数个点组成的边界。1.2 圆和圆盘边和里面别搞混很多人说“圆形”其实混用了两个概念圆circle严格意义上是“边界那条线”——圆周到圆心距离等于r 的点。圆盘 / 圆域disk圆内部 圆上的点到圆心距离小于等于r 的点。在游戏里说“爆炸范围”一般指的是“圆盘”范围区域而不是只在圆周上炸一圈。先把这个概念放在心里后面讲方程和范围判断会用到。二、解析几何用方程描述“到某点距离相等的一堆点”现在给圆戴上“坐标”和“方程”的帽子。2.1 平面直角坐标系里的“圆”建立一个坐标系水平轴x 轴竖直轴y 轴原点 O(0,0)。假设有一个圆圆心 C 在 (a, b)半径 r。按照定义点 P(x, y) 在这个圆上⇔ P 到 C 的距离 r。用“平面两点距离公式”来写距离 PC √[(x - a)² (y - b)²]条件 PC r就是√[(x - a)² (y - b)²] r两边平方r0不用担心平方损伤(x - a)² (y - b)² r²这就是一个圆的标准方程。所有满足这个方程的点 (x, y) 都在圆周上不满足的点要么在圆内要么在圆外。特别地如果圆心刚好在原点 (0,0)方程更简单x² y² r²2.2 圆的三种“关系”判断在圆上 / 圆内 / 圆外给你一个圆(x - a)² (y - b)² r²给你一个点 P(x₀, y₀)想知道它在哪计算左边的数S (x₀ - a)² (y₀ - b)²和 r² 比较如果 S r² → 点在圆上如果 S r² → 点在圆内如果 S r² → 点在圆外。这段逻辑在游戏里就是“判断一个单位是不是在某个范围之内”的基础。2.3 圆的一般方程x² y² Dx Ey F 0你有时候会看到圆写成这样x² y² Dx Ey F 0这是“展开后的版本”。标准方程(x - a)² (y - b)² r² x² - 2ax a² y² - 2by b² r² x² y² - 2ax - 2by (a² b² - r²) 0对应D -2a E -2b F a² b² - r²反过来我们也可以通过 D、E、F 把圆心和半径解出来圆心(a, b) (-D/2, -E/2)半径r √(a² b² - F)不过在游戏开发里几乎不需要写这么复杂的一般式通常都是“一个中心坐标 一个半径”的形式。三、圆的常用几何运算线和圆怎么交圆和圆怎么交虽然游戏里不一定直接写方程但很多逻辑本质就是“求交点/判断相交”。3.1 圆与点是否在范围内这已经讲过一遍换一种游戏化说法爆炸中心C(cx, cy)某个敌人位置P(px, py)爆炸半径R判断是否被炸到dx px - cx dy py - cy S dx*dx dy*dy if (S R*R) // 在爆炸范围内 else // 不在范围内注意用的是 S 和 R²而不是先开根号算距离再比较因为开根号比较慢用平方比大小就行。这在 Unity 里是非常经典的写法。3.2 圆与直线有没有交点交在哪在 2D 中如果你有圆(x - a)² (y - b)² r²直线y kx c要找交点把直线的 y 代入圆方程得到关于 x 的一元二次方程解出来 x再求 y。判别式 Δ 会告诉你Δ 0两个交点直线穿过圆Δ 0一个交点切线Δ 0没有交点直线与圆相离。这一套在游戏里可以用来做“子弹轨迹线与范围区圆的交点”判断“玩家从哪儿进入某个圆形区域”。不过实际游戏里更常用的是射线 圆碰撞公式封装用 Physics 系统。3.3 圆与圆相交 / 相切 / 相离 / 内含两个圆C1(x1, y1)半径 r1C2(x2, y2)半径 r2计算它们圆心之间的距离 ddx x2 - x1 dy y2 - y1 d √(dx² dy²)然后对比 d 和 r1r2 以及 |r1-r2|若 d r1 r2 → 相离两个圆离得远完全不挨着若 d r1 r2 → 外切两个圆外部刚好接触一点若 |r1 - r2| d r1 r2 → 相交两个圆重叠有两个交点若 d |r1 - r2| → 内切一个在另一个里面内侧刚好接触若 d |r1 - r2| → 内含一个完全包在另一个里面不接触。在游戏里这可以变成“两个范围伤害圆有没有覆盖重叠”“毒圈与安全区的关系”。不过实战中经常直接用“圆心距离对比半径和”这最简单一条相交/重叠d r1 r2四、Unity 里怎么表示“圆”和“圆形范围”Unity 本质是 3D 引擎但可以在 2D/3D 里表达“圆”的概念。4.1 2D 圆形CircleCollider2D 和 Gizmos在 2D 模式下可以给物体加CircleCollider2D这就是一个以某点为中心、一定半径的圆形碰撞体。它可以用于检测玩家与敌人是否接触判定攻击范围触发区域比如进入某个圈就触发事件。如果你只是想在场景视图里画个圆当参考可以用OnDrawGizmosvoidOnDrawGizmos(){Gizmos.colorColor.green;DrawCircle(transform.position,radius,32);}voidDrawCircle(Vector3center,floatradius,intsegments){floatangleStep360f/segments;Vector3prevcenternewVector3(radius,0,0);for(inti1;isegments;i){floatangleangleStep*i*Mathf.Deg2Rad;Vector3nextcenternewVector3(Mathf.Cos(angle)*radius,Mathf.Sin(angle)*radius,0);Gizmos.DrawLine(prev,next);prevnext;}}这里通过分段连线的方式近似画圆。4.2 3D 圆形范围平面上的半径检查 SphereCollider在 3D FPS 里场景是三维的但很多范围逻辑是在地面上水平面做的我们可以把“圆”当作“以 (x, z) 为平面坐标的范围”y 是高度只要在一定差值内就算同一平面。例如爆炸范围横向是圆实际上空间里是个“圆柱体”或球体。两个方案方案 A用球碰撞体SphereCollider给一个不可见物体加SphereCollider勾选isTrigger半径 爆炸范围爆炸时让这个物体激活一下然后对 OnTriggerEnter 里面的对象施加伤害。代码概念publicclassExplosion:MonoBehaviour{publicfloatradius5f;publicfloatdamage100f;voidStart(){Collider[]colsPhysics.OverlapSphere(transform.position,radius);foreach(varcolincols){// 假设有 Health 组件varhpcol.GetComponentHealth();if(hp!null){hp.TakeDamage(damage);}}}}这里的OverlapSphere就是以某点为中心、某个半径的“球体范围检测”。如果你只在水平面上考虑那就是个“圆形范围”。方案 B手写“圆内检测”更贴近我们前面讲的公式你也可以自己写voidDoExplosion(Vector3center,floatradius){Collider[]colsPhysics.OverlapSphere(center,radius);foreach(varcolincols){Vector3targetPoscol.transform.position;// 只在水平面上做圆判断不管高度Vector2cnewVector2(center.x,center.z);Vector2pnewVector2(targetPos.x,targetPos.z);floatsqrDist(p-c).sqrMagnitude;if(sqrDistradius*radius){// 在圆形范围内}}}虽然用了 OverlapSphere 找到“可能在范围内”的物体但进一步筛选“在水平面上的圆内/圆外”就是我们前面讲的“圆方程判定”。五、FPS 射击游戏里“圆”的各种实际用法下面我们从玩家视角出发看看 FPS 游戏里到底有多少地方在悄悄用“圆”。5.1 手雷 / 榴弹 / 火箭弹的爆炸范围伤害圆场景你丢一颗手雷砰的一声爆炸附近的敌人都掉血离得越近伤害越高。这背后就是爆炸点为圆心某个半径为边界的圆形或球形区域所有在这个区域里的敌人都受影响。典型逻辑爆炸发生时用 OverlapSphere 找到周围一定半径内的所有碰撞体对每个目标算“距离爆心的距离”根据距离算伤害可能是线性衰减 / 指数衰减 / 表定档位。伪代码voidExplode(){Collider[]colsPhysics.OverlapSphere(transform.position,radius);foreach(varcolincols){varhpcol.GetComponentHealth();if(hp!null){floatdistVector3.Distance(transform.position,col.transform.position);floatdamageFactorMathf.Clamp01(1-dist/radius);// 越近越接近 1floatfinalDamagemaxDamage*damageFactor;hp.TakeDamage(finalDamage);}}}如果只想简化为“在范围内全吃满伤害”只需判断dist radius或sqrDist radius²。这就是圆的典型 FPS 用法之一爆炸伤害圈。5.2 范围技能 / AOE治疗圈 / 增益圈 / 减速圈很多 FPS RPG 混合玩法里有这些东西医疗圈在某个点释放范围内队友持续回血减速圈敌人走进去移动速度变慢增益圈站在圈里攻击力/防御力提升静滞场子弹进到圈里变慢、甚至停下。这些都是以某点为中心、一定半径的“圆形区域效果”。实现方式和爆炸差不多只是多了“持续时间”每帧 / 每秒检查在圆内的单位对在圆内的单位施加Buff/伤害/减速等离开圆就移除效果。可以用触发器TriggerOnTriggerEnter/OnTriggerExit 半径为范围的 Collider也可以每帧Physics.OverlapSphere 手动判断。5.3 视野范围 / 感知范围谁在我的“雷达圈”里敌人 AI 常见的设定有一个“视野角度”前方扇形有一个“最大视距”圆形范围。这里“最大视距”就是一个以敌人位置为圆心、半径为视距的圆如果只看平面。怎么判断玩家在不在这个“感知圆”里计算敌人与玩家之间的水平距离dx player.x - enemy.xdz player.z - enemy.z算平方距离dx² dz²比较和视距²if((dx*dxdz*dz)viewRadius*viewRadius){// 在感知范围内}再叠加上“视野角”点乘判断夹角和“射线检测有无遮挡”就是完整的视线逻辑。5.4 雷达、扫描、地图圈UI 上的“圆形高亮”在 FPS 游戏里你经常看到小地图中一个圆形范围表示你的雷达扫描范围扫描技能开启时一个圈从角色辐射出去圈到的敌人被标记毒圈 / 安全区 / 电磁圈一个不断缩小的圆把战场越收越小。这些更多是视觉表现上的圆背后逻辑仍然是“范围判断”。例如雷达扫描效果启动扫描半径从 0 缓慢增大到最大值每帧根据当前半径 R找到OverlapSphere(center, R)内的敌人把这些敌人标记出来在 UI 上画个红点。视觉上则用LineRenderer 画一个圆圈用 shader 在地面上画一个 expanding circle用 UI 画一个放大中的圆形框。这些圆的绘制一般都是通过三角形拼出来的但逻辑上你就当“画圆”就行。5.5 近战攻击圆 / 判定圈谁在我身边一圈都挨打很多 FPS 里的近战攻击其实不是一个小矩形而是以玩家位置为中心在身体前方开一个扇形 / 半圆形范围内的敌人全部受到伤害。简化一点的实现直接用圆玩家位置 圆心半径 武器攻击范围加上一点前方偏移检测“在圆内的敌人”都算命中。Unity 实现也非常直接OverlapSphere 距离判定。六、从圆到球FPS 中其实用得更多的是“球形范围”虽然我们一直在说“圆”但 FPS 场景是 3D 的大部分“范围”其实是个“球体”只是在设计上更多关注水平投影。6.1 球的解析几何方程三维版的圆球心在 (a, b, c)半径 R 的球(x - a)² (y - b)² (z - c)² R²类比圆的方程仅仅多了一个维度。点 P(x₀, y₀, z₀) 在球内/球外判断S (x₀ - a)² (y₀ - b)² (z₀ - c)² if (S R²) 在球内 if (S R²) 在球面上 if (S R²) 在球外Unity 的Physics.OverlapSphere就是在做这个事把这个球内的所有碰撞体找出来。6.2 在 FPS 里如何折中球体 水平面“圆”的双重视角大多数 FPS 的“范围逻辑”其实是这么用的底层检测用“球体”方便、简单、性能好策划设计和玩家理解时在脑子里更偏“地面上的一个圆圈”。比如爆炸效果逻辑上OverlapSphere找到球体内所有敌人视觉上在地面画一个圆形爆炸纹理 / 冲击波玩家感知站在圈里就会被炸。所以你可以记一句数学上圆是 2D球是 3D游戏里很多“圆”其实是球只是我们习惯在地上看投影。七、把“圆 Unity FPS 应用”串成一整套理解最后用一段比较系统的总结把前面所有内容串起来。7.1 数学层面的“圆”几何定义圆 平面上所有到某个点距离等于 r 的点圆盘 距离小于等于 r 的点集合。解析几何表示标准方程(x - a)² (y - b)² r²特例圆心在原点x² y² r²。位置关系判断对点 P(x₀, y₀)算S (x₀ - a)² (y₀ - b)²S 与 r² 比较 → 在圆上/圆内/圆外。圆与线、圆与圆相交利用代入、距离比较、判别式等方法可求交点和相交关系。7.2 Unity 中的“圆 / 圆形范围”2DCircleCollider2D表示圆形碰撞区中心 半径。3DPhysics.OverlapSphere 距离判断 → 球体范围投影到平面就是圆形范围或者手写二维 (x,z) 距离来做平面圆判断。绘制Gizmos 画圆辅助LineRenderer 或 mesh 拼出来的圆圈/环Shader 在地面上画一个圆形贴图 / 动态扩散圈。7.3 FPS 射击游戏中的圆形相关玩法爆炸范围半径伤害爆炸点为圆心固定半径以球体检测范围内敌人按距离衰减伤害。范围技能 / AOE医疗圈、减速圈、增益圈持续判定“在圆内”的单位施加效果。视野范围 / 感知圈敌人 AI 的最大感知距离用平面圆判断玩家在不在这个范围内。雷达 / 探测 / 扫描圈动态扩散的圆形可视化半径随时间增长的“范围查找”。近战范围 / 判定圈用圆形/球体范围检测周围单位决定被打到谁。毒圈 / 安全区 / 战术圈圆形区域不断缩小判断玩家在圈内还是圈外决定扣血或安全。7.4 一句把“圆”真装进脑子里的话再用一句彻底大白话帮你收个尾在数学里圆就是那堆“到某个点距离相等”的点写成方程就是(x - a)² (y - b)² r²。在 Unity 里这堆点变成“以某个坐标为中心、半径为 r 的范围检测”用 OverlapSphere 或自己算距离就能搞定。在 FPS 游戏里你看到的所有“范围爆炸”“治疗圈”“感知圈”“雷达圈”无论效果多炫底层一般都只是判断一堆单位的坐标是不是在“某个点为圆心、某个半径的圆或球”里面。当你能从“纸上的圆”自然联想到Unity 的 SphereCollider / OverlapSphereFPS 里的各种圈圈范围逻辑说明你已经真的把“圆用方程描述到某点距离相等的一堆点以及在 Unity 和 FPS 游戏中的应用”这件事吃透了。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

万维网网站注册一键网站制作

摘要:为什么现在的 AI Agent(如 Manus)能自主写代码、修 Bug?秘密在于“循环”。传统的 Chain 架构是一条直线,而 Agent 架构是一个圆。本文将深入剖析 Spring AI Alibaba Graph 模块,揭示它是如何通过“图…

张小明 2026/1/2 3:49:07 网站建设

怎么把自己做的网站放到百度上厦门做网站找谁

ESP32 GPIO高精度定时翻转实战:用硬件定时器告别延时陷阱你有没有遇到过这种情况——在Arduino里写了个delay(50)想让LED每50毫秒闪一次,结果发现实际周期忽长忽短?尤其是在接了Wi-Fi、MQTT或者传感器采集任务后,闪烁节奏完全乱套…

张小明 2025/12/31 22:28:58 网站建设

域名和网站建站公司链接wordpress设置文章图片幻灯片放映

Linly-Talker支持语音情感强度调节滑块 在虚拟主播的直播间里,一句“感谢大家的支持”如果总是用同样的热情语调重复播放,时间一长就会显得机械而缺乏诚意;但在心理咨询场景中,若AI语气过于激昂,又可能让用户感到不适。…

张小明 2025/12/31 21:18:26 网站建设

长春网站建设及推广wordpress表单附件上传

这两年,不少学校、企事业单位、医院、园区食堂都在做一件事:食堂采购信息化。一方面是监管趋严,另一方面是管理者真的“管不动了”——手工记账混乱、采购不透明、账目对不上、出了问题还追溯不到源头。于是,“食堂采购系统源码开…

张小明 2025/12/31 22:29:02 网站建设

vs2010网站开发教程c打开网上免费网站吗

GPT-OSS-20B:开源大模型的轻量化突围之路 在企业对AI能力需求日益增长,而主流闭源模型却愈发“高墙深院”的今天,一个名字正悄然在开发者社区中传播开来——GPT-OSS-20B。它不是GPT-4的复制品,也不是某家科技巨头发布的商业产品&a…

张小明 2025/12/31 22:29:04 网站建设