From: treecity Date: Fri, 20 May 2011 22:04:07 +0000 (+0000) Subject: [src] Fehler in den Achsenabfragen behoben (y wurde nicht abgerfragt) X-Git-Url: https://git.leopard-lacewing.eu/?a=commitdiff_plain;h=49ff962354cac8ee2c3596867842cc6eeef7ebdf;p=bacc.git [src] Fehler in den Achsenabfragen behoben (y wurde nicht abgerfragt) [src] Alle parallelen Rechteecke sollten Laufen... wobei die erste Koo des Elements die "kleinste" Ecke sein muss git-svn-id: https://drops.fb12.tu-berlin.de/svn/bacc/trunk@28 26120e32-c555-405d-b3e1-1f783fb42516 --- diff --git a/src/SLPrecangle.hpp b/src/SLPrecangle.hpp index 0c91548..418bf5e 100644 --- a/src/SLPrecangle.hpp +++ b/src/SLPrecangle.hpp @@ -18,10 +18,16 @@ double slpADLO(double, double, double, double, double); double compute_g0(double, double, double, double); double FLO_plane(double, double, double, double, double, double, double); -// sol = quadInt((F_par/F_ort),s1,s2,k1,k2,t1,t2,l1,l2,d1,d2,d3); +// sol = quadInt((F_par/F_ort),a,b,c,d,r,t,u,v,d1,d2,d3); double quadInt( double(*)(double, double, double, double, double, double, double), double, double, double, double, double, double, double, double, double, double, double); +// sol = quad0Int((F_par/F_ort),b,d,t,v,d1,d2,d3); +double quad0Int( + double(*)(double, double, double, double, double, double, double), + double, double, double, double, double, double, double); + + #endif diff --git a/src/build_A.cpp b/src/build_A.cpp index ee198db..12b42b8 100644 --- a/src/build_A.cpp +++ b/src/build_A.cpp @@ -144,38 +144,39 @@ void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { else ry = 0; - if (xa[2] != 0) - rxa = 2; - else if (xa[1] != 0) - rxa = 1; + if (ya[2] != 0) + rya = 2; + else if (ya[1] != 0) + rya = 1; else - rxa = 0; + rya = 0; - if (xb[2] != 0) - rxb = 2; - else if (xb[1] != 0) - rxb = 1; + if (yb[2] != 0) + ryb = 2; + else if (yb[1] != 0) + ryb = 1; else - rxb = 0; + ryb = 0; for (i = 0; i<3;++i) - d[i] = y1[i] - x1[i]; + d[i] = y1[i] - x1[i]; // todo: Achtung -> geht davon aus das 1 die kleinste Ecke ist ! - printf("(%d,%d)",rx,ry); + //printf("(%d,%d)",rx,ry); if (rx == ry) { + //printf("%d,%d@%d,%d",rxa,rxb,rya,ryb); if (rxa == rya) { //printf("%d%d %.1f %.1f | %.1f %.1f || %.1f %.1f | %.1f %.1f || %.1f %.1f %.1f\n",j,k,x1[0], x2[0], x1[1], x3[1], y1[0], // y2[0], y1[1], y3[1], d[0], d[1], d[2]); //printf("%d%d %.1f %.1f %.1f\n",j,k,d[0],d[1],d[2]); - tmp = quadInt(F_par, 0, xa[rxa], 0, xb[rxb], 0, - ya[rxa], 0, yb[rxb], d[rxa], d[rxb], d[rx]); + tmp = quad0Int(F_par, fabs(xa[rxa]), fabs(xb[rxb]), + fabs(ya[rxa]), fabs(yb[rxb]), d[rxa], d[rxb], d[rx]); // printf("%d%d|%.2f\n",j,k,tmp); } else{ //printf("%d%d %.1f %.1f | %.1f %.1f || %.1f %.1f | %.1f %.1f || %.1f %.1f %.1f\n",j,k,x1[0], x2[0], x1[1], x3[1], y1[0], // y2[0], y1[1], y3[1], d[0], d[1], d[2]); //printf("%d%d %.1f %.1f %.1f\n",j,k,d[0],d[1],d[2]); - tmp = quadInt(F_par, 0, xa[rxa], 0, xb[rxb], 0, - yb[rxa], 0, ya[rxb], d[rxa], d[rxb], d[rx]); + tmp = quad0Int(F_par, fabs(xa[rxa]), fabs(xb[rxb]), + fabs(yb[rxa]), fabs(ya[rxb]), d[rxa], d[rxb], d[rx]); // printf("%d%d|%.2f\n",j,k,tmp); } A[(k * em) + j] = 1. / (4 * my_PI) * tmp;