很长一段时间没有写总结了,随着冬令营的结束,最近对大幅度的总结。
最后一天LRJ讲了下计算几何我才发现3D凸包原来如此简单。
主要讲了两个算法:包裹法和增量算法。
个人感觉增量法比较好,整个过程只用到了+-*这集中运算,不涉及实数运算。
包裹法:首先确定一条一定为凸包上的线段,然后由这条线段为轴,像包纸一样的往顺时针(逆时针)包,碰到的第一个点就是凸包上的点,这时候又可以确定两条直线,递归操作;
增量法:首先任选4个点形成的一个四面体,然后每次新加一个点;
分两种情况:1.在凸包内,无视;
2.在凸包外,找到从这个点可以“看见”的面,删除这些面,然后对于一边没有面的线段,和新加的这个点新建一个面;
至于这个点可以看见的面,就是求出这个面的方程(可以直接求法向量)。
明天就是冬令营了,{$RP++}!
code: