当前位置: 首页 > 面试题库 >

使3D线适合Java中的3D点数据?

何涵畅
2023-03-14
问题内容

我花了很多时间试图寻找一种简单的方法-
理想情况下,一个神奇的库在那里某个地方可以获取我的3D数据点集,并使用两个正交点在最佳拟合线上返回2个点回归或最小二乘,还返回拟合线的误差。这样的事情存在吗?如果存在,在哪里?


问题答案:

这很容易做到,但是要自己编写,您将需要特征值求解器或奇异值分解。将(x-xbar,y-ybar,z-zbar)数据的nx3矩阵A创建为列。保存这些列表示以后,我将其称为V0
= [xbar,ybar,zbar]。

现在,计算A’* A的特征值和特征向量,即由A转置乘以A形成的3x3矩阵。

如果此数据位于R ^ 3中的一行上,则这些特征值之一将明显大于其他两个特征值。如果这是不正确的,那么将不能很好地估计正交回归线。

取与最大特征值A’* A关联的特征向量。然后,如果V是对应的特征向量,则正交回归线定义为

V(t)= V0 + t * V

该线上的任何点都可以由参数t的某个值给出。

或者,计算A的奇异值分解,并采用对应于A的最大奇异值的正确奇异矢量。

无论哪种情况,如果您希望计算数据点的误差,则可以将其定义为与所讨论的线的正交距离。



 类似资料:
  • 问题内容: 给定3D中的一组点,通常的问题是找到以下形式的平面方程的系数: 从而使所得平面 最适合 该组点。 在此SO答案中,函数scipy.optimize.minimize用于解决此问题。 它依赖于对系数的初始猜测,并最小化了将每个点到平面表面的距离相加的误差函数。 在此代码中(基于此另一个SO答案),scipy.linalg.lstsq函数用于解决相同的问题(仅限于一阶多项式时)。 它在等式

  • 文:youyou Node Api 升级 由于 Cocos Creator 在 v2.1 支持了 3D 的特性,所以相应节点的 api 也需要由 2D 升级到支持 3D 的使用。 影响比较大的改动是 rotation 的类型将在之后的版本中从 Number 改为 cc.Quat,如果要像之前那样在 2D 空间方便旋转节点,那么可以使用 angle 属性。相应的 setRotation 和 getR

  • 我正在尝试LWJGL库,但我有点困惑。当我尝试渲染具有2d顶点的四边形时:glVertex2f(0,0);glVertex2f(0, 1000);glVertex2f(1000, 1000);glVertex2f(1000, 0);,那么一切似乎都很好,但是当我使用下面的代码时,我只看到黑屏。是我使用了错误的坐标,因此它没有显示在屏幕上,还是其他问题?

  • 3D图表用于绘制三维图表。 在本节中,我们将讨论不同类型的3D图表。 Sr.No. 图表类型和描述 1 3D专栏 3D柱形图。 2 3D散点图 3D散点图。 3 3D派 3D饼图。

  • 在前面的章节中,我们已经了解了如何在XY平面上绘制2D形状。 除了这些2D形状,我们还可以使用JavaFX绘制其他几种3D形状。 3D形状 通常,3D形状是可以在XYZ平面上绘制的几何图形。 这些包括Cylinder, Sphere和Box 。 上面提到的每个3D形状都由一个类表示,所有这些类都属于包javafx.scene.shape 。 名为Shape3D的类是JavaFX中所有三维形状的基类

  • 3D图表用于绘制三维图表。 在本节中,我们将讨论不同类型的3D图表。 Sr.No. 图表类型和描述 1 3D专栏 3D柱形图。 2 带有null的3D列 具有null和0值的3D柱形图。 3 3D列与堆叠 3D柱形图与堆叠和分组。 4 3D派 3D饼图。 5 3D甜甜圈 3D甜甜圈图表。