forked from RyanXee/BiharmonicSplineInterpolation
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.cpp
More file actions
110 lines (102 loc) · 6.85 KB
/
Copy pathmain.cpp
File metadata and controls
110 lines (102 loc) · 6.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#include "BiharmonicSplineInterp.h"
int main()
{
/*double x[] = {0.787132405614067, -0.869558088726906, 2.98201962963989, -1.65497100610124,
0.914706437811690, 0.629943851449556, -0.676527411101191, -2.14687704425698,
-2.84919008573878, -0.473326477408552, -1.89539826343493, 1.35465160481672,
-0.777823880908811, 2.04936052480924, 1.40537814715988, 0.426155236946273,
-1.93886965424818, 2.74430413557434, -1.40806778284248, 2.54748537143761,
-1.65737757181775, -0.758617154144130, -2.47499790254049, 0.840699289480290,
-1.91629867348135, -2.72969335515855, 1.33904087509857, -0.915374126509259,
0.963700947017423, -0.696788393568172, 0.764079014660802, -2.87010111221816,
2.46341993113817, 1.80335193767287, 1.47508490605633, 1.87867688166456,
-0.700162088246825, 0.703675393898696, 0.452969158216884, 0.180310228590094,
-1.34958146506839, -1.50822624202818, -0.290167377288164, -1.63372304384071,
1.82669750167842, 2.91662545137582, -2.82004829838366, 0.213985144003426,
-2.47753668059465, 1.81254864333482, 2.93486945820204, -2.59832244961350,
2.63639017130721, -2.89093479817983, 1.10303168247813, 1.70241888049931,
0.204825407296370, 2.31215670558685, 2.39402939343684, 0.755625756482975,
-2.17278604552465, -1.69319043772725, -1.90715354465740, -2.74908081616227,
-2.35835004869876, 0.698660910514111, 2.63796606096640, -0.873265614196027,
-0.536225459642916, 2.90609650190671, 2.67347513421158, 1.05986807060124,
2.92981357387972, 1.60098832329957, -0.979804413651143, 0.974291162396887,
-1.53500827925832, -1.22695649501042, 1.08107022738301, 0.167080982512787,
-0.530438919554793, 0.615829308218383, 1.50312033554241, 0.501199045571751,
0.310755089615805, 0.501423712546287, 0.0709195197508512, -2.50444363800780,
1.31742080915694, 2.97693666778122, -0.872794170258469, 2.82755289110043,
-0.921307432197843, 2.31926317056184, -0.271830810048553, -0.519436265875108,
-1.69360758985620, -2.24607247582424, -1.14651243859911, 1.35662658998899};
double y[] = {1.69723243787474, 1.16272568992138, -2.94118648642163, 2.05928002806306,
2.53399198677765, 1.62572532404355, -2.74404086438971, -0.730883177698687,
1.22603774690021, 1.37707827302788, -1.65433757601291, -1.38567160935981,
1.03818699002471, -0.135046813638833, 0.742298476004655, -1.58133040415454,
-1.93725747301010, 1.97786031418551, 1.60153000761159, 2.60686963870962,
-2.35266656949382, -1.90663496639367, -2.40542830546525, -0.0614171884593184,
-1.84052801718678, 2.37534944275541, -2.40546210190911, -2.73500656942403,
0.343770934828571, 1.63497040312574, -1.12835965502239, -1.92610512411399,
-0.966265930513691, -1.73912617773869, 0.0609151185915016, 2.43818593959129,
0.773543631913907, -2.39079666712613, -0.654871483641872, -2.67230030865805,
0.00769747921929165, -0.409672968694517, 2.98536209707313, 1.86961548597194,
-0.0860899806118942, 2.36668653340436, -2.17472043139761, -0.659970513328288,
2.56413734998875, 2.50496299449670, 1.28144406956589, 0.710024301731640,
-0.940272658551927, 2.61616396013862, -2.25135575603704, 1.38351216903424,
0.878864594554883, 1.99891191401577, -0.610306630687347, 1.49893325616382,
2.01132306286878, -1.06523761582644, 0.313569701150130, 2.87477479460335,
0.295851198109816, -1.01745834236038, 0.716829331066679, -0.836180573986784,
1.53905726101167, -0.516595507858862, -0.0459293736903739, 1.16845939879566,
2.83640331047870, -1.03347023703956, 2.02681909847145, 1.43443336364117,
2.72504673827726, -2.80846422297613, -0.858786082904748, 0.975923005723287,
-1.31099064510906, -1.61770159609522, 1.26677130708195, 0.747437501959851,
0.543651917517816, 0.962627797875611, -2.71467196131680, -0.907291148939647,
-0.291956517865541, -1.55457001727934, 1.29027007977706, 2.13709375203773,
-1.31095382928868, 1.38630497834245, -2.17342264488290, 2.02033669049831,
-2.16838970554584, 0.529256312336962, -0.803059197270373, 1.84055726796663};
double v[] = {4.35106073838164, 1.95504385423683, -9.30294030298752e-06, 0.302545726220312,
0.740300913473690, 5.49121979708904, -0.274464177969822, -0.342027433148181,
-0.0154569915972618, 5.90859416229126, 0.105899817664913, -0.625301587094097,
1.62929016002713, 1.23055775715348, 2.17793020408887, -6.18595681175692,
0.0607949508287614, 0.00540355386278307, 0.831236109203828, 0.00231775246930591,
0.0240626969519333, -1.49473437025461, 0.00448175474066128, 2.09782416401631,
0.0765480739026598, 0.00109017806543701, -0.392627799081018, -0.140446023117113,
2.47598057164686, 4.86290001255207, -2.31057063828933, 0.00158398130897245,
0.138737403308916, -0.152216685029727, 3.32026844150928, 0.0709883816222316,
0.309491543512039, -1.54045254782870, -0.00363278104922977, -0.925785491713805,
-2.86460717137767, -1.57849534566178, 0.293657149230858, 0.389134879360526,
2.05346871419447, 0.000735141828758558, 0.00157653635627873, 0.550175438635156,
0.00284304564519371, 0.0734562959408466, 0.00990838742191476, -0.132169795921883,
0.0751966472145099, 0.000237501363548931, -1.05500429649403, 0.785689547794205,
2.19626872206975, 0.0384207463957917, 0.310211975066403, 4.68635530047242,
0.0345540651288523, 0.0895373100980610, -1.57717068449896, 0.000232840441887612,
-0.469013637048878, -1.77750373966565, 0.102818031048200, 2.53091776692434,
6.01327418940619, 0.0412239613772696, 0.148501053566406, 2.61960637798667,
0.000124881566424237, 0.773033222159965, 2.10122314318091, 3.36303741583631,
0.0828131869080607, -0.0215994367622635, 0.866216036842751, 3.22138025295267,
-0.532418508341619, -5.27650130613201, 1.33428952801726, 1.15944957095094,
0.178613262804183, 2.62268877460982, -0.788426066176458, -0.0774062744438356,
3.30250696624152, 0.00333251321293495, 2.68976143222110, 0.00233304977494238,
0.812947254761017, 0.115716308198391, -2.86214373184158, 4.32908358063359,
0.0433357435598578, -0.561446896248947, 1.12876005446965, 1.25231147971598};*/
double x[] = {376.82, 377.56, 379.74, 421.20, 419.41, 417.82, 418.80, 458.86, 457.72,
459.55, 461.64, 500.27, 501.51, 499.48, 498.02, 499.19, 539.31, 538.37,
539.96, 542.43, 540.81, 580.87, 580.89, 582.67, 579.80, 578.48, 579.50 };
double y[] = {311.42, 344.05, 381.52, 422.46, 383.35, 345.66, 313.22, 314.89, 347.19,
385.15, 423.93, 462.25, 425.33, 386.88, 348.68, 316.53, 318.11, 350.12,
388.58, 426.71, 463.96, 486.67, 465.60, 428.02, 390.20, 351.48, 319.65 };
double v[] = {365.45, 354.19, 430.11, 432.51, 356.90, 340.96, 379.24, 272.01, 279.68,
264.96, 374.48, 360.38, 305.39, 195.33, 259.36, 158.41, 111.65, 205.40,
192.63, 242.56, 351.51, 309.88, 318.34, 209.11, 231.77, 152.79, 101.59 };
vector<double> X;
vector<double> Y;
vector<double> V;
for(int i = 0; i < sizeof(x) / sizeof(x[0]); i++)
{
X.push_back(x[i]);
Y.push_back(y[i]);
V.push_back(v[i]);
}
vector<vector<double> > Xq;
vector<vector<double> > Yq;
vector<vector<double> > Vq;
Vq = BiharmonicSplineInterp(X, Y, V, Xq, Yq, 100, 100);
return 0;
}