triangle_ex2.cpp

Go to the documentation of this file.
00001 #include <SyFi.h> 
00002 
00003 int main() {
00004 
00005   symbol x0("x0"), x1("x1"), y0("y0"), y1("y1"), z0("z0"); 
00006   
00007   ex p0 = lst(x0,y0,z0);
00008   ex p1 = lst(x1,y0,z0);
00009   ex p2 = lst(x0,y1,z0);
00010 
00011   Triangle triangle(p0,p1,p2);
00012   
00013   ex repr = triangle.repr();
00014   cout <<"t.repr "<<repr<<endl; 
00015   EQUAL_OR_DIE(repr, "{x==x0+r*(x1-x0),y==y0+(-y0+y1)*s,z==z0,{r,0,1},{s,0,1-r}}"); 
00016   
00017   ex f = x*y*z;
00018   ex intf = triangle.integrate(f); 
00019   cout <<"intf "<<intf<<endl; 
00020   EQUAL_OR_DIE(intf, "5/24*y0*x0*sqrt(-2*y0^2*x1*x0-2*y0*x0^2*y1 +y0^2*x1^2+x1^2*y1^2+4*y0*x1*x0*y1-2*x1*x0*y1^2+x0^2*y1^2-2*y0*x1^2*y1+y0^2*x0^2 )*z0+1/8*x0*sqrt(-2*y0^2*x1*x0-2*y0*x0^2*y1+y0^2*x1^2+x1^2*y1^2+4*y0*x1*x0*y1-2* x1*x0*y1^2+x0^2*y1^2-2*y0*x1^2*y1+y0^2*x0^2)*z0*y1+1/8*y0*x1*sqrt(-2*y0^2*x1*x0- 2*y0*x0^2*y1+y0^2*x1^2+x1^2*y1^2+4*y0*x1*x0*y1-2*x1*x0*y1^2+x0^2*y1^2-2*y0*x1^2* y1+y0^2*x0^2)*z0+1/24*x1*sqrt(-2*y0^2*x1*x0-2*y0*x0^2*y1+y0^2*x1^2+x1^2*y1^2+4*y 0*x1*x0*y1-2*x1*x0*y1^2+x0^2*y1^2-2*y0*x1^2*y1+y0^2*x0^2)*z0*y1"); 
00021   
00022   return 0; 
00023 }
00024 

Generated on Tue Nov 22 11:10:22 2005 for SyFi by  doxygen 1.4.4