OBJETS ÉLÉMENTAIRES DANS L’ESPACE À TROIS DIMENSIONS

Slides:



Advertisements
Présentations similaires
Eléments d'algèbre linéaire
Advertisements

Chaîne de Synthèse Réel Modélisation Rendu Image Fichier Scène
Principe des puissances virtuelles
Résistance des Matériaux
Licence pro MPCQ : Cours
Programme de seconde 2009 Géométrie
Courbes & Surfaces de subdivision
Modélisation 3D Réalisation d'une image de synthèse
Modélisation Géométrique
Structures et réseaux RESEAUX CUBIQUES Réseau cubique simple
REPÉRAGE DANS L’ESPACE
Construire des surfaces avec des polygones
Calcul de volume méthode des tranches
Angles et distances dans R2
Chapitre 4 Symétrie centrale.
Générer des solides.
1.2 COMPOSANTES DES VECTEURS
Lignes trigonométriques.
Généralités sur les constructions (1)
Rappel... Solution itérative de systèmes linéaires (suite et fin).
1.3 COORDONNÉES DES POINTS
La droite dans R2 Montage préparé par : André Ross
Mais en mathématiques, qu'est ce qu'une ligne de niveau?
Modélisation géométrique à l’aide d’un maillage
Examen partiel #3 Mercredi le 15 décembre de 15h30 à 17h20
Programmation linéaire en nombres entiers Algorithme de la subdivision successive («Branch and Bound Algorithm»)
Courbes de Hermite Michael E. Mortenson, Geometric Modeling. Wiley, 1997, 523p.
Courbes de Bézier.
Visualisation de surfaces décrites analytiquement
Théorie fractale Introduction à la géométrie fractale
Génération d’un segment de droite
3.1 DÉTERMINANTS (SUITE) Cours 6.
1.1 LES VECTEURS GÉOMÉTRIQUES
3.2 PRODUIT VECTORIEL Cours 7.
L’AIRE … dans tous ses états ! Projet Dédra-math-isons Par:
L’OFFRE ET LA DEMANDE.
PIF-6003 Sujets spéciaux en informatique I
Parallèles. On appelle parallèles, des droites situées dans un même plan et n’ayant aucun point commun. Théorème: Deux droites perpendiculaires à une troisième.
Cinématique du point Chapitre 1
Réalisation d'une image de synthèse
Résoudre une équation du 1er degré à une inconnue
Technique de points de contrôle: Formes de Bézier
Texture 2D en PGC++.
Atelier de formation : MAT optimisation II (les graphes).
Système de coordonnées
Préparé par Julia Bozukova
La droite dans R3 Montage préparé par : André Ross
Sous-espaces vectoriels engendrés
Programmation linéaire en nombres entiers : les méthodes de troncature
Modélisation géométrique de base
Modélisation avec des solides facette arête sommet Solides paramétriques.
Transformations visuelles des objets
Elaboré par M. NUTH Sothan 1. 2 Soit x, y et z des coordonnées cartésiennes à 3 dimension. G un ensemble de points dans le plan (u, v). Déf. : On appelle.
10 paires -. 9 séries de 3 étuis ( n° 1 à 27 ) 9 positions à jouer 5 tables Réalisé par M..Chardon.
USAM BRIDGE H O W E L L -CLASSIQUE
9 paires séries de 3 étuis ( n° 1 à 27 )
Égalité des figures Si une figure peut être obtenue à partir d’une autre par opération d’un glissement on dit que les deux figures sont directement égales.
Modélisation géométrique
Les Triangles 1. Inégalité triangulaire
Electrostatique- Chap.2 CHAPITRE 2 CHAMP ELECTROSTATIQUE Objectif :
Potentiel électrostatique
Programmation linéaire en nombres entiers
Chapitre VIII Découpage d’une scène selon une fenêtre donnée.
Les bases de la modélisation Primitives simples et CSG.
CHAPITRE III Calcul vectoriel
OBJETS ÉLÉMENTAIRES DANS L’ESPACE À TROIS DIMENSIONS
Les coniques Elles sont obtenues par intersection
Seconde 8 Chapitre 2: L’espace
Test Point Polyedre Pierre REISS
Faculté Polytechnique Cours 9: Représentation de courbes spatiales Géométrie et communication graphique Edouard Rivière-Lorphèvre.
Transcription de la présentation:

OBJETS ÉLÉMENTAIRES DANS L’ESPACE À TROIS DIMENSIONS CHAPITRE IV OBJETS ÉLÉMENTAIRES DANS L’ESPACE À TROIS DIMENSIONS

