Tényleg nem létezik?
-
sublimiter #1318 Amig nem erted, addig veszelyes.
Kicsit. xD
compiler:g++
A lenti megoldas nem egyezik a szakirodalomban talalhatoval, ugyhogy azt is ide teszem. Talan ez egyszerubb is.
vektor au = a(u+z,v ,R)-a(u,v,R);
vektor av = a(u ,v+z,R)-a(u,v,R);
vektor au_du = a(u+z+du ,v ,R) - a(u+du ,v ,R);
vektor au_dv = a(u+z ,v +dv,R) - a(u ,v+dv,R);
vektor av_du = a(u +du ,v+z ,R) - a(u+du ,v ,R);
vektor av_dv = a(u ,v+z+dv,R) - a(u ,v+dv,R);
skalar E = skalar_szorzat(au,au);
skalar F = skalar_szorzat(au,av);
skalar G = skalar_szorzat(av,av);
skalar Eu = skalar_szorzat((au_du-au)/du,au);
skalar Ev = skalar_szorzat((au_dv-au)/dv,au);
skalar Gu = skalar_szorzat((au_dv-au)/dv,av);
skalar Fu = skalar_szorzat((au_du-au)/du,av);
skalar Fv = skalar_szorzat((av_dv-av)/dv,au);
skalar Gv = skalar_szorzat((av_dv-av)/dv,av);
skalar g = 1/(E*G-F*F);
// vektor normal = vektor_szorzat(au,av); skalar g=1/skalar_szorzat(normal,normal);
skalar T0_00 = (Eu*G + Fu*F )*g;
skalar T0_01 = (Ev*G + Gu*F )*g;
skalar T0_10 = (Ev*G + Gu*F )*g;
skalar T0_11 = (Fv*G + Gv*F )*g;
skalar T1_00 = (Eu*F + Fu*E )*g;
skalar T1_01 = (Ev*F + Gu*E )*g;
skalar T1_10 = (Ev*F + Gu*E )*g;
skalar T1_11 = (Fv*F + Gv*E )*g;
skalar ddu= -T0_00*du*du - T0_01*du*dv - T0_10*dv*du - T0_11*dv*dv;
skalar ddv= -T1_00*du*du - T1_01*du*dv - T1_10*dv*du - T1_11*dv*dv;
u += du;
v += dv;
du += ddu;
dv += ddv;
http://www.math.uga.edu/~shifrin/ShifrinDiffGeo.pdf

