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], 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=3)
e2 = Edge2D(top, t2, width=3)
In [8]:
edges.extend([e1, e2])
In [9]:
bridge1 = Node2D([0.0, 0.5], style="s", size=200, color="#B57C7A", alpha=0.6)
bridge2 = Node2D([0.5, 0.0], style="s", size=200, color="#B57C7A", 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=300, color="#D9A23F", alpha=0.6)
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)
In [20]:
canvas.add_supercell(supercell)
In [21]:
canvas.draw()
canvas.figure
Out[21]:
In [22]:
s1 = supercell.clone([1.0, 0.0])
In [23]:
canvas.add_supercell(s1)
In [24]:
canvas.redraw()
canvas.figure
Out[24]:
In [25]:
s2 = supercell.clone([0.0, 1.0])
s3 = supercell.clone([1.0, 1.0])
In [26]:
canvas.add_supercell(s2)
canvas.add_supercell(s3)
In [27]:
canvas.redraw()
canvas.figure
Out[27]: