Ticket #11399: trac_11399.patch

File trac_11399.patch, 2.4 KB (added by ncohen, 10 years ago)
  • sage/graphs/graph_generators.py

    # HG changeset patch
    # User Nathann Cohen <nathann.cohen@gmail.com>
    # Date 1306692118 -7200
    # Node ID 6b34125f52d1c54a84083b6672fe6f6d6edd40c6
    # Parent  f8bdf65336cfdc59771dca5141e5b96d72c1d57b
    trac 11399 -- Some other embeddings for graph generators
    
    diff -r f8bdf65336cf -r 6b34125f52d1 sage/graphs/graph_generators.py
    a b  
    19581958        """
    19591959        import networkx
    19601960        G = networkx.tetrahedral_graph()
    1961         return graph.Graph(G, name="Tetrahedron")
     1961        return graph.Graph(G, name="Tetrahedron", pos =
     1962                           { 0 : (0, 0),
     1963                             1 : (0, 1),
     1964                             2 : (cos(3.5*pi/3), sin(3.5*pi/3)),
     1965                             3 : (cos(5.5*pi/3), sin(5.5*pi/3))}
     1966                           )
    19621967
    19631968    def HexahedralGraph(self):
    19641969        """
     
    20522057        """
    20532058        import networkx
    20542059        G = networkx.octahedral_graph()
    2055         return graph.Graph(G, name="Octahedron")
     2060
     2061        pos = {}
     2062        r1 = 5
     2063        r2 = 1
     2064        for i,v in enumerate([0,1,2]):
     2065            i = i + 0.75
     2066            pos[v] = (r1*cos(i*2*pi/3),r1*sin(i*2*pi/3))
     2067
     2068        for i,v in enumerate([4,3,5]):
     2069            i = i + .25
     2070            pos[v] = (r2*cos(i*2*pi/3),r2*sin(i*2*pi/3))
     2071
     2072
     2073        return graph.Graph(G, name="Octahedron", pos=pos)
    20562074
    20572075    def IcosahedralGraph(self):
    20582076        """
     
    21482166        """
    21492167        import networkx
    21502168        G = networkx.dodecahedral_graph()
    2151         return graph.Graph(G, name="Dodecahedron")
     2169
     2170        pos = {}
     2171        r1 = 7
     2172        r2 = 4.7
     2173        r3 = 3.8
     2174        r4 = 1.5
     2175
     2176        for i,v in enumerate([19,0,1,2,3]):
     2177            i = i + .25
     2178            pos[v] = (r1*cos(i*2*pi/5),r1*sin(i*2*pi/5))
     2179
     2180        for i,v in enumerate([18,10,8,6,4]):
     2181            i = i + .25
     2182            pos[v] = (r2*cos(i*2*pi/5),r2*sin(i*2*pi/5))
     2183
     2184        for i,v in enumerate([17,11,9,7,5]):
     2185            i = i - .25
     2186            pos[v] = (r3*cos(i*2*pi/5),r3*sin(i*2*pi/5))
     2187           
     2188        for i,v in enumerate([12,13,14,15,16]):
     2189            i = i + .75
     2190            pos[v] = (r4*cos(i*2*pi/5),r4*sin(i*2*pi/5))
     2191
     2192        return graph.Graph(G, name="Dodecahedron", pos=pos)
    21522193
    21532194    #######################################################################
    21542195    #   Named Graphs