矩形碰撞检测

碰撞体离中心最近的一个三角形判断
方法
1 面积法:三角形三个点两两分别于碰撞体顶点组成新三角形,这三个新三角形面积和与矩形的三角形面积相等则在内。但可能存在浮点的情况,因此精度计算反而不准确

2 碰撞体顶点与三角形三个顶点形成向量,分别与三角形三条边的向量进行叉积得到法向量方向,都同向则在内。
如点P,三角形ABC,就是AP和AB,BP和BC,CP和CA进行判断

3 重心法(速度快)
原理:A为坐标中心点来计算
P = A +  u * (C – A) + v * (B - A)
u >= 0
v >= 0
u + v <= 1
计算
令v0 = C – A, v1 = B – A, v2 = P – A,则v2 = u * v0 + v * v1
(v2) • v0 = (u * v0 + v * v1) • v0
(v2) • v1 = (u * v0 + v * v1) • v1
根据点积
v2 • v0 = u * (v0 • v0) + v * (v1 • v0)  // 式1
v2 • v1 = u * (v0 • v1) + v * (v1• v1)   // 式2

u = ((v1•v1)(v2•v0)-(v1•v0)(v2•v1)) / ((v0•v0)(v1•v1) - (v0•v1)(v1•v0))
v = ((v0•v0)(v2•v1)-(v0•v1)(v2•v0)) / ((v0•v0)(v1•v1) - (v0•v1)(v1•v0))
解的过程运算麻烦,编程中则封装好函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值