• Aucun résultat trouvé

3 Am ´elioration de la projection ´etendue des objets

Les op´erateurs de Projection que nous avons pr´esent´es sont prudents, ce qui signifie qu’ils ne peuvent jamais identifier par erreur un objet comme invisible alors qu’il est visible. Cependant, le contraire peut se

cell

FIG. 5.5:Projection ´etendue d’un bloqueur convexe. (a) La Projection d’un bloqueur convexe est l’intersection des vues depuis les sommets de la cellule (nous avons repr´esent´e une cellule carr´ee pour plus de simplicit´e).

(b) Calcul `a l’aide du tampon de stencil. Les valeurs du stencil indiquent le nombre de vues qui se projettent sur chaque pixel.

produire, un objet peut ˆetre d´eclar´e potentiellement visible alors qu’il est en fait cach´e depuis tous les points de la cellule.

Dans cette section, nous pr´esentons une am´elioration dans le cas de bloqueurs convexes ou planaires, pour des configurations dans lesquelles notre Projection initiale entraˆıne des tests trop prudents. Nous pr´esentons tout d’abord des propri´et´es d’occultation qui permettent notre optimisation. Nous d´ecrivons une Projection am´elior´ee en 2D o `u le probl`eme est plus simple. Nous expliquons ensuite pourquoi ce r´esultat ne peut ˆetre trivialement ´etendu en 3D, et comment on peut tout de mˆeme s’en servir pour optimiser les calculs 3D.

3.1 Quelques propri ´et ´es des ombres

Dans la figure 5.6(a), nous montrons une situation 2D pour laquelle notre Projection est trop restrictive.

La Projection de l’objet n’est pas contenue dans la Projection du bloqueur, alors qu’il est cach´e de mani`ere

´evidente depuis tous les points de la cellule. Cette configuration se produit parce que l’objet se trouve entre le plan de projection et le bloqueur, et parce que le bloqueur est convexe. Si l’objet est derri`ere le plan, la Projection que nous avons pr´esent´e dans la section 1.2 donne des r´esultats satisfaisants.

Tester la p´enombre de l’objet et l’ombre du bloqueur n’est pas suffisamment restrictif. Comme nous allons le voir, on peut remplacer la p´enombre par l’ombre de l’objet dans cette configuration pour obtenir la r´eponse souhait´ee.

Pour ceci, nous allons d´efinir une Projection am´elior´ee pour les objets. Elle ne sera valable que si les bloqueurs sont convexes ou planaires, mais la fusion des bloqueurs sera toujours prise en compte. Remarquons que, bien que la restriction porte sur la classe des bloqueurs, c’est la Projection des objets qui est am´elior´ee.

Nous fondons notre Projection am´elior´ee sur quelques propri´et´es des ombres des objets convexes que nous allons d´emontrer.

Dans ce qui suit, nous utilisons le terme cˆone pour d´esigner un cˆone g´en´eral d´efini par un sommet et un ensemble de points (pas n´ecessairement circulaire). Le terme “pyramide” pourrait aussi ˆetre utilis´e. Nous utilisons ´egalement le mot “cˆone” pour signifier un coin 2D, ce qui rend la terminologie plus coh´erente entre la 2D et la 3D. De la mˆeme fac¸on, nous utiliserons toujours l’expression “plan de projection” en 2D, alors qu’une ligne est en fait utilis´ee.

Avant de d´efinir notre Projection am´elior´ee, introduisons deux propri´et´es importantes que nous utiliserons

cell

projection plane occluder

occludee cell

projection plane occluder

P' P

(a) (b)

FIG. 5.6:(a) Configuration dans laquelle les projections ´etendues initiales sont trop restrictives. La Projection de l’objet n’est pas contenue dans la Projection du bloqueur, alors qu’il est de mani`ere ´evidente cach´e. (b) Tout point P0 `a l’int´erieur du cˆone d´efini par P et la cellule et qui est derri`ere le bloqueur est cach´e.

pour d´emontrer sa validit´e.

Propri´et´e 1 Pour un point P donn´e `a l’int´erieur de la r´egion d’ombre d’un bloqueur convexe ou planaire par rapport `a une cellule, tous les points P0qui se trouvent derri`ere le bloqueur et qui sont ´egalement dans le cˆone d´efini par P et la cellule, sont ´egalement cach´es depuis la cellule.

Cette propri´et´e est illustr´ee figure 5.6(b). La preuve est ´evidente pour les bloqueurs convexes, puisque le cˆone d´efini par P0et la cellule est contenu dans le cˆone d´efini par P et la cellule. La section du bloqueur qui occulte P est un sur-ensemble de la section qui occulte P0. Remarquons que cette propri´et´e n’est pas valable pour des bloqueurs quelconques.

projection plane P

occluder plane occluder

occluder Projection

P' cell

FIG. 5.7:Cas d’un bloqueur planaire concave. L’intersection du bloqueur et du cˆone (d´efini par le point P et la cellule) est en gris sombre. Elle est convexe et ´egale `a l’intersection avec le plan du bloqueur.

