c语言代码:将大量空间点(x,y,z也就是三维的数组) 拟合成一个平面的代码

源于对平面扫描,获取的三维坐标点云,用程序将它们重新组成一个平面,由于个别点有误差,最好是基于最小二乘法,谢谢大神

您好,您这样:
#include<iostream>
#include<cmath>
using namespace std;
double solve(int x,int y,int z) //计算坐标到原点距离
{
return sqrt(x*x+y*y+z*z);
}
int main()
{
int i,x,y,z; //定义三维坐标 存x,y,z
double dis,maxdis=0; //定义最远距离
for(i=0;i<15;i++)
{
cin>>x>>y>>z; //输入
dis=solve(x,y,z); //计算
maxdis=dis>maxdis?dis:maxdis; //判断远近
}
printf("%lf\n",maxdis);//输出最远的
return 0;
}
温馨提示:内容为网友见解,仅供参考
无其他回答

求空间圆最小二乘拟合的C语言程序
x = Cz + r (Uz*cos(t) + Vz*sin(t));Cx,Cy,Cz 是圆心 x,y,z 座标。r 是半径。Ux,Uy,Uz 是 与 圆所在平面的 法线 方向 有关 的 单位向量(规一化后的向量)Vx,Vy,Vz 是 与 圆所在平面的 切线 方向 有关 的 单位向量 (规一化后的向量)--- 空间不在一条线上的3点,...

跪求c语言高手,编条程序用来算5个坐标点的二次多项式拟合方程???急要...
double temp,m; \/\/中间变量 double x[6]={0,5,10,15,20,25},y[6]={0,1.0029,1.0023,1.0000,0.9990,0.9983};\/\/x[]为用户输入的横坐标的值 double a[5][5];\/\/a[ ][ ] 记录在最小二乘算法中产生的系数矩阵 double b[5];\/\/常数矩阵的元素的值 for(i=1;i<=5;i++...

相似回答