%-*-LaTeX-*-

\section{Fonctions de distribution de l'\'energie}\label{fonction-energie}
Comme nous l'avons vu, la fonction de distribution de l'\'energie d'un \'emetteur
permet de calculer en chaque point de l'espace une valeur qui est fonction
de la distance entre le point et l'\'emetteur. Cette valeur repr\'esente l'\'energie
que le point re\c{c}oit de l'\'emetteur.
\\Il est possible de d\'efinir cette fonction comme on le souhaite en respectant
tout de m\^eme les lois physiques : la fonction doit \^etre monotone d\'ecroissante et doit
tendre vers 0 quand la distance entre le point et l'\'emetteur tend vers le rayon
(voir section \ref{niveauemetteur}), par
convention l'\'energie vaut 0 pour un point situ\'e \`a une distance d \'egale au rayon
de l'\'emetteur.
On peut comprendre facilement cette condition : l'\'emetteur est une source
d'\'energie, il est normal que plus on s'\'eloigne de cette source, plus
l'\'energie que l'on re\c{c}oit d'elle diminue. On peut imaginer par exemple une
lampe, plus on s'\'eloigne d'elle et moins on est \'eclair\'e.
\\La figure \ref{exemplefctenergie} page \pageref{exemplefctenergie} montre
des exemples de courbes de fonctions d'\'energie valides pour associer
aux \'emetteurs.
\\Les abscisses repr\'esentent la distance du point \`a l'\'emetteur, les
ordonn\'ees la valeur de l'\'energie (qui est fonction de la distance).
R est le rayon d'influence de l'\'emetteur, l'\'energie vaut 0 pour une distance
\'egale \`a R. En 0, l'\'energie est maximale (Em).

\begin{figure}[h]
\begin{center}
\includegraphics[scale=0.7,angle=0]{graphics/courbes.eps}
\end{center}
\caption{Exemples de fonctions d'\'energie \label{exemplefctenergie}}
\end{figure}


Dans notre application, nous avons d\'efini plusieurs fonctions d'\'energie
diff\'erentes que l'utilisateur peut associer aux \'emetteurs qu'il cr\'ee. 
Ces fonctions sont d\'efinies par une formule math\'ematique,
nous donnons ci-dessous 2 de ces fonctions pr\'ed\'efinies.

\[
e(P)=
\left\{ \mbox{
\begin{tabular}{l}
\( (\frac{1-d}{R})^(\frac{1}{|p|})\)
\end{tabular}} \right. \]
o\`u e(P) est l'\'energie que le point P re\c{c}oit de l'\'emetteur, 
\( d \) repr\'esente la distance de P \`a l'\'emetteur, \( p \)
est la puissance de l'\'emetteur et \( R \) est le rayon\index{Rayon} de l'\'emetteur.
\\La figure \ref{energie1} page \pageref{energie1}
montre la courbe de cette fonction pour p = 0.5.
\label{formule1}


\begin{figure}[h]
\begin{center}
\includegraphics[scale=1]{graphics/energie1.ps}
\end{center}
\caption{Une des fonctions d'\'energie pr\'ed\'efinies pour un \'emetteur de puissance 0.5.\label{energie1}}
\end{figure}


\[
e(P)=
\left\{ \mbox{
\begin{tabular}{l}
\( p(1-3(\frac{d}{R})^2) \quad \quad \quad 0\leq r_i\leq \frac{R}{3}\)\\	
\(\frac {3p}{2}(1-\frac{d}{R})^2 \quad \quad \quad \frac{R}{3} \leq d \leq R \)\\
\( 0 \quad \quad \quad \quad \quad \quad \quad \quad R\leq d \)
\end{tabular}} \right. \]
o\`u e(P) est l'\'energie que le point P re\c{c}oit de l'\'emetteur, 
\( d \) repr\'esente la distance de P \`a l'\'emetteur, \( p \)
est la puissance de l'\'emetteur et \( R \) est le rayon\index{Rayon} de l'\'emetteur.
\\La figure \ref{energie2} page \pageref{energie2}
montre la courbe de cette fonction pour p = 0.5.
\label{formule2}

\begin{figure}[h]
\begin{center}
\includegraphics[scale=1]{graphics/energie2.ps}
\end{center}
\caption{Une des fonctions d'\'energie pr\'ed\'efinies pour un \'emetteur de puissance 0.5.\label{energie2}}
\end{figure}


En plus de ces fonctions pr\'ed\'efinies, l'\'editeur
de fonctions d'\'energie du logiciel offre la 
possibilit\'e de cr\'eer ses propres fonctions
(voir la section \ref{modeemploi} page
\pageref{modeemploi} pour le mode d'utilisation).
L'utilisateur doit dessiner la courbe de sa fonction
(le logiciel l'emp\^eche de d\'efinir une fonction
non d\'ecroissante) et le programme calcule
les valeurs d'\'energie correspondant \`a la
courbe. Ces valeurs sont stock\'ees dans un tableau.
On obtient ainsi une d\'efinition discr\^ete de la fonction,
on fera ensuite des interpolations pour calculer l'\'energie
sur toute la zone d'influence de l'\'emetteur.
\\\\Par ailleurs, nous avons besoin (en particulier pour le raytracing,
voir section \ref{raytracing} page \pageref{raytracing}) de calculer
les d\'eriv\'ees premi\`ere et seconde des fonctions d'\'energie.
\\Pour les fonctions qui sont d\'efinies par une formule math\'ematique
(fonctions pr\'ed\'efinies), cela ne pose pas de probl\`eme : il s'agit
d'un calcul de d\'eriv\'e standard.
\\Les fonctions d\'efinies de mani\`ere discr\^ete auront des d\'eriv\'ees
premi\`ere et seconde \'egalement d\'efinies par un ensemble de valeurs.
On approxime la valeur de la d\'eriv\'ee en un point P en calculant la pente
entre ce point P et le suivant (on pourrait affiner l'approximation en calulant
la moyenne des pentes entre le point P et le point pr\'ec\'edent, et entre le
point P et le point suivant).
On proc\'ede de la m\^eme mani\`ere pour calculer les valeurs de la d\'eriv\'ee
seconde \`a partir de la d\'eriv\'ee premi\`ere.

\subsection{Extension}
Nous avons enrichi le concept des m\'etaformes
en modifiant la s\'emantique de la fonction de repartition d'\'energie.
Les fonctions de r\'epartition d'energie "standard" donne des
densit\'es d'energie variant seulement en fonction de la distance
du point \`a l'\'emetteur.
\newline
Nous avons rajout\'e la possibilit\'e aux \'emetteurs d'\'emettre leur \'energie
de mani\`ere diff\'erente suivant la direction d'\'emission, on tient donc compte
de l'angle entre le point "recepteur" et l'\'emetteur \'energ\'etique.
On fait intervenir une fr\'equence angulaire pour moduler le nombre de "vagues"
et une amplitude pour faire varier la taille de ces vagues.
La figure \ref{blob-poilue} page \pageref{blob-poilue} montre un exemple
de ce que peut donner ce type d'effet, on y voit un \'emetteur point
avec une fonction d'\'energie standard \`a c\^ot\'e d'un \'emetteur point
auquel on a modifi\'e la fonction d'\'energie comme nous venons de
l'expliquer (le mode de rendu est \textit{Phong}).

\begin{figure}[h]
\begin{center}
\includegraphics[scale=0.7,angle=0]{graphics/blob-poilue.ps}
\end{center}
\caption{Un \'emetteur point standard et \'emetteur point
auquel on a modifi\'e la fonction d'\'energie pour faire intervenir
la direction d'\'emission en plus de la distance des points \`a l'\'emetteur\label{blob-poilue}}
\end{figure}

Cette technique permet avec des m\'etaformes de base tr\`es simple de
g\'en\'erer des objets tr\`es complexes et tr\`es beaux. Cette technique coupl\'ee
\`a l'animation permet de cr\'eer des effets spectaculaires. On pourra rendre
par exemple des chocs avec vibration sur la surface d'un corps mou par exemple.

\endinput