Vous êtes sur la page 1sur 13

UNIVERSITE DE POITIERS Anne 2006/2007 Facult des Sciences Fondamentales et Appliques

L3 CPI

Projet de Travaux pratiques Introd. Simul. En Meca. Rappel: la gomtrie dans l'espace (3D)
Heitham ISSA

1
c
z

2
p1

p2
b

y
h

Soit un plan : L'quation gnrale de ce plan se dduit du fait que le vecteur normal est perpendiculaire toutes les lignes droites appartenant ce plan. On obtient donc :

: ax + by + cz + d = 0

(1)

o a , b , c 0 au mme temps. et le vecteur normal au plan est donc donn par:

n = ai + bj + ck
Heitham ISSA

(2) ou plutt: fvrier-avril 2007

n=

a a +b +c
2 2 2

i +

b a +b +c
2 2 2

j+

c a +b2 +c2
2

k (3)

Discutions: - cas d = 0 il s'agit d'un plan qui passe par l'origine. - cas c = 0 un plan // oz.
cas a = 0 un plan // ox. cas b = 0 un plan // oy.

- cas a = 0 & c = 0 un plan // le plan oxz . b : by + d = 0 y = = B y = B d

et si aussi d = 0 y = 0 c'est l'quation du plan oxz. cas b = 0 & c = 0 un plan // le plan oyz . a : ax + d = 0 x = = A x = A d et si d = 0 x = 0 c'est l'quation du plan oyz.

cas a = 0 & b = 0 un plan // le plan oxy plan horizontal . c : cz + d = 0 z = = C z = C ou souvent on utilise d h au lieu de C donc pour un plan horizontal, sa quation est z = h (4). si d = 0 z = 0 c'est l'quation du plan oxy. Si on aura besoin de c , d dans l'quation d'un plan horizontal; on peut imposer c = 1 ce qui vaut dire que le vecteur normal un plan horizontal et n = ck = 1.k obtient aussi d = h (6). (5). On

En fonction des coordonnes des 3 points (a,b,c) qui constituent un plan; l'quation du plan est la suivante:

x xa xb xc

y ya yb yc

z za zb zc

1 1 =0 1 1

(7)

De (1) et (7) on trouve que : Heitham ISSA fvrier-avril 2007

ya a = + yb yc xa b = xb xc xa c = + xb xc xa d = xb xc

za 1 zb 1 zc 1 za 1 zb 1 zc 1 ya 1 yb 1 yc 1 ya yb yc za zb zc

(8)

L'quation d'une ligne droite dans l'espace 3D


Soit un vecteur v ( , , ) ce vecteur et une ligne L // v et passe par le point

M 0 ( x 0 , y 0 , z 0 ) . L'quation est donc la suivante:


x x0
=

y y0

z z0

=t

(9)

t R &t 0
Cette quation peut tre crite sous la forme suivante:

x = x 0 + t y = y 0 + t z = z 0 + t
Il ne faut que , , soient nulles au mme temps. dans le cas o : = 0 par exemple, il faut donc que le dnominateur et le numrateur soient nuls au mme temps donc l'quation de la ligne L s'crite sous la forme suivante : (10)

Heitham ISSA

fvrier-avril 2007

x x0

y y0

z z 0 = 0 c'est une ligne qui appartient au plant z = z 0 qui // le

plant oxy(horizontal). Quand (dans le cas prcdent) z 0 = 0 on obtient une ligne dans le plan oxy (cas bidimensionnel).

Pour une ligne qui passe dans 2 points A et B. Si on considre que t=1, on obtient l'quation qui passe par ces 2 points:

x xA y yA z zA = = xB xA yB yA zB zA

(11)

Intersection entre un plan et une ligne q. 9. Le point p d'intersection entre un point et un plan est donn par les relations suivantes:

x p = x 0 yp = y0 z p = z 0
-

0
v .n

v .n

(12)

0
v .n

avec:

