ref: 2ea187e41726a61d37d225fd8057c08414f4f8f0
parent: f60c543e823dcf95352fd0fe37a0a851a556be81
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Wed Jul 31 01:28:27 EDT 2024
same for linear terms
--- a/rast.c
+++ b/rast.c
@@ -199,10 +199,6 @@
- z.p2.x*(3*z.p2.y + 2*z.p1.y + z.p0.y);
r = 1;
}
- if(r){
- L[0] /= 6.0;
- L[1] /= 6.0;
- }
return r;
}
@@ -252,8 +248,8 @@
K[0] += β₂ - β₁;
K[1] += α₁ - α₂;
- L[0] += (β₂ - β₁)*(α₁ + α₂)/2;
- L[1] += (α₁ - α₂)*(β₁ + β₂)/2;
+ L[0] += 3.0*(β₂ - β₁)*(α₁ + α₂);
+ L[1] += 3.0*(α₁ - α₂)*(β₁ + β₂);
return 1;
}
@@ -324,9 +320,9 @@
}
if(z != 0){
- c[0] += L[0][1] - L[1][1] + L[2][1] - L[3][1] + K[1][1] + K[3][1];
- c[1] += L[0][0] + L[1][0] - L[2][0] - L[3][0] + K[2][0] + K[3][0];
- c[2] += L[0][0] - L[1][0] - L[2][0] + L[3][0] + K[2][0] - K[3][0];
+ c[0] += (L[0][1] - L[1][1] + L[2][1] - L[3][1])/6.0 + K[1][1] + K[3][1];
+ c[1] += (L[0][0] + L[1][0] - L[2][0] - L[3][0])/6.0 + K[2][0] + K[3][0];
+ c[2] += (L[0][0] - L[1][0] - L[2][0] + L[3][0])/6.0 + K[2][0] - K[3][0];
}
}
return all;