コード例 #1
0
 def test_k_n_m(self):
     for n in range(2, 5):
         for m in range(2, 5):
             g = nx.complete_bipartite_graph(n, m)
             if n < 3 or m < 3:
                 self.assertEqual(thickness.thickness(g), 1)
             else:
                 self.assertEqual(thickness.thickness(g), 2)
コード例 #2
0
 def test_almost_k_5(self):
     g = nx.complete_graph(5)
     g.remove_edge(0, 1)
     self.assertEqual(thickness.thickness(g), 1)
     g.remove_edge(1, 2)
     g.add_edge(1, 5)
     g.add_edge(5, 2)
     self.assertEqual(thickness.thickness(g), 1)
コード例 #3
0
 def test_almost_k_3_3(self):
     g = nx.Graph()
     for i in range(
             0, 3
     ):  # make a complete bipartite graph with bipartitions {0,1,2} and {3,4,5}
         for j in range(3, 6):
             g.add_edge(i, j)
     g.remove_edge(0, 3)
     self.assertEqual(thickness.thickness(g), 1)
     g.add_edge(0, 6)
     g.add_edge(6, 2)
     self.assertEqual(thickness.thickness(g), 1)
コード例 #4
0
 def test_one_node(self):
     g = nx.Graph()
     g.add_node(0)
     self.assertEqual(thickness.thickness(g), 1)
コード例 #5
0
 def test_wellknown_graphs(self):
     # self.assertEqual(thickness.thickness(nx.petersen_graph()), 2)
     # self.assertEqual(is_planar(nx.tutte_graph()))  takes to long
     self.assertEqual(thickness.thickness(nx.wheel_graph(7)), 1)
コード例 #6
0
 def test_k_n(self):
     self.assertEqual(
         thickness.thickness(nx.complete_graph(4)), 1
     )  # see https://en.wikipedia.org/wiki/Thickness_(graph_theory) , first formula
     self.assertEqual(thickness.thickness(nx.complete_graph(6)), 2)
     self.assertEqual(thickness.thickness(nx.complete_graph(8)), 2)
コード例 #7
0
 def test_k_3_3(self):
     g = nx.complete_bipartite_graph(3, 3)
     self.assertEqual(thickness.thickness(g), 2)
コード例 #8
0
 def test_k_5(self):
     g = nx.complete_graph(5)
     self.assertEqual(thickness.thickness(g), 2)
コード例 #9
0
matplotlib.use('TkAgg')  # nopep8
import matplotlib.pyplot as plt
import planarity
import thickness
import planarity_test as p
from docopt import docopt

if __name__ == '__main__':
    arguments = docopt(__doc__)
    M = int(arguments['M'])
    N = int(arguments['N'])
    output = arguments['OUTPUT']

    G = nx.gnm_random_graph(M, N)

    try:
        print("Graph is planar")
        planarity.draw(G)
        plt.axis('off')
        plt.savefig(output)
    except:
        print("Graph not planar!")
        nx.draw_random(G)
        plt.axis('off')
        plt.savefig(output)
    if (p.is_planar(G)):
        print("Our algorithm says that the graph is planar")
    else:
        print("thickness:")
        print(thickness.thickness(G))
コード例 #10
0
#<option id="index" value="1.498">CR-39</option>
#<option id="index" value="1.527">Trivex</option>
#<option id="index" value="1.537">Spectralite</option>
#<option id="index" value="1.586">Polycarbonate</option>
#<option id="index" value="1.595">MR-6</option>
#<option id="index" value="1.592">MR-8</option>
#<option id="index" value="1.658">MR-7</option>
#<option id="index" value="1.661">MR-10</option>
#<option id="index" value="1.732">MR 174</option>

index = [1.498, 1.527, 1.537, 1.586, 1.595,  1.592, 1.658, 1.661, 1.732]
thickArray = []
nameArray = ['<td>CR-39</td>', '<td>Trivex</td>', '<td>Spectralite</td>', '<td>Polycarbonate</td>', '<td>MR-6</td>', '<td>MR-8</td>', '<td>MR-7</td>', '<td>MR-10</td>', '<td>MR 174</td>']
i = 0
for n in index:
	aThickness = thickness.thickness(float(minThick),float(bc), n, min_blank, horizontalPower)
	thickArray.insert(i, ('<tr>' + nameArray[i] + aThickness + '</tr>'))
	
	i = i+1
	
thickArray = ''.join(thickArray)	
print "Content-type:text/html\r\n\r\n"
print "<!DOCTYPE html><html lang='en'><head><meta charset='utf-8'>"
print "<title>Thickness</title>"
print "<meta name='description' content=''>"
print "<meta name='author' content=''>"
print "<meta name='viewport' content='width=device-width, initial-scale=1'>"
print "<link href='//fonts.googleapis.com/css?family=Raleway:400,300,600' rel='stylesheet' type='text/css'>"
print "<link rel='stylesheet' href='/brent/css/normalize.css'>"
print "<link rel='stylesheet' href='/brent/css/skeleton.css'>"
print "<link rel='icon' type='image/png' href='/images/favicon.png'>"