Changeset 213 in Sophya for trunk/SophyaPI


Ignore:
Timestamp:
Mar 5, 1999, 2:48:06 PM (27 years ago)
Author:
ercodmgr
Message:

doc: explication methodes de display cmv 5/3/99

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaPI/PIext/pihisto2d.cc

    r210 r213  
    4848void PIHisto2D::UseColors(bool fg, CMapId cmap)
    4949//
    50 //      Choix de la couleur si fg=true
     50//      Choix de la couleur si fg=true avec la color map cmap.
    5151//      (pour la couleur cmap cf picmap.h).
     52//      Independamment du choix du display, la dynamique est
     53//      codee sur la color map donnant ainsi une double
     54//      information. Par exemple, carres de tailles variables
     55//      en couleur. Cette option est incontournable dans le cas
     56//      d'un display par des carres de taille fixe.
    5257//--
    5358{
     
    5863void PIHisto2D::UseScale(unsigned short type,float logscale)
    5964//
    60 //      Pour changer les echelles.
     65//      Pour changer les echelles (lineaire ou logarithmique)
    6166//| Type = 0 : echelle lineaire
    6267//|      = 1 : echelle log10
    63 //| - Explication du codage en type=1 (log10) :
    64 //|   1-/ map lineaire :
    65 //|       [0,1] -> [lmin,lmax]
    66 //|       f     -> F = lmin+f*(lmax-lmin)
    67 //|   2-/ transformation log10 :
    68 //|       [lmin,lmax] -> [log10(lmin),log10(lmax)]
    69 //|       F           -> LF = lg10(F)
    70 //|   3-/ rescaling entre 0 et 1 :
    71 //|       [log10(lmin),log10(lmax)] -> [0,1]
    72 //|       LF -> (LF-log10(lmin))/(log10(lmax)-log10(lmin))
    73 //|       soit en definissant logscale = lmax/lmin
    74 //|       LF = log10(1.+f*(logscale-1))/log10(logscale)
     68//| -**- Explication du codage en type=0 (lineaire) :
     69//|   1. [hmin,hmax] -> [0,1]
     70//|           h      ->   f = (h-hmin)/(hmax-hmin)
     71//|   2. codage de f=[0,1] sur la dynamique du display choisi
     72//| -**- Explication du codage en type=1 (logarithmique base 10) :
     73//|   1. map lineaire entre 0 et 1:
     74//|      [hmin,hmax] -> [0,1]
     75//|           h      ->   f = (h-hmin)/(hmax-hmin)
     76//|   2. transformation logarithmique de base 10 :
     77//|      [0,1] -> [0,1]
     78//|        f   -> lf = log10(1.+f*(logscale-1))/log10(logscale)
     79//|   3. codage de lf=[0,1] sur la dynamique du display choisi
    7580//--
    7681{
     
    9398//| Type = 2 : code a la "hbook2" " .+123...9AB...YZ*"
    9499//|            (cf detail PIHisto2D::HPrint2)
    95 //| Type = 3 : carres de tailles fixes (couleur).
     100//| Type = 3 : carres de taille fixe (couleur).
    96101//--
    97102{
     
    108113//
    109114//      Gestion de la dynamique a representer:
    110 //      la dynamique va etre transformee de [hmin,hmax] vers [0,1].
     115//|  La dynamique va etre transformee de [hmin,hmax] vers [0,1] selon
     116//|  [hmin,hmax] -> [0,1]
     117//|       h      ->   f = (h-hmin)/(hmax-hmin)
     118//|  Par la suite selon ce qui est demande, f va coder le display ou etre
     119//|  transforme en une autre echelle [0,1].
     120//|  Si hmax<=hmin, ils sont forces a la dynamique totale de l'histo2D.
    111121//--
    112122{
     
    121131//      Pour definir la fraction de la dynamique a dessiner:
    122132//| Certains type de display (f=[0,1] cf PIHisto2D::UseDyn),
    123 //|    - on ne dessine rien si f <= frmin
    124 //|    - on limite l'excursion a f*frmax cad [...,frmax]
     133//|  - on ne dessine rien si f <= frmin dans les cas de display avec
     134//|    des nuages de points ou des carres de tailles variables.
     135//|    Pour un display "a la hbook2" on force frmin = 0.
     136//|  - frmax n'est utilise que pour la representation avec
     137//|    des carres de tailles variables: c'est la taille
     138//|    maximum que peut avoir le carre exprimee en unite
     139//|    de la taille du bin (ex: si frmax=0.8 le carre
     140//|    le + grand qui pourra etre dessine dans un bin
     141//|    aura une taille egale a 0.8*(taille du bin)).
    125142//--
    126143{
     
    160177//
    161178//      Dessin de l'histogramme.
     179//|  Code de dessin selon choix des options:
     180//|  (detail voir UseColors UseScale UseDisplay UseDyn UseFrac)
     181//|  [hmin,hmax] -> [0,1] [[ -> re-codage log10 entre [0,1] ]] -> f=[0,1]
     182//|  Puis selon display:
     183//|  0 carres variables : if(f>fracmin) taille carre = f*fracmax *taille_du_bin
     184//|  1 nuage de points  : if(f>fracmin) npoints = f*PerPt *npoints_ecran_dans_bin
     185//|  2 code hbook2      : if(f>0) map de f=]0,1] dans ".+...Z*"
     186//|  3 carres fixes     : couleur = lut[f*nombre_d_entree_dans_la_lut]
    162187//--
    163188{
Note: See TracChangeset for help on using the changeset viewer.