Clico um triângulo 3D contra uma caixa delimitadora alinhada ao eixo 3D (AABB) para obter o maior polígono planar do triângulo contido na AABB. Meu algoritmo de recorte é uma versão (ligeiramente modificada) do algoritmo de Sutherland-Hodgman robusto (por exemplo, os planos de recorte têm uma pequena espessura finita), conforme descrito em C. Ericson Real-Time Collision Detection. Clico o triângulo contra cada um dos 6 planos que constituem a AABB.
Para evitar a (des) alocação de heap, aloquei previamente um buffer de ponto de tamanho fixo na pilha para todos os vértices do polígono planar obtido. Minha pergunta agora é: qual é o número máximo de vértices possível após um recorte de um triângulo contra um AABB?
Com base no fluxo de controle, todo vértice examinado pode resultar em dois vértices durante um recorte de plano de polígono. Assim, vértices. Devido à simetria, isso se torna vértices. No entanto, sempre obtenho menos vértices na prática.