La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Triangles de Bézier Tiré de Tomas Akenine-Möller & Eric Haines, Real-Time Rendering. A K Peters, 2002, 835p.

Présentations similaires


Présentation au sujet: "Triangles de Bézier Tiré de Tomas Akenine-Möller & Eric Haines, Real-Time Rendering. A K Peters, 2002, 835p."— Transcription de la présentation:

1 Triangles de Bézier Tiré de Tomas Akenine-Möller & Eric Haines, Real-Time Rendering. A K Peters, 2002, 835p.

2 2 Triangles de Bézier Nous avons défini les surfaces de Bézier à partir dune grille rectangulaire de points de contrôle. Les triangles de Bézier de degré n sont plutôt définis à partir dune grille triangulaire de points de contrôle de la forme : { P ijk, i, j, k 0, i + j + k = n } P 300 P 210 P 120 P 030 P 201 P 102 P 003 P 012 P 021 P 111 n = 3 n + 1 points de contrôle pour chaque côté du triangle et (n + 1) (n +2) au total. 2 But : améliorer la forme géométrique et les techniques dillumination dun maillage grossier.

3 3 Triangles de Bézier S(u, v) = B ijk (u, v) P ijk i + j + k = n i, j, k 0 n où B ijk (u, v) = n! u i v j (1 – u – v) k, i + j + k = n i! j! k!i, j, k 0 n 0 autrement. Cas particulier : n = 1 S(u, v) = u P 100 + v P 010 + (1 – u – v) P 001,u, v 0,u + v 1 u, v 0,u + v 1 Un triangle

4 4 Signification de la fonctionB ijk (u, v) Rappel : Loi multinomiale M(n, p 1, p 2, …, p k ) : généralisation dune binomiale Soit un ensemble déléments, partitionné en k classes C 1, C 2, …, C k. Chaque élément a les probabilités p 1, p 2, …, p k dappartenir resp. aux classes C 1, C 2, …, C k avec p 1 + p 2 + …+ p k = 1. On effectue n tirages au hasard indépendants avec remise. En posant X i : # déléments de la classe C i obtenus en n tirages, i = 1, 2, …, k, P(X 1 = x 1, X 2 = x 2, …, X k-1 = x k-1 ) =n!p 1 x 1 p 2 x 2 … p k x k x 1 ! x 2 ! … x k ! Il sensuit que B ijk (u, v) = P(X 1 = u, X 2 = v) avec k = 3. n

5 5 Triangles de Bézier Propriétés : cas général S(0, 0) = P 00n S(1, 0) = P n00 S(0, 1) = P 0n0 S(0, v) = courbe de Bézier avec comme points de contrôle P 00n, P 01n-1, …, P 0n0. S(u, 0) = courbe de Bézier avec comme points de contrôle P 00n, P 10n-1, …, P n00. S(u, 1-u) = courbe de Bézier avec comme points de contrôle P 0n0, P 1n-10, …, P n00. La surface est à lintérieur de lenveloppe convexe des points de contrôle. En appliquant une transformation affine T aux points de contrôle définissant la surface, cela revient à appliquer la même transformation T à lensemble des points de la surface.

6 6 Triangles de Bézier Calcul de la normale Jusquà maintenant, nous avons procédé comme suit : S(u, v) x S(u, v)dans le cas où S est définie dans le carré unité. u v Dans le cas des triangles de Bézier où u + v 1, u, v 0, on a : S(u, v, w) u = n B ijk (u, v, w) P i+1,j,k i + j + k = n-1 i, j, k 0 n-1 S(u, v, w) v = n B ijk (u, v, w) P i,j+1,k i + j + k = n-1 i, j, k 0 n-1 S(u, v, w) w = n B ijk (u, v, w) P i,j,k+1 i + j + k = n-1 i, j, k 0 n-1 où w = 1 – u – v.

7 7 Triangles de Bézier Calcul de la normale (suite) Rappel : La dérivée directionnelle de S(u, v, w) par rapport à la direction d = (e, f, g) est : e S(u, v, w) + f S(u, v, w) + g S(u, v, w) u v w oùd désigne la différence entre 2 points dans le domaine u + v + w = 1; u, v, w 0. Par conséquent, e + f + g = 0. La normale à (u, v, w) est le produit vectoriel de la dérivée directionnelle de S par rapport à d 1 et celle de S par rapport à d 2.

