三角形 Project 简介
项目参考 ingress 的玩法,通过占领地图上的点位生成三角形区域,然后比较三角形区域的大小。
不同的是,项目多了一条底层规则——双方的区域不可相交。
项目具体可以分为两个板块:
- 三角形绘制;
- 面积计算。
三角形绘制
面积计算
整体思路
- 我方每占领一个点位,判断我方总占领点位是否大于等于 3;
- 若是大于等于 3——以 4 个点位为例,将 4 个点位进行无序排列组合,共 4 个三角形:
- (1, 2, 3)
- (1, 2, 4)
- (1, 3, 4)
- (2, 3, 4)
- 遍历这 4 个三角形与敌方三角形的关系,以 (1, 2, 3) 为例:
- 首先判断 123 三个顶点是否在敌方三角形中。这里计算量小,如果顶点在敌方三角形中,说明该三角形区域一定会与敌方三角形相交;
- 若三个顶点均不在敌方任意的三角形中,再判断边 12、23、31 是否与敌方任意三角形的边相交。如果相交,说明该三角形区域一定会与敌方三角形相交;
- 绘制出我方不与敌方三角形区域相交的三角形,并计算面积并。
三角形 Project 简介
https://wonderhoi.com/2024/11/18/三角形-Project-简介/