00001
00002 #include<iostream>
00003
00004
00005
00006
00007 #define phi0(x,y,z) (0.1875 - (0.1875*(x)) - (0.0625*(y)) - (0.1875*(z))\
00008 + (0.0625*(x)*(y)) + (0.0625*(y)*(z)) + (0.1875*(z)*(x)) - (0.0625*(x)*(y)*(z)))
00009
00010 #define phi1(x,y,z) (0.125 + (0.125*(x)) - (0.125*(y)) - (0.125*(z))\
00011 - (0.125*(x)*(y)) + (0.125*(y)*(z)) - (0.125*(z)*(x)) + (0.125*(x)*(y)*(z)))
00012
00013 #define phi2(x,y,z) (0.0625 - (0.0625*(x)) + (0.0625*(y)) - (0.0625*(z))\
00014 - (0.0625*(x)*(y)) - (0.0625*(y)*(z)) + (0.0625*(z)*(x)) + (0.0625*(x)*(y)*(z)))
00015
00016 #define phi3(x,y,z) (0.125 + (0.125*(x)) + (0.125*(y)) - (0.125*(z))\
00017 + (0.125*(x)*(y)) - (0.125*(y)*(z)) - (0.125*(z)*(x)) - (0.125*(x)*(y)*(z)))
00018
00019 #define phi4(x,y,z) (0.125 - (0.125*(x)) - (0.125*(y)) + (0.125*(z))\
00020 + (0.125*(x)*(y)) - (0.125*(y)*(z)) - (0.125*(z)*(x)) + (0.125*(x)*(y)*(z)))
00021
00022 #define phi5(x,y,z) (0.125 + (0.125*(x)) - (0.125*(y)) + (0.125*(z))\
00023 - (0.125*(x)*(y)) - (0.125*(y)*(z)) + (0.125*(z)*(x)) - (0.125*(x)*(y)*(z)))
00024
00025 #define phi6(x,y,z) (0.125 - (0.125*(x)) + (0.125*(y)) + (0.125*(z))\
00026 - (0.125*(x)*(y)) + (0.125*(y)*(z)) - (0.125*(z)*(x)) - (0.125*(x)*(y)*(z)))
00027
00028 #define phi7(x,y,z) (0.125 + (0.125*(x)) + (0.125*(y)) + (0.125*(z))\
00029 + (0.125*(x)*(y)) + (0.125*(y)*(z)) + (0.125*(z)*(x)) + (0.125*(x)*(y)*(z)))
00030
00031 int main() {
00032
00033 int xyz[][3] = {
00034 {-1,-1,-1},
00035 {1,-1,-1},
00036 {-1,1,-1},
00037 {1,1,-1},
00038 {-1,-1,1},
00039 {1,-1,1},
00040 {-1,1,1},
00041 {1,1,1},
00042 {-1,3,-1}};
00043
00044 for(int i = 0;i < 9; i++) {
00045 std::cout<<"phi0 @ "<<i<<": "<<(phi0(xyz[i][0],xyz[i][1],xyz[i][2]))<<std::endl;
00046 }
00047 std::cout<<std::endl;
00048
00049 for(int i = 0;i < 9; i++) {
00050 std::cout<<"phi1 @ "<<i<<": "<<(phi1(xyz[i][0],xyz[i][1],xyz[i][2]))<<std::endl;
00051 }
00052 std::cout<<std::endl;
00053
00054 for(int i = 0;i < 9; i++) {
00055 std::cout<<"phi2 @ "<<i<<": "<<(phi2(xyz[i][0],xyz[i][1],xyz[i][2]))<<std::endl;
00056 }
00057 std::cout<<std::endl;
00058
00059 for(int i = 0;i < 9; i++) {
00060 std::cout<<"phi3 @ "<<i<<": "<<(phi3(xyz[i][0],xyz[i][1],xyz[i][2]))<<std::endl;
00061 }
00062 std::cout<<std::endl;
00063
00064 for(int i = 0;i < 9; i++) {
00065 std::cout<<"phi4 @ "<<i<<": "<<(phi4(xyz[i][0],xyz[i][1],xyz[i][2]))<<std::endl;
00066 }
00067 std::cout<<std::endl;
00068
00069 for(int i = 0;i < 9; i++) {
00070 std::cout<<"phi5 @ "<<i<<": "<<(phi5(xyz[i][0],xyz[i][1],xyz[i][2]))<<std::endl;
00071 }
00072 std::cout<<std::endl;
00073
00074 for(int i = 0;i < 9; i++) {
00075 std::cout<<"phi6 @ "<<i<<": "<<(phi6(xyz[i][0],xyz[i][1],xyz[i][2]))<<std::endl;
00076 }
00077 std::cout<<std::endl;
00078
00079 for(int i = 0;i < 9; i++) {
00080 std::cout<<"phi7 @ "<<i<<": "<<(phi7(xyz[i][0],xyz[i][1],xyz[i][2]))<<std::endl;
00081 }
00082 std::cout<<std::endl;
00083
00084 }
00085