[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
2.5 1D samples
This section is devoted to visualization of 1D data arrays. 1D means the data which depend on single index (parameter) like curve in parametric form {x(i),y(i),z(i)}, i=1...n. Most of samples will use the same data for plotting. So, I put its initialization in separate function
void mgls_prepare1d(mglData *y, mglData *y1=0, mglData *y2=0, mglData *x1=0, mglData *x2=0) { register long i,n=50; if(y) y->Create(n,3); if(x1) x1->Create(n); if(x2) x2->Create(n); if(y1) y1->Create(n); if(y2) y2->Create(n); mreal xx; for(i=0;i<n;i++) { xx = i/(n-1.); if(y) { y->a[i] = 0.7*sin(2*M_PI*xx) + 0.5*cos(3*M_PI*xx) + 0.2*sin(M_PI*xx); y->a[i+n] = sin(2*M_PI*xx); y->a[i+2*n] = cos(2*M_PI*xx); } if(y1) y1->a[i] = 0.5+0.3*cos(2*M_PI*xx); if(y2) y2->a[i] = 0.3*sin(2*M_PI*xx); if(x1) x1->a[i] = xx*2-1; if(x2) x2->a[i] = 0.05+0.03*cos(2*M_PI*xx); } }
or using C functions
void mgls_prepare1d(HMDT y, HMDT y1=0, HMDT y2=0, HMDT x1=0, HMDT x2=0) { register long i,n=50; if(y) mgl_data_create(y,n,3,1); if(x1) mgl_data_create(x1,n,1,1); if(x2) mgl_data_create(x2,n,1,1); if(y1) mgl_data_create(y1,n,1,1); if(y2) mgl_data_create(y2,n,1,1); mreal xx; for(i=0;i<n;i++) { xx = i/(n-1.); if(y) { mgl_data_set_value(y, 0.7*sin(2*M_PI*xx) + 0.5*cos(3*M_PI*xx) + 0.2*sin(M_PI*xx), i,0,0); mgl_data_set_value(y, sin(2*M_PI*xx), i,1,0); mgl_data_set_value(y, cos(2*M_PI*xx), i,2,0); } if(y1) mgl_data_set_value(y1, 0.5+0.3*cos(2*M_PI*xx), i,0,0); if(y2) mgl_data_set_value(y2, 0.3*sin(2*M_PI*xx), i,0,0); if(x1) mgl_data_set_value(x1, xx*2-1, i,0,0); if(x2) mgl_data_set_value(x2, 0.05+0.03*cos(2*M_PI*xx), i,0,0); } }
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated on March 21, 2014 using texi2html 5.0.