OBJETS ÉLÉMENTAIRES TRIANGLE Considérons les principales classes de surfaces ou volumes simples utilisées en modélisation géométrique et en infographie. TRIANGLE Il est défini par ses 3 sommets p1, p2, p3. L'équation du plan qui coïncide avec ce triangle est: [(p2 - p1) x (p3 - p1)] * (P - p1) = 0. où P est un point quelconque du plan. L'aire du triangle est égale à ||(p2 - p1) x (p3 - p1)|| / 2. S(u, v) = u p1 + (1 – u) {p2 v + (1 – v) p3}, u, v [0, 1]. p2 v + (1 – v) p3 p2 S(u, v) p3 p1 Espace normalisé

CERCLE Il est défini par son centre C, son rayon R et le vecteur normal N au plan du cercle. Hypothèse : le cercle est centré à l'origine. L'équation du plan du cercle est: N . P = 0 où P est un point quelconque du plan. On recherche donc l'intersection de ce plan avec la sphère de centre 0 et de rayon r dont l'équation est: x2 + y2 + z2 = r2 . On obtient donc:      (N = (n1, n2, n3) , P = (x, y, z))   (n12 + n22 ) y2  +  (n12 + n32 )z2  + 2 n2 n3 y z = n12 r2    où n1  0 Hypothèse : le cercle est différent de l'origine. Effectuer une translation de C des points satisfaisant l'équation précédente.

POLYGONES Un polygone est une figure fermée formée d'une suite de points appelés "sommets " reliés par des segments appelés "arêtes". Les sommets sont distincts et les arêtes ne se croisent pas. L'ensemble des sommets font partie d'un même plan. Un polygone est défini à partir de ses sommets P0, P1, P2, ..., PN-1.

POLYGONES CONVEXES POLYGONES MONOTONES Un polygone où chaque paire de points à l'intérieur du polygone implique que le segment de droite les reliant se trouve aussi complètement à l'intérieur du polygone. oui non POLYGONES MONOTONES Un polygone possédant 2 sommets extrêmes dans une direction donnée, reliés par 2 chaînes monotones dans cette direction. La direction x est choisie.

POLYGONES EN SPIRALE POLYGONES EN ÉTOILE Un polygone dont le contour contient uniquement une sous-chaîne concave. POLYGONES EN ÉTOILE Un polygone possédant un sommet visible de tous les autres sommets.

POLYGONES - Comment vérifier que nous sommes en présence d’un polygone ? - Déterminer si un polygone est convexe, monotone, en spirale ou en étoile ? - Vérifier si un point appartient ou non à un polygone ? - Calculer l’intersection entre 2 polygones, entre une droite et un polygone, entre un plan et un polygone, etc. POLYÈDRES Une figure fermée bornée où chaque face est un polygone. typedef Liste Polyedre; (* liste de polygones 3D *) Le type liste représente une liste doublement chaînée.

SURFACES DE RÉVOLUTION Appliquer une rotation à une courbe autour d'un axe quelconque dans l'espace 3D : soient la courbe génératrice C(u), u  [0,1], l'axe de rotation d, la transformation TZ faisant coïncider l'axe de rotation à l'axe des z, la transformation inverse T-1Z, la transformation Tq de rotation d'un angle q autour de l'axe des z, on obtient : S(u, q) = T-1Z Tq TZ C(u), u  [0, 1], q  [0, 2]. La courbe génératrice C(u) est quelconque; nous pouvons utiliser une spline cubique, une courbe de Bézier ou une courbe B-Spline par exemple. C(u) | | d Ex. C(u) est un segment de droite

SURFACES DE RÉVOLUTION Ex. C(u) est un segment de droite C(u) | | d C(u) et d sont coplanaires.

SURFACES DE BALAYAGE Déplacement d'une droite, d'un polygone ou d'une courbe quelconque le long d'une courbe dans l'espace à 3 dimensions. Surfaces cylindriques Déplacement d'une droite de direction w constante (génératrice) s’appuyant sur une courbe fixe C(u) (directrice) C(u) + l w, u  [0,1], l  . w N(u, l) = d C(u) x w d u C(u)

SURFACES DE BALAYAGE Déplacement d'une droite, d'un polygone ou d'une courbe quelconque le long d'une courbe dans l'espace à 3 dimensions. Surfaces coniques Déplacement d'une droite (génératrice) s’appuyant sur une courbe fixe C(u) (directrice) tout en passant par un point fixe P. S(u, l) = P + l (C(u) - P), u  [0,1], l  [0,1]. N(u, l) = l d C(u) x (C(u) - P) d u C(u) P

