浏览代码

sync lanczos u,v meaning to bilinear/bicubic

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@44295 15284696-431f-4ddb-bdfa-cd5b030d7da7
Markus Metz 14 年之前
父节点
当前提交
f27fa1eac6
共有 1 个文件被更改,包括 30 次插入30 次删除
  1. 30 30
      lib/raster/interp.c

+ 30 - 30
lib/raster/interp.c

@@ -55,60 +55,60 @@ DCELL Rast_interp_lanczos(double u, double v, DCELL *c)
     double uweight[5], vweight[5], d, d_pi;
     double sind, sincd1, sincd2;
 
-    d_pi = v * M_PI;
+    d_pi = u * M_PI;
     sind = 2 * sin(d_pi);
     sincd1 = sind * sin(d_pi / 2);
-    vweight[2] = (v == 0 ? 1 : sincd1 / (d_pi * d_pi));
+    uweight[2] = (u == 0 ? 1 : sincd1 / (d_pi * d_pi));
 
-    d = v + 2;
+    d = u + 2;
     d_pi = d * M_PI;
-    vweight[0] = (d == 0 ? 1 : -sincd1 / (d_pi * d_pi));
+    uweight[0] = (d == 0 ? 1 : -sincd1 / (d_pi * d_pi));
 
-    d = v + 1.;
+    d = u + 1.;
     d_pi = d * M_PI;
     sincd2 = sind * sin(d_pi / 2);
-    vweight[1] = (d == 0 ? 1 : -sincd2 / (d_pi * d_pi));
+    uweight[1] = (d == 0 ? 1 : -sincd2 / (d_pi * d_pi));
 
-    d = v - 1.;
+    d = u - 1.;
     d_pi = d * M_PI;
-    vweight[3] = (d == 0 ? 1 : sincd2 / (d_pi * d_pi));
+    uweight[3] = (d == 0 ? 1 : sincd2 / (d_pi * d_pi));
 
-    d = v - 2.;
+    d = u - 2.;
     d_pi = d * M_PI;
-    vweight[4] = (d == 0 ? 1 : -sincd1 / (d_pi * d_pi));
+    uweight[4] = (d == 0 ? 1 : -sincd1 / (d_pi * d_pi));
 
-    d_pi = u * M_PI;
+    d_pi = v * M_PI;
     sind = 2 * sin(d_pi);
     sincd1 = sind * sin(d_pi / 2);
-    uweight[2] = (u == 0 ? 1 : sincd1 / (d_pi * d_pi));
+    vweight[2] = (v == 0 ? 1 : sincd1 / (d_pi * d_pi));
 
-    d = u + 2;
+    d = v + 2;
     d_pi = d * M_PI;
-    uweight[0] = (d == 0 ? 1 : -sincd1 / (d_pi * d_pi));
+    vweight[0] = (d == 0 ? 1 : -sincd1 / (d_pi * d_pi));
 
-    d = u + 1.;
+    d = v + 1.;
     d_pi = d * M_PI;
     sincd2 = sind * sin(d_pi / 2);
-    uweight[1] = (d == 0 ? 1 : -sincd2 / (d_pi * d_pi));
+    vweight[1] = (d == 0 ? 1 : -sincd2 / (d_pi * d_pi));
 
-    d = u - 1.;
+    d = v - 1.;
     d_pi = d * M_PI;
-    uweight[3] = (d == 0 ? 1 : sincd2 / (d_pi * d_pi));
+    vweight[3] = (d == 0 ? 1 : sincd2 / (d_pi * d_pi));
 
-    d = u - 2.;
+    d = v - 2.;
     d_pi = d * M_PI;
-    uweight[4] = (d == 0 ? 1 : -sincd1 / (d_pi * d_pi));
+    vweight[4] = (d == 0 ? 1 : -sincd1 / (d_pi * d_pi));
 
-    return ((c[0] * vweight[0] + c[1] * vweight[1] + c[2] * vweight[2]
-	    + c[3] * vweight[3] + c[4] * vweight[4]) * uweight[0] +
-	    (c[5] * vweight[0] + c[6] * vweight[1] + c[7] * vweight[2]
-	    + c[8] * vweight[3] + c[9] * vweight[4]) * uweight[1] + 
-	    (c[10] * vweight[0] + c[11] * vweight[1] + c[12] * vweight[2]
-	    + c[13] * vweight[3] + c[14] * vweight[4]) * uweight[2] + 
-	    (c[15] * vweight[0] + c[16] * vweight[1] + c[17] * vweight[2]
-	    + c[18] * vweight[3] + c[19] * vweight[4]) * uweight[3] + 
-	    (c[20] * vweight[0] + c[21] * vweight[1] + c[22] * vweight[2]
-	    + c[23] * vweight[3] + c[24] * vweight[4]) * uweight[4]);
+    return ((c[0] * uweight[0] + c[1] * uweight[1] + c[2] * uweight[2]
+	    + c[3] * uweight[3] + c[4] * uweight[4]) * vweight[0] +
+	    (c[5] * uweight[0] + c[6] * uweight[1] + c[7] * uweight[2]
+	    + c[8] * uweight[3] + c[9] * uweight[4]) * vweight[1] + 
+	    (c[10] * uweight[0] + c[11] * uweight[1] + c[12] * uweight[2]
+	    + c[13] * uweight[3] + c[14] * uweight[4]) * vweight[2] + 
+	    (c[15] * uweight[0] + c[16] * uweight[1] + c[17] * uweight[2]
+	    + c[18] * uweight[3] + c[19] * uweight[4]) * vweight[3] + 
+	    (c[20] * uweight[0] + c[21] * uweight[1] + c[22] * uweight[2]
+	    + c[23] * uweight[3] + c[24] * uweight[4]) * vweight[4]);
 }
 
 DCELL Rast_interp_cubic_bspline(double u, DCELL c0, DCELL c1, DCELL c2, DCELL c3)