这个是直接通过python算法计算多点拟合的直线效果图,废话不多说,直接上代码
from matplotlib import pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
x = 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)
# 对以平均值为中心的数据进行SVD
uu, dd, vv = np.linalg.svd(data - datamean)
#cj表示步长?
|