欧几里得

  1.  欧几里得距离、曼哈顿距离和切比雪夫距离
    

1.1 欧几里得距离:两个点之间的距离,也即通常情况下,我们所计算的距离,n维空间中的欧式距离的计算公式为:

在这里插入图片描述

1.2 曼哈顿距离:两个点在标准坐标系上的绝对轴距总和,在2维空间中的计算公式为:

在这里插入图片描述

1.3 切比雪夫距离:各坐标数值差的最大值,在2维空间中的计算公式为:

在这里插入图片描述

欧几里得聚类是一种在点云处理中广泛应用的聚类算法,其核心思想基于欧几里得距离来对空间中的点进行分组。 在点云数据中,每个点都在三维空间中有其特定的坐标。欧几里得聚类通过计算点与点之间的欧几里得距离,也就是空间中两点之间的直线距离。如果两个点之间的欧几里得距离小于预先设定的阈值,那么这两个点就会被认为属于同一个聚类。 以下是一个简单的Python伪代码示例,展示了欧几里得聚类的基本实现思路: ```python import numpy as np def euclidean_distance(point1, point2): return np.linalg.norm(np.array(point1) - np.array(point2)) def euclidean_clustering(points, distance_threshold): clusters = [] unvisited = set(range(len(points))) while unvisited: current_point_index = unvisited.pop() current_cluster = [current_point_index] queue = [current_point_index] while queue: index = queue.pop(0) for neighbor_index in unvisited: if euclidean_distance(points[index], points[neighbor_index]) < distance_threshold: current_cluster.append(neighbor_index) queue.append(neighbor_index) unvisited.remove(neighbor_index) clusters.append(current_cluster) return clusters # 示例点云数据 points = [ [1, 2, 3], [1.1, 2.1, 3.1], [5, 6, 7], [5.1, 6.1, 7.1] ] # 设定距离阈值 distance_threshold = 0.5 # 进行欧几里得聚类 clusters = euclidean_clustering(points, distance_threshold) print(clusters) ``` 欧几里得聚类的优点在于其原理简单易懂,计算速度相对较快,能够有效地将空间中距离相近的点聚集在一起。不过,它也存在一定的局限性,例如对距离阈值的设定比较敏感,如果阈值设置不当,可能会导致聚类结果不准确,出现聚类合并或者分裂的情况。此外,对于分布不均匀的点云数据,其聚类效果可能也不太理想。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值