0 = ax 0 + by 0 + cz 0 + d
v ( , , ) : le vecteur associ L (qui // L ).
n= a a +b +c
2 2 2

i +

b a +b +c
2 2 2

j+

c a +b2 +c2
2

k l'quation 3.

Heitham ISSA

fvrier-avril 2007

Exercice (projet):
Calculer les point d'intersection de la ligne qui passe par les deux points A ( x A , y A , z A ) et B ( x B , y B , z B ) et le plan horizontal z = h . -si on met t = 1 (10) on obtient :

= xB xA = yB yA = zB zA
- l'quation de la ligne qui passe par A , B est donne dans (11):

x xA y yA z zA = = xB xA yB yA zB zA
-

v ( , , ) concernant le plan:

z = h c = 1, a = 0, b = 0, d = h n = 0i + 0 j + 1.k v .n = ( x B x A ) .0 + ( y B y A ) .0 + ( z B z A ) .1 v .n = ( z B z A )

- en remplaant dans (12) on obtient les relations qui donnent le point P d'Intersection entre la ligne qui passe par A,B et le plan Z=h:

0 = 0.x A + 0.y A + 1.z A h = z A h


x p = x A (x B x A ) zA h zB zA zA h zB zA (13)

y p = y A (y B y A ) z p = z A (z B z A )

zA h zB zA

- pour une facette triangulaire ABC le point d'intersection entre z=h et la ligne BC est donne en remplaant dans (13) A par B et B par C:

Heitham ISSA

fvrier-avril 2007

0 = z B h
x p = x B (x C x B ) zB h zC z B zB h zC z B

y p = y B ( yC y B ) z p = z B (z C z B )

zB h zC z B

La mme chose pour la ligne AC, on remplace dans (13) B par C:

0 = z A h
x p = x A (xC x A ) zA h zC z A zA h zC z A

y p = y A ( yC y A ) z p = z A (z C z A )

zA h zC z A

Heitham ISSA

fvrier-avril 2007

dbut
Lecture fichier .stl calcule des facette fac[ ] lirezv h k=0,no

i++; facette entier au dessous k++; ajoute triangle

ABC 1k = ABC i

N
facette entier au dessus

j++; Cas j=1 GTD= CAB Cas j=2 GTD= CBA Cas j=3 GTD= ACB

calcul de 1. 2.

p1 point intersection z = h p 2 point intersection z = h

et et

LigneGT

Ligne DT

p1 TG & p 2 TD O

p1&2 .z <= a.z


N
k++; ajoute triangle

k++; ajoute triangle ABC 1k = ABC i k++; ajoute triangle O P1P2G , n = n ABC ( i ) N k++; ajoute triangle P2GR , n = n ABC ( i )

P1PT , n = n ABC (i 2

p1.z < T .z & p 2 .z < T .z

j = 3?
O

i = Im ax ?

Ecrire les rsultats dans un fin fichier STL

Heitham ISSA
fin

fvrier-avril 2007

Exemple 1: Couper la pyramide suivante par un plan horizontal z=0.5 et crire dans un fichier les rsultats des facette de la partie de la pyramide situe au dessous du plan z=0.5

y
0.5

Le fichier STL :

solid OBJECT facet normal 0.0 -1.0 0.0 outer loop vertex 0.0 0.0 0.0 vertex 1.0 0.0 0.0 vertex 0.0 0.0 1.0 endloop endfacet facet normal -1.0 0.0 0.0 outer loop vertex 0.0 0.0 0.0 vertex 0.0 1.0 0.0 vertex 0.0 0.0 1.0 endloop endfacet facet normal 0.0 0.0 -1.0 outer loop vertex 0.0 0.0 0.0 vertex 1.0 0.0 0.0 vertex 0.0 1.0 0.0 Heitham ISSA fvrier-avril 2007

endloop endfacet facet normal 0.57735 0.57735 0.57735 outer loop vertex 1.0 0.0 0.0 vertex 0.0 1.0 0.0 vertex 0.0 0.0 1.0 endloop endfacet endsolid OBJECT

la forme rsultante est : z

y
0.5

Et on obtient le fichier STL suivant:

solid OBJECT facet normal 0.000000 -1.000000 0.000000 outer loop vertex 0.000000 0.000000 0.500000 vertex 0.500000 0.000000 0.500000 vertex 0.000000 0.000000 0.000000 endloop endfacet facet normal 0.000000 -1.000000 0.000000 outer loop vertex 0.500000 0.000000 0.500000 vertex 0.000000 0.000000 0.000000 Heitham ISSA fvrier-avril 2007

vertex 1.000000 0.000000 0.000000 endloop endfacet facet normal -1.000000 0.000000 0.000000 outer loop vertex 0.000000 0.000000 0.500000 vertex 0.000000 0.500000 0.500000 vertex 0.000000 0.000000 0.000000 endloop endfacet facet normal -1.000000 0.000000 0.000000 outer loop vertex 0.000000 0.500000 0.500000 vertex 0.000000 0.000000 0.000000 vertex 0.000000 1.000000 0.000000 endloop endfacet facet normal 0.000000 0.000000 -1.000000 outer loop vertex 0.000000 0.000000 0.000000 vertex 1.000000 0.000000 0.000000 vertex 0.000000 1.000000 0.000000 endloop endfacet facet normal 0.577350 0.577350 0.577350 outer loop vertex 0.500000 0.000000 0.500000 vertex 0.000000 0.500000 0.500000 vertex 1.000000 0.000000 0.000000 endloop endfacet facet normal 0.577350 0.577350 0.577350 outer loop vertex 0.000000 0.500000 0.500000 vertex 1.000000 0.000000 0.000000 vertex 0.000000 1.000000 0.000000 endloop endfacet endsolid OBJECT

Exemple2: On prend le mme exemple prcdent mais la base est vers la haut au lieu d'tre vers le bas. Heitham ISSA fvrier-avril 2007

fichier STL solid OBJECT facet normal 0.0 -1.0 0.0 outer loop vertex 0.0 0.0 0.0 vertex 1.0 0.0 1.0 vertex 0.0 0.0 1.0 endloop endfacet facet normal -1.0 0.0 0.0 outer loop vertex 0.0 0.0 0.0 vertex 0.0 1.0 1.0 vertex 0.0 0.0 1.0 endloop endfacet facet normal 0.0 0.0 1.0 outer loop vertex 0.0 0.0 1.0 vertex 1.0 0.0 1.0 Heitham ISSA fvrier-avril 2007

vertex 0.0 1.0 1.0 endloop endfacet facet normal 0.57735 0.57735 0.57735 outer loop vertex 0.0 0.0 0.0 vertex 0.0 1.0 1.0 vertex 1.0 0.0 1.0 endloop endfacet endsolid OBJECT

La forme rsultant:

et le fichier STL solid OBJECT facet normal 0.000000 -1.000000 0.000000 outer loop vertex 0.500000 0.000000 0.500000 vertex 0.000000 0.000000 0.500000 vertex 0.000000 0.000000 0.000000 endloop endfacet facet normal -1.000000 0.000000 0.000000 Heitham ISSA fvrier-avril 2007

outer loop vertex 0.000000 0.500000 0.500000 vertex 0.000000 0.000000 0.500000 vertex 0.000000 0.000000 0.000000 endloop endfacet facet normal 0.577350 0.577350 0.577350 outer loop vertex 0.000000 0.500000 0.500000 vertex 0.500000 0.000000 0.500000 vertex 0.000000 0.000000 0.000000 endloop endfacet endsolid OBJECT

Heitham ISSA

fvrier-avril 2007