Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: gasparenaide en 9 Abril 2013, 06:10 am



Título: Como Crear un Grafo en SvG?
Publicado por: gasparenaide en 9 Abril 2013, 06:10 am
Hola como estan soy nuevo en el foro y tengo muchas dudas acerca de un varios programas que estoy generando en c y estoy teniendo problemas con las funciones para grafos,ocupo linux y estoy trabajando con geany y gcc y bueno
despues de mi presentacion estoy tratando de resolver un problema con respecto a grafos que no se bien como generar una figura  con SVG teniendo en la firma de la funcion :
char* grafica_genera_svg (struct grafica* a,struct lista*t,func_a_cadena f);

La función, como su nombre indica, genera un documento de Scalable
Vector Graphics (SVG), con una representación gráfica del grafo

y lo genero con el siguiente codigo:

<?xml version="1.0" encoding="UTF-8" ?>
<svg width="200" height="200">
  <g>
    <line x1="100" y1="40" x2="40" y2="160" stroke="blue" stroke-width="3" />
    <line x1="100" y1="40" x2="160" y2="160" stroke="blue" stroke-width="3" />
    <circle cx="100" cy="40" r="20" stroke="red" stroke-width="3" fill="red" />
    <circle cx="40" cy="160" r="20" stroke="black" stroke-width="3"
fill="black" />
    <circle cx="160" cy="160" r="20" stroke="black" stroke-width="3"
fill="black" />
    <text fill="white" font-family="sans-serif" font-size="20" x="100" y="45"
             text-anchor="middle">1</text>
    <text fill="white" font-family="sans-serif" font-size="20" x="40" y="165"
             text-anchor="middle">2</text>
    <text fill="white" font-family="sans-serif" font-size="20" x="160" y="165"
             text-anchor="middle">3</text>
  </g>
</svg>

Esto  debe generar un documento svg que represente al grafo.
La función sólo recibe el grafo ( y una función de tipo func_a_cadena para
convertir a cadenas los elementos del mismo. La función regresa una
cadena que contiene el XML del SVG.

Como puedo hacer la funcion para que al meterla en el codigo svg me
genera el grafo???

La parte de la funcion de struct lista* t se puede omitir y que solo quede con
char* grafica_genera_svg (struct grafica* a,func_a_cadena f)

podrian ayudarme??