halos
Class Halos

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Panel
              extended by java.applet.Applet
                  extended by simu.SimuApplet
                      extended by halos.Halos
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.event.ItemListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, simu.SimuParams

public class Halos
extends simu.SimuApplet

classe Halos applet calculant des halos atmosphériques par simulation des interactions de cristaux de glace avec la lumière du soleil

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.applet.Applet
java.applet.Applet.AccessibleApplet
 
Nested classes/interfaces inherited from class java.awt.Panel
java.awt.Panel.AccessibleAWTPanel
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
(package private)  boolean afficher_soleil
           
(package private)  double altitude_nuages
           
(package private)  Angles3 angles_c
           
(package private)  double atm
           
(package private)  double azimut_centre
           
(package private)  double azimut_centre_cercles
           
(package private)  Cristal c
           
(package private)  boolean cacher_horizon
           
(package private)  double cos_imax
           
(package private)  java.awt.Color[] couleurs_cercle
           
(package private)  double facteur_forme
           
(package private)  double facteur_zoom
           
(package private)  double hauteur
           
(package private)  double hauteur_centre
           
(package private)  double hauteur_centre_cercles
           
(package private)  int[] histo
           
(package private)  Point I
           
(package private)  double[] indices
           
(package private)  int nb_rayons
           
(package private)  int nb_reflexions
           
(package private)  Point O
           
(package private)  Point2D P
           
(package private)  double pas_cercles
           
(package private)  int[][] points_cercle
           
(package private)  Rayon r
           
(package private)  double R
           
(package private)  double R2
           
(package private)  boolean reinitialiser
           
(package private)  double Rt
           
(package private)  double[][][] tableau
           
(package private)  int taille_image
           
(package private)  boolean tracer_cercles
           
(package private)  int type_aleatoire
           
(package private)  int type_cristal
           
(package private)  int type_histo
           
(package private)  Vecteur u
           
(package private)  Vecteur v
           
(package private)  Point V
           
(package private)  Vecteur v0
           
(package private)  double zoom
           
 
Fields inherited from class simu.SimuApplet
affichages, ensembles, inparams, outparams, titreEnsembles
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
Halos()
          constructeur Halos
 
Method Summary
(package private)  void addPoints(java.awt.Image img, int[][] point, java.awt.Color[] couleur, int taille)
          methode addPoints ajoute à une image des points de couleur donnée
 simu.ListeValeurs calculLive()
          methode calculLive effectue le calcul d'un certain nombre de rayons lumineux avant de retourner le résultat
(package private)  java.awt.Image create_image(double[][] rrr, double[][] vvv, double[][] bbb, double vmax, int[][] masque)
          methode create_image créé une image à partir de 3 tableaux contenant les valeurs RVB.
(package private)  Angles de_projection_orthographique(double azimut_centre, double hauteur_centre, double X, double Y, double taille, double Zoom)
          methode de_projection_orthographique retourne les angles correspondant au point donné d'une projection orthographique
 void initCalculLive(simu.ListeValeurs in)
          methode initCalculLive initialise l'applet
 Point2D projection(double azimut_centre, double hauteur_centre, double azimut, double hauteur, double facteur)
          methode projection retourne la projection orthographique des coordonnées données
 double signe(double x)
          methode signe retourne le signe d'une variable
 void verifier()
          methode verifier verifie les paramètres entrés par l'utilisateur et provoque une exception en cas de problème
 
Methods inherited from class simu.SimuApplet
actionPerformed, addAffichage, addEnsemble, addParamIn, addParamOut, aideParam, appletDoc, calcul, changerValeurs, creationTypeAffichage, dormir, getAffichage, getAffichage, getAffichageChoisi, getDouble, getInParams, getOutParams, handleException, init, initParams, itemStateChanged, lireAffichage, lireAideParam, lireChamps, lireListeRefParams, lireParametres, lireXML, makeInputPanel, parcourirParametreAffichage, setParams, setTitreEnsembles, startSimu, titresAxes, verifExistenceAide, verifParametres
 
Methods inherited from class java.applet.Applet
destroy, getAccessibleContext, getAppletContext, getAppletInfo, getAudioClip, getAudioClip, getCodeBase, getDocumentBase, getImage, getImage, getLocale, getParameter, getParameterInfo, isActive, newAudioClip, play, play, resize, resize, setStub, showStatus, start, stop
 
Methods inherited from class java.awt.Panel
addNotify
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, update, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

hauteur

double hauteur

zoom

double zoom

taille_image

int taille_image

histo

int[] histo

Rt

double Rt

altitude_nuages

