摘要: 参考:http://www.dyn4j.org/2010/05/epa-expanding-polytope-algorithm/一个在线演示:http://sandbox.runjs.cn/show/xseojpfaGJK可以判断两个凸图形是否重叠, EPA可以基于GJK的工作找出分离两个图形的最... 阅读全文
posted @ 2015-05-01 15:05 pngx 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 参考:http://www.dyn4j.org/2010/04/gjk-gilbert-johnson-keerthi/和SAT(分离轴)法一样, GJK可以判断两个凸图形是否重叠. 比起SAT, GJK优在用同一套办法可以处理所有的图形, 而SAT判断某两种不同图形(多边形-多边形/多边形-圆形/... 阅读全文
posted @ 2015-04-06 15:12 pngx 阅读(1684) 评论(2) 推荐(0) 编辑
摘要: 声明一个struct:type Vector2D* = object x*, y*: float32名字后面带星号就是对module外public, 不带星号就是private.要创建一个Vector2D: vec = Vector2D(x: 0, y: 0)object前加上r... 阅读全文
posted @ 2015-04-04 19:00 pngx 阅读(376) 评论(0) 推荐(1) 编辑
摘要: 已知一个三角形的三个顶点的坐标, 三角形的重心坐标的公式如下:getTriangleGravity: function (nX1, nY1, nX2, nY2, nX3, nY3) { return new Vector2D((nX1 + nX2 + nX3) / 3,... 阅读全文
posted @ 2015-01-29 17:41 pngx 阅读(751) 评论(0) 推荐(0) 编辑
摘要: 如果已经知道了两个相互碰撞的物体进行碰撞前的 线速度, 角速度, 质心坐标, 被碰撞点的坐标, 碰撞方向, 质量, 转动惯量, 恢复系数, 那么可以用以下公式求得两个物体对对方造成的碰撞冲量大小:J = -vr(e + 1) / ( 1/m1 + 1/m2 + n* ((r1 × n) / I1) ... 阅读全文
posted @ 2015-01-29 17:20 pngx 阅读(917) 评论(0) 推荐(0) 编辑