上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 48 下一页
摘要: 点乘 公式1: 公式2: 几何意义:v1在v2上的投影长度*v2的长度 叉乘 公式1: 公式2: 注意:2维不像3维,叉乘公式能直接得到向量结果;2维下是将大小和方向分开算了,即:大小*Vector3.down或Vector3.up 几何意义:两向量构成的平行四边形的面积 叉乘转点乘 注意:方括号是 阅读全文
posted @ 2024-01-10 23:45 yanghui01 阅读(95) 评论(0) 推荐(0)
摘要: 1) 重力 Fg = m * g,g为地球表面的重力加速度,一般为9.8N/kg;单位:N/m或kg*m/s2,方向:沿y轴向下 2) 摩擦力 摩擦力包括:静摩擦力和(滑)动摩擦力 库伦摩擦定律:Ff = μ * 压力,μ表示物体表面摩擦系数,值为[0, 1],由物体表面材料决定(粗糙程度) a) 阅读全文
posted @ 2024-01-04 22:38 yanghui01 阅读(316) 评论(0) 推荐(0)
摘要: 效果 上图中碰撞后,两个Box开始旋转,什么情况下碰撞后会引起旋转? 作用在碰撞点的冲量方向不经过物体中点(质心) SAT的碰撞检测就是沿用的box2d-lite的 整体代码结构和这篇类似:2d物理引擎学习 - 两圆的线性运动碰撞反馈,只是加入了角运动 关于MyRigidbody.GetKMass函 阅读全文
posted @ 2024-01-04 00:19 yanghui01 阅读(179) 评论(0) 推荐(0)
摘要: abs(旋转矩阵) * halfSize可以用来求相对坐标轴的AABB包围盒halfSize。 下面的代码也能求出AABB包围盒的size。 public static Vector2 GetAABBSize(Vector2 boxHalfSize, B2_Mat22 rot) { Vector2[ 阅读全文
posted @ 2024-01-03 23:11 yanghui01 阅读(52) 评论(0) 推荐(0)
摘要: 以下图的两个Box为例 1) 先是分别以Box_A和Box_B的模型空间坐标轴为分离轴,求出在轴上的投影重叠长度,判断是否相交。 Collide.cpp的Collide函数 // Setup Vec2 hA = 0.5f * bodyA->width; Vec2 hB = 0.5f * bodyB- 阅读全文
posted @ 2024-01-01 12:21 yanghui01 阅读(377) 评论(0) 推荐(0)
摘要: Box_A的旋转角度为a 旋转矩阵为: a) 用于做localToWorld的变换,这个矩阵的col1, col2分别表示模型空间的x轴、y轴坐标(世界坐标) b) 求点在世界坐标轴上的投影(世界坐标) c) abs(RotA) * rightTopPoint_Local,求Box_A相对世界坐标轴 阅读全文
posted @ 2023-12-29 21:45 yanghui01 阅读(50) 评论(0) 推荐(0)
摘要: 这个是在Box2d-Lite代码中看到的用法,用分离轴算法(SAT)求两个Box的碰撞信息那边用到了。 Collide.cpp int Collide(Contact* contacts, Body* bodyA, Body* bodyB) { // Setup Vec2 hA = 0.5f * b 阅读全文
posted @ 2023-12-29 00:13 yanghui01 阅读(100) 评论(0) 推荐(0)
摘要: 角运动(Angular Motion)或叫转动(Rotational Motion) 相关公式 1) 瞬时角速度(angular velocity):ω = Δ弧度 / Δt,单位:弧度/秒,方向:逆时针旋转,沿转轴向上;顺时针旋转,沿转轴向下; 2) 角加速度:a = (ω1-ω0) / t,单位 阅读全文
posted @ 2023-12-28 22:00 yanghui01 阅读(1813) 评论(0) 推荐(0)
摘要: 效果 1) 因为这边只用到圆,所以直接拿掉了Shape类,将半径放到了刚体类上,碰撞检测就直接用刚体位置+半径来判断就可以。 2) 碰撞的开始到结束,用CollisionPair来记录相关状态及信息。 3) 没有涉及到角运动,所有涉及的公式都是线性运动物理公式。 public class MyRig 阅读全文
posted @ 2023-12-27 00:40 yanghui01 阅读(106) 评论(0) 推荐(0)
摘要: 碰撞情况分析 球1向上运动,球2向下运动 1) 如果它们速度不快,碰撞的瞬间,碰撞点可能就在球的边缘上(红色点为碰撞点,绿色箭头为碰撞法向量) 2) 如果它们速度很快,碰撞的瞬间,两球可能就发生重叠(穿插),碰撞点就到球的里面去了 在物理引擎中,需要用到的碰撞信息包括: 1) 碰撞点。主要用于旋转运 阅读全文
posted @ 2023-12-24 23:19 yanghui01 阅读(196) 评论(0) 推荐(0)
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 48 下一页