triangular_lattice_graph#
- triangular_lattice_graph(m, n, periodic=False, with_positions=True, create_using=None)[source]#
返回 \(m\) 乘 \(n\) 的三角晶格图。
三角晶格图(triangular lattice graph)是一种二维网格图(grid graph),其中每个方形单元都有一个对角线边(每个网格单元都有一个弦)。
返回的图具有 \(m\) 行和 \(n\) 列的三角形。行和列包括向上和向下的三角形。行形成恒定高度的条带。列形成一系列菱形,与两侧的列交错排列。另一种描述尺寸的方法是,节点形成一个由
m+1
行和(n + 1) // 2
列组成的网格。奇数行的节点相对于偶数行会水平偏移。有向图类型的边指向向上或向右。
默认情况下或当
with_positions is True
时计算节点位置。每个节点的位置(嵌入欧几里德平面中)使用边长为 1 的等边三角形存储在图中。因此,节点行之间的高度为 \(\sqrt(3)/2\)。节点位于第一象限,节点 \((0, 0)\) 位于原点。- 参数:
- mint
晶格中的行数。
- nint
晶格中的列数。
- periodicbool (default: False)
如果为 True,则使用周期性边界条件连接网格的边界顶点。边界之间的连接是最后一行的三角形和最后一列的三角形。这意味着周期性晶格的节点少一行和一列。周期性晶格要求
m >= 3
,n >= 5
,并且如果m
或n
为奇数,则允许但不完全对齐。- with_positionsbool (default: True)
将每个节点的坐标存储在图节点属性“pos”中。坐标提供了一个由等边三角形组成的晶格。周期性位置会以非线性方式垂直移动节点,这样边就不会过多重叠。
- create_usingNetworkX 图构造器,可选 (default=nx.Graph)
要创建的图类型。如果是图实例,则在填充之前会清除。
- 返回:
- NetworkX 图
m 乘 n 的三角晶格图。