8 8 Triangles de Bézier Cas particulier : S(u, v, w) = u P + v Q + w R,u + v + w = 1, u, v, w 0. S(u, v, w) u = P S(u, v, w) v = Q S(u, v, w) w = R La dérivée directionnelle de S par rapport à (-1, 1, 0) est Q – P et celle de S par rapport à (-1, 0, 1) est R – P. La normale de S à (u, v, w) est donc (Q – P) x (R – P).

9 9 Triangles de Bézier cubique ( n = 3) S(u, v, w) = B ijk (u, v, w) P ijk i + j + k = 3 i, j, k 0 3 u, v, w 0,u + v + w = 1 S(u, v, w) = u 3 P 300 + v 3 P 030 + w 3 P 003 + 3u 2 vP 210 + 3u 2 wP 201 + 3uv 2 P 120 + 3uw 2 P 102 + 3v 2 wP 021 + 3vw 2 P 012 + 6uvwP 111. ou encore, S(u, v, w) u = 3u 2 P 300 + 6uvP 210 + 6uwP 201 + 3v 2 P 120 + 3w 2 P 102 + 6vwP 111 S(u, v, w) v = 3v 2 P 030 + 3u 2 P 210 + 6uvP 120 + 6vwP 021 + 3w 2 P 012 + 6uwP 111 S(u, v, w) w = 3w 2 P 003 + 3u 2 P 201 + 6uwP 102 + 6vwP 012 + 3v 2 P 021 + 6uvP 111 S(u, v, w) - S(u, v, w) v u x S(u, v, w) - S(u, v, w) w u n(u, v, w) = ce qui donne :

10 10 Triangles de Bézier cubique ( n = 3) Amélioration de la forme géométrique dun maillage triangulaire SoientQ 1, Q 2 et Q 3 les sommets dun triangle du maillage, N 1, N 2 et N 3 les normales des sommets de ce triangle, 1. Les 3 sommets Q 1, Q 2 et Q 3 correspondent respectivement aux points de contrôle P 300, P 030 et P 003. 2. Rappel :la projection dun point Q sur un plan de normale N unitaire passant par P correspond à Q + N où = N. (P – Q). il sagit de remplacer ce triangle du maillage par un triangle de Bézier cubique sans se servir des données géométriques des facettes voisines. Q1Q1 Q2Q2 Q3Q3

11 11 Triangles de Bézier cubique ( n = 3) P 210 = projection de Q 1 + (Q 2 - Q 1 ) / 3 sur le plan tangent à Q 1 de normale N 1 passant par Q 1, = Q 1 + (Q 2 - Q 1 ) / 3 + [N 1. (Q 1 – Q 2 ) / 3] N 1 / 3 3. Calcul des sommets intermédiaires P 201, P 210, P 102, P 120, P 012 et P 021 sur les arêtes. Considérons le cas de P 210. Q 1 =P 300 P 210 P 120 Q 2 = P 030 P 201 P 102 Q 3 = P 003 P 012 P 021 P 111 Q1Q1 Q2Q2 P 210

12 12 Triangles de Bézier cubique ( n = 3) 4. Calcul du sommet P 111. PosonsE = (P 201 + P 210 + P 102 + P 120 + P 012 + P 021 ) / 6, V = (Q 1 + Q 2 + Q 3 ) / 3, alors P 111 = E + ½(E – V). Tiré de Farin, Gerald, Triangular Bernstein-Bézier Patches. Computer Aided Geometric Design, vol. 3, no. 2, pp. 83-127, 1986. Lobjectif visé est de ne pas trop dévier du triangle original afin de préserver la forme de lobjet et éviter des interférences avec les autres triangles de Bézier. Remarque : Pour appliquer un modèle dillumination, il faut pouvoir calculer la normale à la surface au point (u, v, w) : 1. On calcule la normale au triangle de Bézier cubique : voir. 2. Approche linéaire : N(u, v, w) = w N 1 + u N 2 + v N 3. 3. Construire un triangle de Bézier N(u, v, w) (n = 2) à partir des normales N 1, N 2 et N 3 ainsi que des points Q 1, Q 2 et Q 3..

13 13 Triangles de Bézier cubique ( n = 3) Maillage triangulaire Modèle de Gouraud Approche linéaire et quadratique : calcul de la normale Vlachos, Alex, Jörg Peters, Chas Boyd, and Jason L. Mitchell, Curved PN Triangles. ACM Symposium on Interactive 3D Graphics 2001, pp. 159-166, 2001.


Télécharger ppt "Triangles de Bézier Tiré de Tomas Akenine-Möller & Eric Haines, Real-Time Rendering. A K Peters, 2002, 835p."

Présentations similaires


Annonces Google