Tengo la parálisis de la perfección cuando se trata de producir algo gráfico. Si las simetrías de lo visual no se han explorado por completo, me es más difícil comprender lo que está sucediendo. También soy un aprendiz muy visual, y ME ENCANTA simplificar las cosas que acabo de aprender y dibujarlas en papel.Mejorando el diseño de graphviz
Graphviz es una buena herramienta para dibujar cosas automáticamente, pero podría ser mejor. Comencemos con un ejemplo de un buen gráfico) en lugar de una máquina de estado). No importa la calidad (se puede volver a dibujar con una herramienta mejor) esta es casi perfecta, excepto que la giraría en sentido antihorario 45 grados para hacer que la simetría sea aparente. Entonces debería llevar al lector menos tiempo para descubrir cómo los estados q1 y q2 son similares y cómo difieren. Yo sostengo que hay una sola mejor manera de representar ese diagrama, dado que no hay otras piezas de gráfico al lado.
Ahora vamos a ver una representación menos que perfecto:
Esto parece algo un graphviz generaría. Sí, los bordes son suaves, pero GAAAAWWWD ¡esto no es innecesario! Parece un mapa mental, no un diagrama terminado listo para el consumo. Creo que los ojos humanos CREE (no menos) simetría. Sí, la jerarquía, etc. también son factores importantes.
Me sorprende que no haya mejores algoritmos disponibles. Algunas personas no son aprendices visuales en absoluto; pueden captar conceptos abstractos leyendo símbolos. ¡Yo no!
Entonces, ¿cuál es mi pregunta? Bueno, ¿hay mejor software libre disponible para dibujar gráficos pequeños a medianos? Tal vez
¡Gracias!
Dejarme saber cómo puedo mejorar esta publicación.
P.S. Me tomó 10 minutos dibujar un clon similar en dia. Todavía no es perfecto, pero fue conveniente hacerlo porque todo se ajusta a la cuadrícula (y olvidé algunos pequeños detalles, pero no tengo ganas de volver a cargarlo). El LR_0 necesita un "Inicio --->" que viene desde arriba para que el usuario pueda captar el estado inicial más pronto.
Finate State Machine http://i47.tinypic.com/315e6w6.png
¿Puede definir lo que significa "belleza" es en términos de código? Te sorprende que no haya algoritmos mejores, pero "mejor" no está exactamente bien definido cuando se trata de hacer gráficos arbitrarios :) Parece que anhelas la simetría, pero admites que otros prefieren enfatizar la jerarquía, bordes suaves , etc. –
grahpviz tiene muchas opciones para cambiar el diseño, las líneas, etc. (aunque es casi imposible deducir de su documentación cómo funcionan las cosas). Podría, por ejemplo, intente agregar 'rankdir = LR;' al gráfico para cambiar el diseño – nos
En el primer gráfico, 'LR_2' también se conecta a' LR_5' con 'SS (a)', mientras que en el segundo gráfico se conecta a otro nodo llamado ' LR_2' con 'S (A)'. – MERose