会员
周边
新闻
博问
闪存
赞助商
YouClaw
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
就当笔记吧
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
11
12
13
14
15
16
17
18
19
···
48
下一页
2024年1月3日
求相对坐标轴的AABB包围盒大小
摘要: abs(旋转矩阵) * halfSize可以用来求相对坐标轴的AABB包围盒halfSize。 下面的代码也能求出AABB包围盒的size。 public static Vector2 GetAABBSize(Vector2 boxHalfSize, B2_Mat22 rot) { Vector2[
阅读全文
posted @ 2024-01-03 23:11 yanghui01
阅读(57)
评论(0)
推荐(0)
2024年1月1日
Box2dLite中的分离轴算法(SAT)理解
摘要: 以下图的两个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
阅读(394)
评论(0)
推荐(0)
2023年12月29日
旋转矩阵一些用法备忘
摘要: Box_A的旋转角度为a 旋转矩阵为: a) 用于做localToWorld的变换,这个矩阵的col1, col2分别表示模型空间的x轴、y轴坐标(世界坐标) b) 求点在世界坐标轴上的投影(世界坐标) c) abs(RotA) * rightTopPoint_Local,求Box_A相对世界坐标轴
阅读全文
posted @ 2023-12-29 21:45 yanghui01
阅读(55)
评论(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
阅读(105)
评论(0)
推荐(0)
2023年12月28日
2d物理引擎学习 - 角运动
摘要: 角运动(Angular Motion)或叫转动(Rotational Motion) 相关公式 1) 瞬时角速度(angular velocity):ω = Δ弧度 / Δt,单位:弧度/秒,方向:逆时针旋转,沿转轴向上;顺时针旋转,沿转轴向下; 2) 角加速度:a = (ω1-ω0) / t,单位
阅读全文
posted @ 2023-12-28 22:00 yanghui01
阅读(1910)
评论(0)
推荐(0)
2023年12月27日
2d物理引擎学习 - 两圆的线性运动碰撞反馈
摘要: 效果 1) 因为这边只用到圆,所以直接拿掉了Shape类,将半径放到了刚体类上,碰撞检测就直接用刚体位置+半径来判断就可以。 2) 碰撞的开始到结束,用CollisionPair来记录相关状态及信息。 3) 没有涉及到角运动,所有涉及的公式都是线性运动物理公式。 public class MyRig
阅读全文
posted @ 2023-12-27 00:40 yanghui01
阅读(112)
评论(0)
推荐(0)
2023年12月24日
2d物理引擎学习 - 圆与圆碰撞信息计算
摘要: 碰撞情况分析 球1向上运动,球2向下运动 1) 如果它们速度不快,碰撞的瞬间,碰撞点可能就在球的边缘上(红色点为碰撞点,绿色箭头为碰撞法向量) 2) 如果它们速度很快,碰撞的瞬间,两球可能就发生重叠(穿插),碰撞点就到球的里面去了 在物理引擎中,需要用到的碰撞信息包括: 1) 碰撞点。主要用于旋转运
阅读全文
posted @ 2023-12-24 23:19 yanghui01
阅读(200)
评论(0)
推荐(0)
2023年12月23日
2d物理引擎学习 - 线性运动
摘要: 线性运动(Linear Motion)或平动(Translational Motion) 相关公式 加速度(acceleration): a = (v1-v0) / t = Δv / t,单位:m/s2,方向:力作用方向或速度变化方向 瞬时速度(velocity):v1 = v0 + a * t =
阅读全文
posted @ 2023-12-23 00:29 yanghui01
阅读(430)
评论(0)
推荐(0)
2023年12月21日
点到线段的最近距离, 点与线段的位置关系 - 点乘投影方式
摘要: 点到线段的最近距离 判断依据 1) 投影结果<0,则线段端点a离p最近 2) 投影结果>线段ab的长度,则线段端点b离p最近 3) 否则p在线段上的垂点为最近点 p与ab不共线时 1) p在线段两侧 2-a) p在线段内侧 2-b) p在线段内侧2 p与ab共线时 1) p在线段两侧 2-a) p在
阅读全文
posted @ 2023-12-21 23:31 yanghui01
阅读(312)
评论(0)
推荐(0)
cpp环境搭建 - VSCode创建CMakeLists项目
摘要: 1) 先要安装插件CMake Tools 2) 没配置CMakeLists.txt前的项目文件,直接用之前配置的Build Task构建,会报main.cpp找不到头文件,因为它在./include/Test.h下,在main.cpp所在的文件夹搜肯定是没有的 3) 下面开始配置CMakeLists
阅读全文
posted @ 2023-12-21 00:14 yanghui01
阅读(3074)
评论(0)
推荐(0)
上一页
1
···
11
12
13
14
15
16
17
18
19
···
48
下一页
公告