SURFACES DE BALAYAGE Déplacement d'une droite, d'un polygone ou d'une courbe quelconque le long d'une courbe dans l'espace à 3 dimensions. Surfaces conoïdes Déplacement d'une droite (génératrice) s’appuyant sur une courbe fixe C(u), u  [0,1], et une droite fixe D: : a + l d, l   tout en restant | | à un plan dont la normale est N. C(u) + a{a + l d - C(u)}, u  [0,1], a  [0,1]. où l = [C(u) * N - a * N] / (d * N). D C(u) Le plan est | | à a + l d - C(u) (a + l d - C(u))  N N * (a + l d - C(u)) = 0 l = [C(u) * N - a * N] / (d * N).

SURFACES BILINÉAIRES Une surface bilinéaire est construite à partir de 4 sommets P, Q, R et W. Chaque point sur la surface est obtenu par interpolation linéaire entre 2 points sur des frontières opposées: S(u, v) = (1-u) (1-v) P +(1-u)v Q + u(1-v) R + u v W, u, v  [0,1]. N(u, v) = S(u, v) x S(u, v) u v où S(u, v) = v (W – Q) + (1 – v) (R – P), u S(u, v) = u (W – R) + (1 – u) (Q – P). v Si les 4 sommets sont dans un même plan, la surface en question est un quadrilatère.

SURFACES BILINÉAIRES S(u, v) = (1-u) (1-v) P +(1-u)v Q + u(1-v) R + u v W, u, v  [0,1]. On peut subdiviser S en 4 sous-surfaces bilinéaires avec les sommets suivants : I : P, S(0, ½), S(½, 0) et S(½, ½). II : S(0, ½), Q, S(½, ½) et S(½, 1). III : S(½, 0), S(½, ½), R et S(1, ½). IV : S(½, ½), S(½, 1), S(1, ½) et W. Cette subdivision est exacte. Considérons par exemple la sous-surface I notée A(u, v): A(u, v) = (1-u) (1-v) P +(1-u)v S(0, ½) + u(1-v) S(½, 0) + u v S(½, ½), = (1-u) (1-v) P + (1-u)v {½ P + ½Q} + u(1-v) {½ P + ½ R} + u v {¼ P + ¼ Q + ¼ R + ¼ W} = {(1-u) (1-v) + ½ (1-u)v + ½ (1-v)u + ¼ u v } P + {½ (1-u)v + ¼ u v} Q + {½ u(1-v) + ¼ u v} R + {¼ u v} W = {1 - ½ v - ½ u + ¼ u v } P + {½ v - ¼ u v} Q + {½ u - ¼ u v} R + {¼ u v} W = S(½ u , ½ v)

SURFACES GUIDÉES Elle est obtenue par interpolation linéaire de 2 courbes P(v) et Q(v): S(u, v) = (1-u) P(v) + u Q(v), u, v  [0,1]. Nous pouvons remarquer que S(0,v) = P(v) et S(1,v) = Q(v). De plus, nous avons: S(0,0) = P(0), S(1,1) = Q(1), S(0,1) = P(1) et S(1,0) = Q(0), les extrémités des 2 courbes.

SURFACES DE COONS LINÉAIRES En considérant les 4 courbes frontières C1(u), C2(u), C3(v) et C4(v), on peut imaginer simplement la somme de 2 surfaces guidées: S(u, v) = (1-v) C1(u) + v C2(u) + (1-u) C3(v) + u C4(v) u, v  [0,1]. où C1(0)  C3(0), C3(1)  C2(0), C2(1)  C4(1) et C1(1)  C4(0). Après examen, on voit que : S(0, 0) = 2 C1(0), S(0, 1) = 2 C2(0), S(1, 0) = 2 C4(0), S(1, 1) = 2 C4(1), S(0, v) = (1-v) C1(0) + v C2(0) + C3(v) S(1, v) = (1-v) C1(1) + v C2(1) + C4(v) S(u, 0) = C1(u) + (1-u) C3(0) + u C4(0) S(u, 1) = C2(u) + (1-u) C3(1) + u C4(1). C2(u) C4(v) C3(v) C1(u) Ceci est dû à la duplication des 4 sommets.

SURFACES DE COONS LINÉAIRES Pour corriger cet état de fait, nous considérons plutôt: S(u,v) = (1-v) C1(u) + v C2(u) + (1-u) C3(v) + u C4(v) - C1(0) (1-u)(1-v) – C2(0)(1-u)v -C4(0) u(1-v) – C4(1) u v, u, v  [0,1] où S(0, 0) = C1(0), S(0, 1) = C2(0), S(1, 0) = C4(0), S(1, 1) = C4(1), S(0, v) = C3(v), S(1, v) = C4(v), S(u, 0) = C1(u), S(u, 1) = C2(u).

