几何部分基于 QEM 曲面简化时如果 edgequeue 中第一个边是“不安全”的如何处理?

实验文档中只说了拒绝坍缩,但是是将其直接 erase 掉还是说要保留并且查找下一个 edgerecord 元素呢,因为后面如果有其他边发生了坍缩,这条边可能就又能够坍缩了。所以感觉不能舍弃?但文档的意思好像是直接舍弃这个 edgerecord?

我们对此不作要求,你可以选择直接从队列中删掉这条边,也可以选择之后再检查它能不能坍缩。参考实现(预编译版本)中采用的思路是前一种(直接扔掉),你也可以这样做,不会影响验收。

实际上 QEM 的计算过程已经包含了大量的近似处理,所以偶尔扔掉几条边并不会对结果造成多大影响。如果你确实想保留它们,可能需要考虑再开一个队列来维护当前发现的无法坍缩的边,并在每次坍缩后重新检查该队列。如果有些边变得可以坍缩了,就将它们移回主队列中。这样实现起来会复杂不少,我尚未尝试过,你有兴趣的话可以试试。