Toutefois, le cas 3D de bloqueurs concaves et planaires est similaire au cas convexe. Consid´erons la situa-tion de la figure 5.7. Si un point P est dans l’ombre d’un tel bloqueur, alors l’intersecsitua-tion du bloqueur avec le cˆone d´efini par P et la cellule doit ˆetre ´egal `a l’intersection du plan du bloqueur avec le cˆone (autrement il y a un “trou” et P n’est pas dans l’ombre). Cette intersection est donc convexe. L’intersection du cˆone d´efini par P0et la cellule est un sous-ensemble de cette intersection, P0est donc cach´e. Le plan du bloqueur n’est pas n´ecessairement parall`ele au plan de projection, et le bloqueur peut ˆetre concave ou avoir des trous.

Propri´et´e 2 Pour pouvoir effectuer des tests valides, la Projection am´elior´ee d’un objet doit avoir la propri´et´e suivante : l’union des cˆones d´efinis par les points de la Projection am´elior´ee et la cellule doit contenir l’objet.

Consid´erons la situation de la figure 5.6(b). Les points de l’objet `a l’int´erieur du cˆone d´efini par P et la cellule sont cach´es `a cause de la propri´et´e 1. Donc si l’objet est contenu dans l’union des cˆones d´efinis par la cellule et les points de la Projection am´elior´ee, tous les points de l’objet sont dans l’un de ces cˆones, et ils peuvent donc ˆetre d´eterminer cach´es grˆace `a la propri´et´e 1.

Remarquons que la fusion des bloqueurs est toujours prise en compte, puisque tous les points P qui d´efinissent les cˆones n’ont pas besoin d’ˆetre cach´es par le mˆeme bloqueur convexe ou planaire.

cell

FIG. 5.8:(a) En 2D, la Projection am´elior´ee est d´efinie par l’intersection du plan de projection avec les droites supports de la cellule et de l’objet. (b) lorsque le point de fuite de l’ombre de l’objet est devant le plan de projection, tout point entre les intersections des droites supports peut ˆetre utilis´e.

3.2 Projection ´etendue am ´elior ´ee en 2D

Une Projection am´elior´ee qui respecte la propri´et´e 2 peut ˆetre d´efinie en 2D en consid´erant les droites supports de la cellule et de l’objet, comme cela est illustr´e figure 5.8(a). L’intersection de ces droites avec le plan de projection d´efinit les limites de la Projection am´elior´ee de l’objet.

Cependant, si l’objet est trop petit, les droites supports s’intersectent avant le plan de projection au point de fuite. Dans ce cas, tout point P entre les intersections des droites avec le plan de projection satisfait la propri´et´e 2 (cf. figure 5.8(b)). Tout cˆone d´efini par un de ces points et la cellule contient le point de fuite, et donc l’objet.

En pratique, nous utilisons le milieu des deux intersections pour nos calculs.

Remarquons que le calcul est alors le mˆeme si l’objet est devant ou derri`ere le plan de projection, les droites supports sont utilis´ees dans les deux cas. Par opposition `a la Projection standard d´efinie section 1.2, nous ne nous int´eressons plus aux droites s´eparatrices. Dans le cas o`u l’objet est entre le plan de projection et la cellule, nous avons substitu´e l’ombre `a la p´enombre.

R´esumons notre Projection am´elior´ee en 2D : pour tout objet (qu’il soit devant ou derri`ere le plan de projection), nous calculons l’intersection avec le plan de projection des droites supports haute et basse de la cellule et de l’objet. Si le plan de projection est derri`ere le point de fuite (c’est-`a-dire si l’intersection de la droite basse est au dessus de l’intersection de la droite haute), nous utilisons le milieu des deux intersections, sinon nous utilisons le segment tout entier. Nous illustrons notre Projection am´elior´ee dans la figure 5.8. La Projection am´elior´ee d’un objet est un point ou un segment, selon que le plan de projection est devant ou derri`ere le point de fuite.

3.3 Projection ´etendue am ´elior ´ee en 3D

En 3D malheureusement, les plans supports ne peuvent ˆetre utilis´es aussi simplement, et le point de fuite est mal d´efini. Mˆeme si le volume d’ombre d’un objet intersecte le plan de projection, l’union des cˆones d´efinis par la cellule et les points du plan dans l’ombre ne contient pas n´ecessairement l’objet.

C’est pourquoi nous projetons le probl`eme sur deux plans orthogonaux au plan de projection et parall`eles aux faces de la cellule (cf. figure 5.9). Sur chacun de ces plans, nous utilisons la Projection am´elior´ee. Le produit cart´esien de ces deux Projections 2D am´elior´ees d´efinit notre Projection 3D am´elior´ee.

3D improved