SURFACES DE COONS LINÉAIRES

Maillage polygonal Jusqu’à maintenant, nous avons considéré des surfaces qui peuvent être décrites analytiquement. Dans bien des applications, une description analytique est absente. Pensons à la représentation d’une automobile ou d’un paquebot. La surface d’un objet peut alors être représentée approximativement par un ensemble de polygones. Même si nous possédons des surfaces décrites analytiquement comme par ex., des surfaces paramétriques, il est facile de construire un maillage triangulaire approximant chaque surface à partir des points suivants de la surface : {S(u, v) | u = 0, , 2, …, 1; v = 0, , 2, …, 1} et cela facilite l’application des algorithmes d’affichage.

Maillage polygonal Calcul de la normale en chacun des sommets des facettes d’un maillage triangulaire. TROIS FAÇONS DIFFÉRENTES : la normale en chacun des sommets d’une facette triangulaire est la même et correspond à la normale au plan du triangle. la normale en un sommet d’une facette triangulaire est la moyenne des normales des plans des triangles ayant ce sommet en commun. la normale en un sommet d’une facette triangulaire est la normale à la surface en ce point.

Exercice # 1 Fonction booléenne qui retourne TRUE si un point P appartient à un polygone. FALSE autrement. On peut supposer que le polygone est dans le plan X°Y. Construisons une demi-droite issue de P qui intercepte le polygone sans intercepter ces sommets. Calculer m  # d’intersections entre cette demi-droite et les arêtes du polygone. Si m est impaire alors retourne TRUE sinon retourne FALSE. P m = 4.

Exercice # 2 Fonction booléenne qui retourne TRUE si un polygone est convexe. FALSE autrement. Soient P0, P1, P2, …, Pn-1 les sommets d’un polygone, testez le signe de la coordonnée en z du vecteur : (Pi - Pi-1) x (Pi+1 - Pi), i = 1, 2, …, n avec Pn  P0 et Pn+1  P1. Si le signe est le même pour tout i = 1, 2, …, n alors retourner TRUE sinon retourner FALSE. Note : Le polygone est dans le plan X°Y; la coordonnée en z des sommets est nulle.

Exercice # 3 Considérons un plan dont le vecteur normal est N et la distance de l’origine au plan est d, et un triangle 3D non dégénéré dont les sommets sont resp. Q, R et S. L’intersection de ces 2 objets donne lieu à plusieurs situations. Dans chacune d’elles, indiquez comment nous pouvons identifier les surfaces résultantes et comment nous pouvons déterminer quelle situation s’applique. L’équation du plan est : N* P + d = 0. 1er cas : Surface résultante  Triangle QRS Condition : N * Q + d = 0, N * R + d = 0, N * S + d = 0. 2ième cas : Surface résultante  aucune Condition : N * Q + d < 0, N * R + d < 0, N * S + d < 0 ou encore N * Q + d > 0, N * R + d > 0, N * S + d > 0.

Exercice # 3 (suite) 3ième cas : Surface résultante  1 point Si la surface résultante est un point alors il s’agit d’un des 3 sommets du triangle disons Q. Conditions : N * Q + d = 0, (N * R + d < 0, N * S + d < 0) ou (N * R + d > 0, N* S + d > 0). Des conditions semblables peuvent être fournies lorsque le point résultant est R ou S. 4ième cas : Surface résultante  1 segment de droite (i) La surface résultante est une arête du triangle, disons QR. Condition : N * Q + d = 0, N * R + d = 0, N * S + d  0. Des conditions semblables peuvent être fournies lorsque la surface résultante est RS ou QS. R Q

Exercice # 3 (suite) La surface résultante est un segment de droite dont l’une des extrémités est un sommet du triangle, disons Q. Condition : N * Q + d = 0, (N * R + d <0, N * S + d > 0) ou (N * R + d >0, N* S + d < 0). Pour trouver l’autre extrémité du segment résultant, il s’agit de calculer   [0, 1] tel que R +  (S - R) fait partie du plan N * P + d = 0. Une démarche semblable peut être effectuée lorsque le sommet du triangle appartenant au plan est R ou S. R Q S

Exercice # 3 (fin) (iii) la surface résultante est un segment de droite : aucun des sommets du triangle ne fait partie du plan et il existe au moins un sommet du triangle de chaque côté du plan (supposons que R et S sont de part et d’autre du plan). Condition : N * Q + d  0, N * R + d  0, N * S + d  0 l’un des 3 termes est négatif et l’un des trois termes est positif. Pour calculer l’intersection entre chaque arête du triangle (dont les extrémités sont de part et d’autre du plan) et le plan, on peut procéder comme en (ii). R Q S