double altitude_nuages

atm

double atm

I

Point I

O

Point O

V

Point V

u

Vecteur u

v

Vecteur v

type_cristal

int type_cristal

facteur_forme

double facteur_forme

nb_reflexions

int nb_reflexions

type_histo

int type_histo

azimut_centre

double azimut_centre

hauteur_centre

double hauteur_centre

facteur_zoom

double facteur_zoom

tableau

double[][][] tableau

reinitialiser

boolean reinitialiser

v0

Vecteur v0

angles_c

Angles3 angles_c

P

Point2D P

c

Cristal c

r

Rayon r

R

double R

R2

double R2

type_aleatoire

int type_aleatoire

indices

double[] indices

azimut_centre_cercles

double azimut_centre_cercles

hauteur_centre_cercles

double hauteur_centre_cercles

pas_cercles

double pas_cercles

points_cercle

int[][] points_cercle

couleurs_cercle

java.awt.Color[] couleurs_cercle

tracer_cercles

boolean tracer_cercles

cacher_horizon

boolean cacher_horizon

nb_rayons

int nb_rayons

afficher_soleil

boolean afficher_soleil

cos_imax

double cos_imax
Constructor Detail

Halos

public Halos()
constructeur Halos

Method Detail

create_image

java.awt.Image create_image(double[][] rrr,
                            double[][] vvv,
                            double[][] bbb,
                            double vmax,
                            int[][] masque)
methode create_image créé une image à partir de 3 tableaux contenant les valeurs RVB. Un filtre logarithmique est appliqué et la renormalisation est faite sur les pixels pour lesquels le masque vaut 0

Parameters:
rrr - le tableau de la couche rouge de l'image
vvv - le tableau de la couche verte de l'image
bbb - le tableau de la couche bleue de l'image
vmax - la valeur maximale à donner pour la renormalisation (comprise entre 0 et 255)
masque - le tableau de masque, pour les pixels à prendre en compte pour la renormalisation
Returns:
l'image créée

addPoints

void addPoints(java.awt.Image img,
               int[][] point,
               java.awt.Color[] couleur,
               int taille)
methode addPoints ajoute à une image des points de couleur donnée

Parameters:
img - l'image à modifier
point - le tableau de même taille que l'image contenant le code couleur (indice des couleurs de la liste "couleur") des points à ajouter
couleur - la liste des couleurs
taille - la taille de l'image, et du tableau

verifier

public void verifier()
              throws simu.SimuException
methode verifier verifie les paramètres entrés par l'utilisateur et provoque une exception en cas de problème

Throws:
simu.SimuException

initCalculLive

public void initCalculLive(simu.ListeValeurs in)
                    throws simu.SimuException
methode initCalculLive initialise l'applet

Specified by:
initCalculLive in interface simu.SimuParams
Overrides:
initCalculLive in class simu.SimuApplet
Parameters:
in - liste des valeurs entrées par l'utilisateur
Throws:
simu.SimuException

calculLive

public simu.ListeValeurs calculLive()
                             throws simu.SimuException
methode calculLive effectue le calcul d'un certain nombre de rayons lumineux avant de retourner le résultat

Specified by:
calculLive in interface simu.SimuParams
Overrides:
calculLive in class simu.SimuApplet
Returns:
l'image et l'histogramme du halo
Throws:
simu.SimuException

de_projection_orthographique

Angles de_projection_orthographique(double azimut_centre,
                                    double hauteur_centre,
                                    double X,
                                    double Y,
                                    double taille,
                                    double Zoom)
methode de_projection_orthographique retourne les angles correspondant au point donné d'une projection orthographique

Parameters:
azimut_centre - l'azimut situé au centre de la projection
hauteur_centre - la hauteur situé au centre de la projection
X - la coordonnée en x
Y - la coordonnée en y
taille - la taille de la projection
Zoom - le facteur de zoom utilisé
Returns:
les angles correspondant au point donné sur la projection

projection

public Point2D projection(double azimut_centre,
                          double hauteur_centre,
                          double azimut,
                          double hauteur,
                          double facteur)
methode projection retourne la projection orthographique des coordonnées données

Parameters:
azimut_centre - l'azimut situé au centre de la projection
hauteur_centre - la hauteur situé au centre de la projection
azimut - l'azimut à projeter
hauteur - la hauteur à projeter
facteur - le facteur de conversion (lié au zoom souhaité)
Returns:
la projection orthographique des coordonnées données

signe

public double signe(double x)
methode signe retourne le signe d'une variable

Parameters:
x - valeur à tester
Returns:
le signe de la variable