La idea que que las aristas que no se ven deberían ser menos compatibles, definiendo la visibilidad como una banda perpendicular a la arista, como se ve en la imagen.
Se calcula una arista I, que es la proyección de la arista Q sobre la recta definida por P. Según yo se necesitan las pendientes, tanto de la arista Q como de la arista P para definirla, así que este trozo de código me generó dudas.
Compatibilidad por visibilidad
La idea que que las aristas que no se ven deberían ser menos compatibles, definiendo la visibilidad como una banda perpendicular a la arista, como se ve en la imagen.
Se calcula una arista I, que es la proyección de la arista Q sobre la recta definida por P. Según yo se necesitan las pendientes, tanto de la arista Q como de la arista P para definirla, así que este trozo de código me generó dudas.
Mis dudas aumentaron al ver en la función
edge_visibility
estas dos líneas:La pendiente de
oedge
no está jugando ningún rol, lo que es sumamente sospechoso.