前言
上回咱们经历了C++和算法的严刑拷打,这回来看看面试游戏客户端会有哪些特色问题,大家面试之前心里也能有个底。这部分考验思维能力和游戏开发相关素养,不是必选项但可以是加分项,简历通过筛选后,只会根据简历上的内容提问。
知识点
5. 给出四个点坐标,如何判断一个点在不在另三个点构成的三角形内?
-
面积法:计算 ΔABC 和点 P 与 ΔABC 的各个子三角形 PAB、PBC 和 PCA 的面积。若这三个子三角形的面积之和等于 ΔABC 的面积,则点 P 在三角形内。
-
同侧法:对于三条边向量 AB,BC,CA,点P需要在向量的同侧(如顺时针方向)。而向量叉积的符号反映了向量的旋转方向或位置,可以计算点 P 和点 A 关于边向量BC的叉积,比如 PB×BC 和 AB×BC 的结果正负性相同,认为点 P 和点 A在BC同侧。
-
射线法:从点 P 发射一条射线,计算射线与三角形边的交点数量。如果交点数量是奇数,则点 P 在三角形内部;