相关疑难解决方法(0)

求解线性方程

我需要以编程方式解决C,Objective C或(如果需要)C++中的线性方程组.

这是方程的一个例子:

-44.3940 = a * 50.0 + b * 37.0 + tx
-45.3049 = a * 43.0 + b * 39.0 + tx
-44.9594 = a * 52.0 + b * 41.0 + tx
Run Code Online (Sandbox Code Playgroud)

由此,我想获得最好的逼近a,b以及tx.

math linear-equation system linear-algebra

38
推荐指数
4
解决办法
3万
查看次数

适合平面算法,如何预测结果?

更新:我已经修改了Optimize,Eigen和Solve方法来反映变化.所有现在都返回"相同"向量,允许机器精度. 我仍然对Eigen方法感到困惑.具体如何/为什么我选择特征向量切片没有意义.这只是试验和错误,直到正常情况与其他解决方案相匹配.如果有人能够纠正/解释我真正应该做的事情,或者为什么我做了什么工作我会很感激..

感谢 亚历山大克莱默解释为什么我采取切片,只能选择一个正确的答案

我有一个深度图像.我想计算深度图像中像素的粗糙表面法线.我考虑周围像素,在最简单的情况下是3x3矩阵,并将平面拟合到这些点,并计算该平面的法向单位矢量.

听起来很简单,但最好先考虑平面拟合算法.搜索SO和其他各种网站,我看到使用最小二乘法,单值分解,特征向量/值等的方法.

虽然我不完全理解数学,但我已经能够使各种片段/示例起作用.我遇到的问题是,我对每种方法都有不同的答案.我期待各种答案是相似的(不完全),但它们似乎有很大的不同.也许有些方法不适合我的数据,但不确定为什么我会得到不同的结果.有什么想法吗?

这是代码的更新输出:

LTSQ:   [ -8.10792259e-17   7.07106781e-01  -7.07106781e-01]
SVD:    [ 0.                0.70710678      -0.70710678]
Eigen:  [ 0.                0.70710678      -0.70710678]
Solve:  [ 0.                0.70710678       0.70710678]
Optim:  [ -1.56069661e-09   7.07106781e-01   7.07106782e-01]
Run Code Online (Sandbox Code Playgroud)

以下代码实现了五种不同的方法来计算平面的曲面法线.算法/代码来自互联网上的各种论坛.

import numpy as np
import scipy.optimize

def fitPLaneLTSQ(XYZ):
    # Fits a plane to a point cloud, 
    # Where Z = aX + bY + c        ----Eqn #1
    # Rearanging Eqn1: aX + bY -Z +c =0
    # Gives normal (a,b,-1)
    # …
Run Code Online (Sandbox Code Playgroud)

python numpy svd least-squares

9
推荐指数
2
解决办法
7576
查看次数

通过最小化正交距离最佳拟合平面

我有一组从表面网格获得的点(形式为x1,y1,z1 ... xn,yn,zn).我想通过最小化正交距离找到最适合这些点的3D平面.x,y,z坐标是独立的,即我想获得平面方程Ax + By + Cz + D = 0的系数A,B,C,D.

获得A,B,C,D的算法是什么?

注意:在前一篇文章中,通过将z坐标视为x,y的线性函数,讨论了最小二乘意义上的最佳拟合平面.然而,这不是我的情况.

algorithm geometry regression

4
推荐指数
1
解决办法
7994
查看次数

RANSAC平面拟合系数

我试图将一架飞机安装到一组点云上.我尝试使用Point Cloud Library(PCL)并且效果很好.我需要知道的是如何获得拟合平面的系数a,b,c(ax + by + cz + 1 = 0).有任何直截了当的方式吗?我从这里得到了一些见解:3D最小二乘平面

point-cloud-library ransac

1
推荐指数
1
解决办法
6356
查看次数