Advertisement
Guest User

lab10

a guest
Dec 4th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Octave 1.08 KB | None | 0 0
  1. syms u v;
  2.  
  3. x = @(u,v) u;
  4. y = @(u,v) v;
  5. z = @(u,v) sin(u)^2 + cos(v);
  6. f = @(u,v) [x(u,v),y(u,v),z(u,v)];
  7. ezsurf(x,y,z);
  8.  
  9. du = diff(f(u,v),u);
  10. dv = diff(f(u,v),v);
  11.  
  12. dudv = diff(f(u,v),u,v);
  13. ddu = diff(f(u,v),u,2);
  14. ddv = diff(f(u,v),v,2);
  15.  
  16. disp('Coeficientii formei intai fundamentale');
  17.  
  18. E = dot(du,du);
  19. F = dot(du,dv);
  20. G = dot(dv,dv);
  21.  
  22. disp(E);
  23. disp(F);
  24. disp(G);
  25.  
  26. disp('Matricea formei intai fundamentale');
  27. I = [E,F;F,G];
  28. disp(I);
  29.  
  30. disp('Aplicatia Gauss:');
  31. NG = cross(du,dv)/sqrt(sum(cross(du,dv).^2));
  32. disp(NG);
  33.  
  34. disp('Coeficientii formei a doua fundamentale')
  35.  
  36. L = dot(NG,ddu);
  37. M = dot(NG,dudv);
  38. N = dot(NG,ddv);
  39.  
  40. disp(L);
  41. disp(M);
  42. disp(N);
  43.  
  44. disp('Matricea formei a doua fundamentale');
  45. II = [L,M;M,N];
  46. disp(II);
  47.  
  48. disp('Curbura totala a suprafetei');
  49. K = (L*N-M^2)/(E*G-F^2);
  50. disp(K);
  51.  
  52. disp('Operatorul Weingarten');
  53. W = I' * II;
  54. disp(W);
  55.  
  56. u = 1;
  57. v = pi/2;
  58. KF = function_handle(K);
  59.  
  60. disp(KF(u,v));
  61. if(KF(u,v) > 0)
  62.   disp('Punct eliptic');
  63. elseif(KF(u,v) < 0)
  64.   disp('Punct hiperbolid');
  65. else
  66.   disp('Punct parabolic sau planar');
  67. endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement