Mercurial > repos > public > sbplib
comparison +grid/old/triang_plot_interp.m @ 0:48b6fb693025
Initial commit.
| author | Jonatan Werpers <jonatan@werpers.com> |
|---|---|
| date | Thu, 17 Sep 2015 10:12:50 +0200 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:48b6fb693025 |
|---|---|
| 1 % Plots a transfinite interpolation in x,y space using nu and nv curves along u and v axes. | |
| 2 | |
| 3 | |
| 4 | |
| 5 | |
| 6 | |
| 7 | |
| 8 % Plots a interp of a triangle where one the interpolation is from a square | |
| 9 % with one side collapsed to | |
| 10 function h = triang_plot_interp_kindaworking(S,n) | |
| 11 u = linspace(0,1,n); | |
| 12 v = linspace(0,1,n); | |
| 13 | |
| 14 m = 100; | |
| 15 m = 20; | |
| 16 | |
| 17 Xl_curves = cell(n,1); | |
| 18 Xr_curves = cell(n,1); | |
| 19 Y_curves = cell(n,1); | |
| 20 | |
| 21 | |
| 22 function u = wierdness(v,d,N) | |
| 23 if N == 0 | |
| 24 u = 0; | |
| 25 else | |
| 26 u = N*d./(1-v); | |
| 27 end | |
| 28 end | |
| 29 | |
| 30 | |
| 31 %Y curves | |
| 32 t = linspace(0,1,m); | |
| 33 for i = 1:n | |
| 34 x = []; y = []; | |
| 35 for j = 1:length(t) | |
| 36 [x(j),y(j)] = S(t(j),v(i)); | |
| 37 end | |
| 38 Y_curves{i} = [x', y']; | |
| 39 end | |
| 40 | |
| 41 | |
| 42 % Right and left X curves | |
| 43 t = linspace(0,1,m); | |
| 44 d = u(2); | |
| 45 for i = 1:n | |
| 46 xl = []; yl = []; | |
| 47 xr = []; yr = []; | |
| 48 N = i-1; | |
| 49 t = linspace(0,1-N*d,m); | |
| 50 for j = 1:length(t) | |
| 51 w = wierdness(t(j),d,N); | |
| 52 [xr(j),yr(j)] = S(w,t(j)); | |
| 53 [xl(j),yl(j)] = S(1-w,t(j)); | |
| 54 end | |
| 55 Xl_curves{i} = [xl', yl']; | |
| 56 Xr_curves{i} = [xr', yr']; | |
| 57 end | |
| 58 | |
| 59 for i = 1:n-1 | |
| 60 line(Xl_curves{i}(:,1),Xl_curves{i}(:,2)) | |
| 61 line(Xr_curves{i}(:,1),Xr_curves{i}(:,2)) | |
| 62 line(Y_curves{i}(:,1),Y_curves{i}(:,2)) | |
| 63 end | |
| 64 end | |
| 65 | |
| 66 | |
| 67 | |
| 68 | |
| 69 function h = triang_plot_interp_nonworking(S,n) | |
| 70 | |
| 71 u = linspace(0,1,n); | |
| 72 v = linspace(0,1,n); | |
| 73 | |
| 74 m = 100; | |
| 75 | |
| 76 X_curves = cell(n-1,1); | |
| 77 Y_curves = cell(n-1,1); | |
| 78 K_curves = cell(n-1,1); | |
| 79 | |
| 80 | |
| 81 t = linspace(0,1,m); | |
| 82 for i = 1:n-1 | |
| 83 x = []; y = []; | |
| 84 for j = find(t+u(i) <= 1) | |
| 85 [x(j),y(j)] = S(u(i),t(j)); | |
| 86 end | |
| 87 X_curves{i} = [x', y']; | |
| 88 end | |
| 89 | |
| 90 for i = 1:n-1 | |
| 91 x = []; y = []; | |
| 92 for j = find(t+v(i) <= 1) | |
| 93 [x(j),y(j)] = S(t(j),v(i)); | |
| 94 end | |
| 95 Y_curves{i} = [x', y']; | |
| 96 end | |
| 97 | |
| 98 for i = 2:n | |
| 99 x = []; y = []; | |
| 100 for j = find(t<u(i)) | |
| 101 [x(j),y(j)] = S(t(j), u(i)-t(j)); | |
| 102 end | |
| 103 K_curves{i-1} = [x', y']; | |
| 104 end | |
| 105 | |
| 106 for i = 1:n-1 | |
| 107 line(X_curves{i}(:,1),X_curves{i}(:,2)) | |
| 108 line(Y_curves{i}(:,1),Y_curves{i}(:,2)) | |
| 109 line(K_curves{i}(:,1),K_curves{i}(:,2)) | |
| 110 end | |
| 111 | |
| 112 h = -1; | |
| 113 % h = plot(X_curves{:},Y_curves{:},K_curves{:}); | |
| 114 end |
