用python将点二维坐标集变成邻接矩阵,其中第一行和第一列分别是点二维坐标,不使用np数组
时间: 2024-05-01 21:17:48 浏览: 68
好的,我明白您的要求。以下是将点二维坐标集变成邻接矩阵的Python代码示例:
```
points = [(1, 2), (3, 4), (5, 6)]
n = len(points)
# 创建一个二维列表(List of List),初始化为0
adj_matrix = [[0] * (n + 1) for i in range(n + 1)]
# 将第一行和第一列设置为点二维坐标
for i in range(1, n + 1):
adj_matrix[0][i] = points[i - 1][0]
adj_matrix[i][0] = points[i - 1][1]
# 根据欧氏距离计算点之间的连接关系
for i in range(1, n + 1):
for j in range(1, n + 1):
dist = ((points[i - 1][0] - points[j - 1][0]) ** 2
+ (points[i - 1][1] - points[j - 1][1]) ** 2) ** 0.5
if dist <= 1: # 如果两点之间距离小于等于1,则认为它们之间有连接关系
adj_matrix[i][j] = 1
# 打印邻接矩阵
for row in adj_matrix:
for value in row:
print(value, end=' ')
print()
```
上述代码中,我们首先定义了一个点二维坐标集,并计算出其中点的数量(n)。然后创建一个(n+1) x (n+1)的邻接矩阵(二维列表),并将第一行和第一列设置为点二维坐标。接着,我们通过计算欧氏距离判断每两个点之间是否有连接关系,并将邻接矩阵中相应的元素设置为1或0。最后,打印出邻接矩阵。
阅读全文