平面平行度计算公式

更新时间:01-22 教程 由 默遇 分享

平面平行度计算公式?

Ax+By+Cz+D=0这一平面)

2.在需要计算的面上找三点,通过公式计算出与面的距离D1,D2,D3,对这三个点进行计算以求的最终平面度

实现

1.求基准面

Test中调用情况(模拟数据输入)

void Test() {

double array1[3][3] = { { 2.345,1.286,2.369 },{ 3.3847,3.345,3.534 },{ 4,4,4.2 }};

//定义数组指针指向第一个元素(int[])

double (*p)[3] = array1;

double * pABCD=getABCD(p);

cout<<"基准平面方程为:"<

}

三点求平面度公式

/*

计算基础面平面公式系数

parms:指向二维数组的指针,其中数组中装着3个点的三维坐标

ret:abcd系数的double数组

*/

double * getABCD(double (*parms)[3] ){

//定义装载系数ABCD的数组

double result[4] ;

result[0] = parms[0][1]*parms[1][2] - parms[0][1] *parms[2][2] - parms[1][1]*parms[0][2] + parms[1][1]* parms[2][2] + parms[2][1]*parms[0][2] - parms[2][1]*parms[1][2];

result[1] = -parms[0][0]*parms[1][2] + parms[0][0]*parms[2][2] + parms[1][0]*parms[0][2] - parms[1][0]* parms[2][2] - parms[2][0]* parms[0][2] + parms[2][0]* parms[1][2];

result[2] = parms[0][0]*parms[1][1] - parms[0][0]*parms[2][1] - parms[1][0]*parms[0][1] + parms[1][0]*parms[2][1] + parms[2][0]*parms[0][1] - parms[2][0]*parms[1][1];

result[3] = parms[0][0]*parms[1][1]*parms[2][2] - parms[0][0] *parms[2][1]*parms[1][2] - parms[1][0]*parms[0][1]*parms[2][2] + parms[2][0]*parms[0][1] *parms[1][2] + parms[1][0]*parms[2][1]*parms[0][2] - parms[2][0]*parms[1][1]*parms[0][2];

//返回

double *p = result;

return p

登录后复制

该函数细致的使用了数组指针这一概念,参考

3.运行结果

但在没有已知基准面的情况下,基准面计算需根据所有模拟输入的点来计算,但目前只随机取三点,结果偶然性极大,下一步会让所有数据参加运算。

当前思路是首先去除无效值,即Z(高度值)为极限值的数据,因为这些数据位置可能处于扫描底版。然后对剩余数据进行分组处理,三个数据点一组,共计(n/3)组。这些数据分别计算基准平面的系数ABCD,最后对ABCD,取平均值。最后即为真正的基准平面

声明:关于《平面平行度计算公式》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2314430.html