WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Modélisation 3d pour les personnes vivant avec handicap.


par Sylvestre Frey
Université de Kinshasa - Licence 2018
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

a. Algorithme du peinture

L'idée de cet algorithme consiste à utiliser la technique d'un peintre pour représenter une scène : il peint tout d'abord les objets de l'arrière-plan pour terminer par les objets qui sont les plus près (au premier plan).

En pratique, on l'applique sur des objets plats (des facettes ou des polygones dont les points sont coplanaires) afin de limiter les problèmes pouvant survenir lors du tri. On en distingue deux :

ü L'algorithme de peinture : Affiche une scène avec parties cachées contenant n polygones{Pk}k=1..n. On note Iij l'intervalle du plan de projection correspondant au pixel (i,j), etI(i,j) l'intensité de l'image à ce pixel. Voici l'algorithme :

image PEINTRE(entier n, liste de polygones{Pk}k=1..n)

1. Trier les polygones{Pk}de l'arrière vers l'avant.

2. Initialiser l'image de résultat I à la couleur du fond.

3. Pour k allant de 1 à n

(a) Calculer la projection P' du polygone Pk dans le plan de l'image. (b) Pour tous les intervalles Iij intersectant P', Affecter à I(i,j) l'intensité de la partie du polygone P se projetant en Iij nP'. 4. Renvoyer I

Note : On remarque que si l'intensité de la partie polygone IijnP' est calculée grâce à un rendu, alors ce rendu sera fait en chaque point de l'objet, sans savoir s'ils sont effectivement visibles ou non. Une solution consiste à dessiner les polygones en commençant par les plus proches et à ne peindre que les pixels qui n'ont pas déjà été peints. C'est à partir de l'algorithme à peinture inverse que nous aurons la réponse favorable.

ü L'algorithme à peinture inverse : la différence avec l'algorithme à peinture, c'est juste au niveau de l'algorithme et de l'affichage. Voici son algorithme :

image PEINTREINVERSE(entier n, liste de polygones{Pk}k=1..n) 1. Trier les polygones{Pk}de l'avant vers l'arrière.

2. Initialiser l'image de résultat I à la couleur du fond.

3. Initialiser le masque M des pixels déjà peints à faux : M(i,j)=faux pour tout i,j. 4. Pour k allant de 1 à n

(a) Calculer la projection P' du polygone Pk dans le plan de l'image.

(b) Pour tous les intervalles Iij intersectant P' et tel que M(i,j)=faux,

i. Affecter ` a I(i,j) l'intensité de la partie du polygone P se projetant en Iij nP'.

ii. M(i,j)=vrai.

5. Renvoyer I

Cet algorithme utilise le tri pour classer les objets fait à ce qu'il ne soit pas plus rapide.

b. Algorithme du tampon de profondeur (Z-buffer)

Cet algorithme permet d'afficher une scène avec parties cachées contenant n polygones{Pk}k=1..n. On note Iij le carré de la grille dans le plan de projection correspondant au pixel (i,j), etI(i,j) l'intensité de l'image à ce pixel.

Voici comment il se présente :

image ZBUFFER(entier n, liste de polygones{Pk}k=1..n)

1. Initialiser l'image de résultat I à la couleur du fond.

2. Initialiser l'image de profondeur Zb à +8: Zb(i,j)=+8 pour tout i,j.

3. Pour k allant de 1 à n

(a) Calculer la projection P du polygone Pk dans le plan de l'image.

(b) Pour tous les intervalles Iij intersectant P',

i. Calculer la profondeur z de Iij nP'.

ii. Si z<Z b (i,j) alors

affecter à I(i,j) l'intensité de la partie du polygone P se projetant en Iij nP.

Zb (i,j)=z.

4. renvoyer I.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Des chercheurs qui cherchent on en trouve, des chercheurs qui trouvent, on en cherche !"   Charles de Gaulle