UBL G29 -P3.1 smart fill (#6823)

* UBL G29 -P3.1 mesh fill with distance-weighted least squares fit.

* Back to original -O0 on G29 for now.
This commit is contained in:
oldmcg
2017-05-22 12:33:50 -05:00
committed by Roxy-3D
parent 850203fb3a
commit 48f7652143
4 changed files with 136 additions and 28 deletions

View File

@ -41,27 +41,12 @@
#include "least_squares_fit.h"
void incremental_LSF_reset(struct linear_fit_data *lsf) {
memset(lsf, 0, sizeof(linear_fit_data));
}
void incremental_LSF(struct linear_fit_data *lsf, float x, float y, float z) {
lsf->xbar += x;
lsf->ybar += y;
lsf->zbar += z;
lsf->x2bar += sq(x);
lsf->y2bar += sq(y);
lsf->z2bar += sq(z);
lsf->xybar += x * y;
lsf->xzbar += x * z;
lsf->yzbar += y * z;
lsf->max_absx = max(fabs(x), lsf->max_absx);
lsf->max_absy = max(fabs(y), lsf->max_absy);
lsf->n++;
}
int finish_incremental_LSF(struct linear_fit_data *lsf) {
const float N = (float)lsf->n;
const float N = lsf->N;
if (N == 0.0)
return 1;
lsf->xbar /= N;
lsf->ybar /= N;