CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 11 Dic 2019 06:00

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 1 mensaje ] 
Autor Mensaje
NotaPublicado: 22 May 2012 16:47 
Desconectado
Implementador
Implementador

Registrado: 13 Feb 2005 18:57
Mensajes: 1904
Durante la fase de documentación para el llamado "Proyecto Orfeo", hemos hecho una toma de contacto a dos obras anteriores que tocaban el mito, como forma de acercamiento lúdico al mismo (aunque la idea del proyecto no es recrear el periplo de Orfeo).

En la obra de grendelkhan hay un par de laberintos y a algún compañero no le hacen ni pizca de gracia. Tras no obtener información fiable y clara sobre la resolución del laberinto, les pasé unas notas, esperando que fuera suficiente, pero me quedé con ganas de hacer algo más gráfico y completo aprovechando que lo tengo mapeado en papel (con cierta belleza, pero bastante personal).

Lo primero que me vino a la cabeza fue Graphviz, que he usado recientemente con Notxor para otro tema que no viene a cuento. Graphviz permite crear gráficas complejas, de diferentes tipos. Dada la estructura "ilógica" del laberinto, me pareció bien dejar al propio programa que se encargara de definir la distribución de los elementos, liberándome de esa pesada tarea.

Graphviz tiene un montón de visores y editores. El gráfico más básico posible (sin utilizar propiedades espaciales, colores, agrupamientos ni un sin fin de características del lenguaje dot) es algo como:

Código:
digraph DesiertoOrfeoGrendel{
rio -> camino [label=norte];
camino -> sol_a [label=norte];
camino -> sol_b [label=este];
charco -> sol_b [label=norte];
charco -> sol_a [label=oeste];
arbol -> desfiladero [label=norte];
arbol -> sol_b [label=sur];
arbol -> sol_a [label=este];
desfiladero -> arbol [label=sur];
desfiladero -> sol_a [label=norte];
hondonada_a -> charco [label=norte];
hondonada_a -> sol_a [label=oeste];
hondonada_a -> sol_b [label=este];
hondonada_a -> sol_c [label=sur];
sol_a -> desfiladero [label=norte];
sol_a -> arbol [label=oeste];
sol_a -> hondonada_a [label=este];
sol_b -> sol_b [label=este];
sol_b -> sol_b [label=sur];
sol_b -> hondonada_a [label=norte];
sol_c -> sol_c [label=norte];
sol_c -> charco [label=oeste];
sol_c -> hondonada_a [label=norte];
sol_c -> hondonada_a [label=sur];
sol_c -> sol_b [label=este];
}

Para crear una imagen, por ejemplo png (salvo que tengáis un visualizador directo), suponiendo que el anterior código lo hemos introducido en un fichero llamado input.dot:
Código:
dot -Tpng -o output.png input.dot

En vez de dot (el comando, primera palabra en la linea anterior), se puede probar con alguno de los restantes "renderizadores" (filtros en su argot) de graphviz:
Citar:
dot - filter for drawing directed graphs
neato - filter for drawing undirected graphs
twopi - filter for radial layouts of graphs
circo - filter for circular layout of graphs
fdp - filter for drawing undirected graphs

Los más decentes para este caso, dot y circo.

La sintaxis es sencilla, y las posibilidades son bastantes. Puede que, en un momento de procrastinación, haga algún sencillo script para generar los dot de forma más intuitiva.


Arriba
 Perfil  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 1 mensaje ] 

Todos los horarios son UTC + 1 hora


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 5 invitados


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro

Buscar:
Saltar a:  
Desarrollado por phpBB® Forum Software © phpBB Group
Traducción al español por Huan Manwë para phpBB-Es.COM