这个是直接通过python算法计算多点拟合的直线效果图,废话不多说,直接上代码
from matplotlib import pyplot as pltimport numpy as npfrom mpl_toolkits.mplot3d import Axes3Dx = np.array([0.786802, 0.810156, 1.11458, 1.19608])y = np.array([0.608863, 0.573478, 0.120806, 0.00425808])z = np.array([-0.837819, -0.822359, -0.622719, -0.56941])# 创建画布fig = plt.figure()# 创建 3D 坐标系ax = Axes3D(fig)data = np.concatenate((x[:, np.newaxis],y[:, np.newaxis],z[:, np.newaxis]),axis=1)# 计算点的平均值,即点云的“中心”datamean = data.mean(axis=0)# 对以平均值为中心的数据进行SVDuu, dd, vv = np.linalg.svd(data - datamean)#cj表示步长