2011-01-19 7 views
14

¡Realmente apreciaría que alguien que alguna vez manejó el algoritmo de Fortune para generar triangulaciones Delauney me haya presentado un pseudocódigo del algoritmo de bajo nivel! Leí el de wikipedia, pero es un poco confuso y parece de alto nivel, y cualquier fragmento de código que pude encontrar tenía las inconverencias de la implementación original de C.Pseudocódigo para el algoritmo de Fortune

Me gustaría implementarlo en C++, pero de una manera que la salida generada sea en forma de (mis) clases que voy a usar (vértices, aristas y triángulos como objetos). Entonces necesito entender todo e implementarlo desde cero.

También leí la descripción del algoritmo, y sé lo que hace y cómo, pero esto todavía es abstracto para mí en este momento. Sin embargo, también estaría contento con una descripción similar al entrar en los detalles (de implementación), ¡no tiene que ser como un código!

gracias de antemano,

Vicente

+1

¿Hay alguna buena razón para no usar CGAL? La triangulación de Delaunay es muy difícil de acertar: los errores de redondeo con los que se encontrará inevitablemente arruinarán cualquier implementación que no utilice aritmética de precisión adaptativa. –

+0

La única razón es que de alguna manera nunca había escuchado sobre esto antes :) Esto realmente se ve muy prometedor, aparte de la licencia comercial para usos comerciales, pero creo que está bien. Voy a jugar un poco con esto para ver si se ajusta a mis necesidades, pero si a nadie se le ocurre un buen pseudocódigo y es realmente tan difícil de implementar, tal vez quieras repetir esto como una respuesta que puedo marcar como mejor ! – Vincent

Respuesta

22

me tomó alrededor de un mes para entender completamente el algoritmo de la Fortuna, escribí mi seminario de trabajo de la escuela al respecto. Cuando lo obtiene, parece muy fácil :)

Aquí está mi description of Fortune's algorithm, con pseudocódigo imperativo y detalles de implementación.

+0

Muchas gracias, ¡esto se ve exactamente como lo que estoy buscando! Voy a echar un vistazo más de cerca pronto, pero sí creo que es así, así que lo marcaré como una respuesta :) – Vincent

Cuestiones relacionadas