上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 48 下一页
摘要: AABBTree加速碰撞检测的原理? 减少碰撞检测的执行次数。怎么减少呢?排除那些不可能发生碰撞的形状间的检测。 最简单粗暴的碰撞检测就是两个for循环嵌套 void ForLoopCheckIntersect() { for (int i = 0; i < m_RectList.Count; ++ 阅读全文
posted @ 2023-11-28 00:04 yanghui01 阅读(697) 评论(0) 推荐(0)
摘要: 向量点乘ap•ab,即p在线段ab上的投影结果 上图的两种情况(重叠和直角),p在线段ab上的投影结果都是0, 可以用if (ap.sqrMagnitude <= float.Epsilon)判断重叠,如果不重叠则是直角的情况 阅读全文
posted @ 2023-11-26 00:32 yanghui01 阅读(76) 评论(0) 推荐(0)
摘要: 直线的点斜公式 y=kx+t, k为直线斜率, t为直线在y轴上的交点; 直线与y轴平行时, k不存在, 方程为x=a, a为常量值; //两直线交点 - 直线点斜式 public static bool IsTwoLineIntersect2(float k1, float t1, float k 阅读全文
posted @ 2023-11-24 23:18 yanghui01 阅读(272) 评论(0) 推荐(0)
摘要: 测试代码会用到的基类 using System; using UnityEngine; public abstract class CollideTestBase : MonoBehaviour { [Range(0, 9)] public int m_ApiType = 1; [Range(1, 阅读全文
posted @ 2023-11-24 21:39 yanghui01 阅读(35) 评论(0) 推荐(0)
摘要: 效果 //点是否在射线上 public static bool IsPointOnRay(Vector2 o, Vector2 dir, Vector2 p) { var op = p - o; if (Mathf.Approximately(op.sqrMagnitude, 0)) //o和p重叠 阅读全文
posted @ 2023-11-23 23:19 yanghui01 阅读(76) 评论(0) 推荐(0)
摘要: //求两直线交点 - 直线方程组方式 public static bool IsTwoLineIntersect(Vector2 A, Vector2 B, Vector2 C, Vector2 D, out Vector2 point) { point = Vector2.zero; /** 1 阅读全文
posted @ 2023-11-23 22:51 yanghui01 阅读(137) 评论(0) 推荐(0)
摘要: 1) 点在三角形的边上时 AP=AE+AF (向量加法) 设AE=v*AB, AF=u*AC; 则AP=v*AB+u*AC(二元一次方程,u, v为我们引入的变量) 根据向量三点共线定理可知:u+v=1 2) 点在三角形内时 AE不变, 让AF变短一些, 当用u*AC表示AF时, u的值肯定也比1) 阅读全文
posted @ 2023-11-22 20:47 yanghui01 阅读(322) 评论(0) 推荐(0)
摘要: 夹角 1) 夹角一般用180度内的角 2) 如果夹角用于计算sin正弦值(叉乘公式有sin计算),那还要区分向量的先后顺序,即:夹角是顺时针还是逆时针。因为像sin(60)和sin(-60)结果是不一样的。 a到b的夹角:逆时针180度内 b到a的夹角:顺时针180度内 法向量 1) 左法向量,逆时 阅读全文
posted @ 2023-11-21 23:50 yanghui01 阅读(1097) 评论(0) 推荐(0)
摘要: 如果ABQ三点共线,则OQ=a*OA+b*OB,且a+b=1,其中O表示不在直线AB上的任意点,当然如果原点不在直线AB上,用原点也是成立的。 推导 1) OA+AB=OB => AB=OB-OA 2) OA+AQ=OQ 设AQ=r1*AB, 则OA+r1*AB=OQ, 将1)中的AB代入得: OQ 阅读全文
posted @ 2023-11-21 23:09 yanghui01 阅读(1956) 评论(0) 推荐(0)
摘要: 圆心为(xc, yc), 半径为r的圆: 两圆方程组联立后,求方程组的解 1) 圆1方程 - 圆2方程: 2) 把x=a*y+b代入圆1方程: 3) 利用一元二次方程求根公式,求出x, y a, b, A, B, C, D1, E1, F1这些都可根据圆心和半径求出,所以x, y也能求出来了。 特殊 阅读全文
posted @ 2023-11-17 00:52 yanghui01 阅读(1430) 评论(0) 推荐(0)
上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 48 下一页