| Last change
 on this file since 3651 was             3489, checked in by ansari, 18 years ago | 
        
          | 
Les differents scripts+prog de calcul P(k)/bruit, lobe, config interfero ajoute ds ce module - Reza 28/04/2008
 | 
        
          | File size:
            1.3 KB | 
      
      
| Rev | Line |  | 
|---|
| [3489] | 1 | Matrix hexagon(double xc, double yc, double r=1., double theta=0.) | 
|---|
|  | 2 | { | 
|---|
|  | 3 | Matrix hex(2,7); | 
|---|
|  | 4 | hex(0,0) = xc;  hex(1,0) = yc; | 
|---|
|  | 5 | for(int i=1; i<=6; i++) { | 
|---|
|  | 6 | double tet = (i-1)*M_PI/3.+theta; | 
|---|
|  | 7 | hex(0,i) = r*cos(tet)+xc; | 
|---|
|  | 8 | hex(1,i) = r*sin(tet)+yc; | 
|---|
|  | 9 | } | 
|---|
|  | 10 | return hex; | 
|---|
|  | 11 | } | 
|---|
|  | 12 |  | 
|---|
|  | 13 | Matrix couche(int num, double r=0.) | 
|---|
|  | 14 | { | 
|---|
|  | 15 | if (num <= 0) { | 
|---|
|  | 16 | Matrix pos(3,1); | 
|---|
|  | 17 | pos(0,0) = pos(1,0) = pos(2,0) = 0.; | 
|---|
|  | 18 | return pos; | 
|---|
|  | 19 | } | 
|---|
|  | 20 | else { | 
|---|
|  | 21 | if (r <= 0.0001)  r = 5.*num; | 
|---|
|  | 22 | int n = num*6; | 
|---|
|  | 23 | double tet0 = 0.; | 
|---|
|  | 24 | tet0 = M_PI/n; | 
|---|
|  | 25 | double dtet = M_PI*2./(double)n; | 
|---|
|  | 26 | Matrix pos(3, n); | 
|---|
|  | 27 | for(int i=0; i<n; i++) { | 
|---|
|  | 28 | double tet = i*dtet+tet0; | 
|---|
|  | 29 | pos(0,i) = r*cos(tet); | 
|---|
|  | 30 | pos(1,i) = r*sin(tet); | 
|---|
|  | 31 | pos(2,i) = tet; | 
|---|
|  | 32 | } | 
|---|
|  | 33 | return pos; | 
|---|
|  | 34 | } | 
|---|
|  | 35 | } | 
|---|
|  | 36 |  | 
|---|
|  | 37 | int FillVis(Histo2D& h2, double x, double y, double d=1) | 
|---|
|  | 38 | { | 
|---|
|  | 39 | h2.Add(x, y, 1.); | 
|---|
|  | 40 |  | 
|---|
|  | 41 | double wa = 0.6; | 
|---|
|  | 42 | double wb = 0.3; | 
|---|
|  | 43 | for(int i=0; i<6; i++) { | 
|---|
|  | 44 | double dx1a = 0.35*cos(i*M_PI/3.)*d; | 
|---|
|  | 45 | double dy1a = 0.35*sin(i*M_PI/3.)*d; | 
|---|
|  | 46 | double dx1b = 2*dx1a; | 
|---|
|  | 47 | double dy1b = 2*dy1a; | 
|---|
|  | 48 | for(int j=0; j<6; j++) { | 
|---|
|  | 49 | double dx2a = 0.35*cos(j*M_PI/3.)*d; | 
|---|
|  | 50 | double dy2a = 0.35*sin(j*M_PI/3.)*d; | 
|---|
|  | 51 | double dx2b = 2*dx2a; | 
|---|
|  | 52 | double dy2b = 2*dy2a; | 
|---|
|  | 53 | h2.Add((x+dx1a-dx2a), (y+dy1a-dy2a), wa); | 
|---|
|  | 54 | h2.Add((x+dx1b-dx2b), (y+dy1b-dy2b), wb); | 
|---|
|  | 55 | } | 
|---|
|  | 56 | } | 
|---|
|  | 57 | return 0; | 
|---|
|  | 58 | } | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.