In [1]:
%matplotlib inline
In [2]:
nodes, edges = [], []
In [3]:
from catplot.grid_components.nodes import Node2D
from catplot.grid_components.edges import Edge2D
In [4]:
top = Node2D([0.0, 0.0], size=800, color="#2A6A9C")
In [5]:
t1 = Node2D([0.0, 1.0])
t2 = Node2D([1.0, 0.0])
In [6]:
nodes.append(top)
In [7]:
e1 = Edge2D(top, t1, width=4)
e2 = Edge2D(top, t2, width=4)
In [8]:
edges.extend([e1, e2])
In [9]:
bridge1 = Node2D([0.0, 0.5], style="s", size=600, color="#5A5A5A", alpha=0.6)
bridge2 = Node2D([0.5, 0.0], style="s", size=600, color="#5A5A5A", alpha=0.6)
In [10]:
b1 = bridge1.clone([0.5, 0.5])
b2 = bridge2.clone([0.5, 0.5])
In [11]:
nodes.extend([bridge1, bridge2])
In [12]:
e1 = Edge2D(bridge1, b1)
e2 = Edge2D(bridge1, bridge2)
e3 = Edge2D(bridge2, b2)
e4 = Edge2D(b1, b2)
In [13]:
edges.extend([e1, e2, e3, e4])
In [14]:
h = Node2D([0.5, 0.5], style="h", size=700, color="#5A5A5A", alpha=0.3)
In [15]:
nodes.append(h)
In [16]:
from catplot.grid_components.grid_canvas import Grid2DCanvas
In [17]:
canvas = Grid2DCanvas()
In [18]:
from catplot.grid_components.supercell import SuperCell2D
In [19]:
supercell = SuperCell2D(nodes, edges, cell_vectors=[[1.0, 0.0],
[0.5, 1.0]])
In [20]:
canvas.add_supercell(supercell)
In [21]:
canvas.draw()
canvas.figure
Out[21]:
In [22]:
expanded_supercell = supercell.expand(3, 3)
In [23]:
canvas_big = Grid2DCanvas(figsize=(30, 20), dpi=60)
In [24]:
canvas_big.add_supercell(expanded_supercell)
In [25]:
canvas_big.draw()
canvas_big.figure
Out[25]: