Matlab Calcul Geom 3d

Embed Size (px)

Citation preview

  • Calculs gomtriques 3D sous matlab

    D. Legland

    23 juillet 2008

    Rsum

    Index des fonctions de calcul gomtriques dveloppes partir de

    la thse. Je dveloppe ici les fonctions pour des primitives gomtriques

    en 3D, un autre document fait rfrence aux calculs pour les gures

    du plan.

    1

  • Table des matires

    1 Introduction et conventions 4

    1.1 Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    1.2 Coordonnes sphriques . . . . . . . . . . . . . . . . . . . . . 4

    1.3 Bote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    1.4 Conventions de programmation . . . . . . . . . . . . . . . . . 5

    2 Points 6

    2.1 Oprations sur les points . . . . . . . . . . . . . . . . . . . . . 6

    2.2 Conversions de coordonnes . . . . . . . . . . . . . . . . . . . 6

    2.3 Calculs sur les angles . . . . . . . . . . . . . . . . . . . . . . . 7

    3 Droites et vecteurs 9

    3.1 Reprsentations . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    3.2 Oprations sur les vecteurs . . . . . . . . . . . . . . . . . . . . 9

    3.3 Fonctions relatives aux droites . . . . . . . . . . . . . . . . . . 10

    4 Plans 11

    4.1 Cration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    4.2 Mesure sur plans . . . . . . . . . . . . . . . . . . . . . . . . . 12

    4.3 Interactions avec des points . . . . . . . . . . . . . . . . . . . 12

    4.4 Interactions avec des droites . . . . . . . . . . . . . . . . . . . 13

    5 Polygones et polydres 14

    5.1 Polygones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    5.2 Reprsentation des polydres . . . . . . . . . . . . . . . . . . . 14

    5.3 Polydres rguliers . . . . . . . . . . . . . . . . . . . . . . . . 15

    5.4 Cration de polydres . . . . . . . . . . . . . . . . . . . . . . . 16

    5.5 Mesures sur des polydres . . . . . . . . . . . . . . . . . . . . 16

    6 Surfaces et courbes 18

    6.1 Cercles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    6.2 Sphre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    6.3 Autres surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    7 Transformations anes 3D 21

    7.1 Reprsentation . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    7.2 Cration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    2

  • 7.3 Transformation de formes . . . . . . . . . . . . . . . . . . . . 22

    8 Fonctions de dessin 23

    8.1 Primitives de base . . . . . . . . . . . . . . . . . . . . . . . . . 23

    8.2 Objets courbes . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    3

  • 1 Introduction et conventions

    Ce document prsente une collection de fonctions crites pour des calculs

    gomtriques en 3 dimensions, telles que les coordonnes du point d'inter-

    section d'un plan avec une droite, ou des tests de paralllisme de vecteurs.

    Cette bibliothque fait suite et est complmentaire de son quivalent pour le

    2D.

    Le principe est de cacher le plus possible la reprsentation interne des

    donnes, et le dtail des calculs l'utilisateur. Le but est de faciliter la mise

    au point des programmes, et la comprhension des sources.

    La suite de l'introduction dtaille les conventions utilises, puis les dif-

    frentes fonctions sont prsentes, classes en fonctions des primitives sur

    lesquelles elles oprent.

    1.1 Units

    Les units de distances ne sont pas spcies.

    L'unit d'angle est le radian. On considre des angles compris entre 0 et2pi.

    1.2 Coordonnes sphriques

    De manire gnrale, la bibliothque utilise des angles en radians, orien-

    ts positivement dans le sens trigonomtrique (inverse des aiguilles d'une

    montre), et calibrs entre 0 et 2pi.Pour les angles 3D, on considre d'une part la colatitude, note , d'autrepart la longitude/l'azimut, note . La colatitude varie entre 0 (vers le nord)et pi (vers le sud), et vaut pi/2 pour les directions horizontales. La longitudevarie entre 0 et 2pi.Les coordonnes sphriques en 3D sont constitues d'un angle 3D, et de

    la distance l'origine, note . Elles sont notes dans un vecteur ligne :

    [, , ]

    On peut aussi considrer un angle de rotation autour de la normale, not

    . Cele permet de reprsenter toutes les rotations possibles d'un objet autourde l'origine :

    [, , ]

    4

  • 1.3 Bote

    La bote est un rectangle dont les bords sont parallles aux axes consid-

    rs. Cette structure de donne est surtout utilise pour dnir les coordon-

    nes minimales et maximales d'une primitive, ou bien pour slectionner les

    primitives dans une zone donne.

    Une bote est dnie par les 6 valeurs [xmin, xmax, ymin, ymax, zmin, zmax].

    1.4 Conventions de programmation

    Les noms de fonction sont nomms selon une convention 'Java' : les mots

    sont colls, crits en minuscules, la premire lettre de chaque mot est en

    majuscule sauf le premier mot. Exemple : nomDeLaFonction .

    Dans les cas o la fonction accepte un couple d'arguments (par exemple,

    pour tester si des vecteurs sont parallles), j'essaie dans la mesure du possible

    de vectoriser la focntion. Ainsi, si le premier argument est un vecteur, le

    deuxime un tableau de vecteur, alors la fonction sera appele pour chaque

    couple de vecteurs.

    5

  • 2 Points

    Un point est reprsent par le triplet de ses coordonnes cartsiennes. Un

    groupe de n point est donn par un tableau [n 3].

    2.1 Oprations sur les points

    2.1.1 isCoplanar

    Teste si un groupe de points est coplanaire. Pour tenir compte des erreurs

    numriques, la tolrance peut tre spcie.

    entre les coordonnes de chaque point, ventuellement la tolrance.

    sortie la valeur 1 si les points sont coplanaires, 0 sinon.

    2.1.2 distancePoints3d

    Calcule la distance entre des points. La mtrique euclidienne est utilise

    par dfaut, mais d'autres mtriques peuvent tre spcies.

    entre les coordonnes du premier point, les coordonnes du deuxime point,

    ventuellement la mtrique (euclidienne par dfaut).

    sortie la distance entre les points.

    2.2 Conversions de coordonnes

    2.2.1 cart2sph2

    Convertit les coordonnes cartsiennes 3D en coordonnes sphriques. La

    reprsentation des coordonnes sphriques est dirente de celle de Matlab.

    entre les coordonnes cartsiennes.

    sortie les coordonnes sphriques.

    2.2.2 sph2cart2

    Convertit les coordonnes sphriques en coordonnes cartsiennes [x, y, z].

    entre les coordonnes sphriques.

    sortie les coordonnes cartsiennes.

    6

  • 2.2.3 cart2cyl

    Convertit les coordonnes cartsiennes [x, y, z] en coordonnes cylindriques :[, r, z].

    entre les coordonnes cartsiennes.

    sortie les coordonnes cylindriques.

    2.2.4 cyl2cart

    Convertit les coordonns cylindriques [, r, z] en coordonnes cartsiennes[x, y, z].

    entre les coordonnes cylindriques.

    sortie les coordones cartsiennes.

    2.3 Calculs sur les angles

    2.3.1 anglePoints3d

    Calcule l'angle entre deux points, ou plutt entre 2 vecteurs. Le rsultatest compris entre 0 et pi.

    entre les coordonnes de deux vecteurs ou de deux points.

    sortie l'angle entre les deux vecteurs.

    2.3.2 sphericalAngle

    Calcule l'angle de 3 points la surface d'une sphre.

    entre les coordonnes cartsiennes de 3 points A, B et C.

    sortie l'angle sphrique (BA;

    BC).

    2.3.3 angleSort3d

    Trie des points coplanaires en fonction de leur angle par rapport l'ori-

    gine.

    entre une liste de points, et ventuellement le point de rfrence pour le

    calcul des angles.

    sortie les points tris en fonction de l'angle par rapport au point de rf-

    rence.

    7

  • 2.3.4 randomAngle3d

    Renvoie un angle 3D uniformment distribu sur la sphre. La longitude

    est choisie de manire uniforme entre 0 et 2pi, la colatitude est choisie entre0 et pi, selon une distribution en sinus.

    sortie un angle 3d alatoire.

    8

  • 3 Droites et vecteurs

    3.1 Reprsentations

    Un vecteur 3d est reprsent par le triplet des ses coordonnes :

    [dx, dy, dz]

    Une droite est reprsente par une origine, et un vecteur directeur :

    [x0, y0, z0, dx, dy, dz]

    On considre parfois aussi des segments de droites en 3D. Ils sont re-

    prsents par les coordonnes du premier point suivies des coordonnes du

    deuxime point :

    [x1, y1, z1, x2, y2, z2]

    3.2 Oprations sur les vecteurs

    3.2.1 vecnorm3d

    Calcule la norme d'un vecteur.

    entre les coordonnes du vecteur, ou un groupe de coordonnes.

    sortie la norme du vecteur, ou un ensemble de normes.

    3.2.2 normalize3d

    Calcule le vecteur normalis, c'est dire tel que sa norme vaille 1.

    entre un vecteur ou un ensemble de vecteurs.

    sortie les vecteurs normaliss, avec une norme gale 1.

    3.2.3 isParallel3d

    Teste si deux vecteurs 3d sont parallles.

    entre les coordonnes de deux vecteurs ou groupes de vecteurs.

    sortie la valeur 1 pour chaque couple de vecteurs parallles.

    9

  • 3.2.4 isPerpendicular3d

    Teste si deux vecteurs 3d sont perpendiculaires.

    entre les coordonnes de deux vecteurs ou groupes de vecteurs.

    sortie la valeur 1 pour chaque couple de vecteurs perpendiculaires.

    3.3 Fonctions relatives aux droites

    3.3.1 createLine3d

    Cre une droite 3D partir de deux points. Si plusieurs couples de points

    sont fournis, plusieurs droites sont cres.

    entre les coordonnes de chaque point.

    sortie la reprsentation d'une droite.

    3.3.2 distancePointLine3d

    Calcule la distance entre un point et une droite en 3D.

    entre les coordonnes du point, les coordonnes de la droite.

    sortie la distance entre le point et la droite.

    3.3.3 linePosition3d

    Calcule la position d'un point sur une droite en 3D, c'est dire le para-

    mtre t tel que les coordonnes du point vrient

    xp = x0 + tdx

    yp = y0 + tdy

    zp = z0 + tdz

    entre les coordonnes du point, les coordonnes de la droite.

    sortie le paramtre t reprsentant la position sur la droite.

    10

  • 4 Plans

    Un plan P est reprsent par une origine et deux vecteur directeurs :

    [x0, y0, z0, dx1, dy1, dz1, dx2, dy2, dz2]

    On considre que la reprsentation d'un plan est normalise si les deux

    vecteurs directeurs sont orthogonaux, et que leurs normes sont gales

    l'unit.

    4.1 Cration

    4.1.1 createPlane

    Cre un plan partir de 3 points.

    entre les coordonnes de 3 points.

    sortie la reprsentation normalise du plan contenant ces trois points.

    La fonction permet aussi de crer un plan partir d'une origione et de l'angle

    normal du plan.

    4.1.2 medianPlane

    Calcule l'angle mdian entre 2 points.

    entre les coordonnes de deux points.

    sortie une reprsentation du plan contenant tous les points quidistants des

    deux points donns en argument.

    4.1.3 normalizePlane

    Normalise la reprsentation d'un plan.

    entre la reprsentation d'un plan.

    sortie une reprsentation normalise du plan (vecteurs directeurs orthogo-

    naux et normaliss).

    11

  • 4.2 Mesure sur plans

    4.2.1 planeNormal

    Calcule le vecteur normal d'un plan.

    entre la reprsentation d'un plan.

    sortie le vecteur normal du plan. Si le plan est normalis, la norme du

    vecteur normal vaut 1.

    4.2.2 dihedralAngle

    Calcule l'angle dihdral form par deux plans.

    entre les reprsentations de deux plans.

    sortie l'angle dihdral entre les deux plans, donn entre 0 et pi.

    4.3 Interactions avec des points

    4.3.1 planePosition

    Calcule la position d'un point sur un plan. Les vecteurs directeurs du plan

    doivent tre orthogonaux.

    entre les coordonnes d'un point, la reprsentation du plan.

    sortie les coordonnes du point dans le systme de coordonnes du plan.

    4.3.2 isBelowPlane

    Teste la position d'un point par rapport un plan. On dit qu'un point

    est sous un plan si le produit cartsien du vecteur liant l'origine du plan au

    point considrer par le vecteur normal du plan est ngatif.

    entre les coordonnes du point, la reprsentation du plan.

    sortie la valeur 1 si le point est sous le plan.

    4.3.3 projPointOnPlane

    Calcule les coordonnes 3D de la projection d'un point sur un plan.

    entre les coordonnes du point, la reprsentation du plan.

    sortie les coordonnes 3D du point projet.

    12

  • 4.3.4 distancePointPlane

    Calcule la distance d'un point un plan.

    entre les coordonnes du point, la reprsentation du plan.

    sortie la distance euclidienne entre le point et le plan.

    4.4 Interactions avec des droites

    4.4.1 intersectPlanes

    Calcule une reprsentation de la droite situe l'intersection de deux

    plans.

    entre la reprsentation de deux plans.

    sortie la reprsentation de la droite commune aux deux plans. Si les plans

    sont parallles, renvoie la valeur [NaN,NaN,NaN,NaN,NaN,NaN].

    4.4.2 intersectLinePlane

    Calcule le point d'intersection entre une droite et un plan.

    entre la paramtrisation de la droite ainsi que celle du plan.

    sortie les coordonnes (3D) du point d'intersection. Si la droite est parallle

    au plan, renvoie [NaN,NaN,NaN].

    4.4.3 intersectEdgePlane

    Calcule le point d'intersection entre un segment de droite et un plan.

    entre la paramtrisation du segment ainsi que celle du plan.

    sortie les coordonnes (3D) du point d'intersection. Si le segment est paral-

    lle au plan, renvoie [NaN,NaN,NaN].

    13

  • 5 Polygones et polydres

    5.1 Polygones

    Un polygone de n cts en 3D est reprsent par les coordonnes deses sommets, dans un tableau [n 3]. On suppose que les sommets sontcoplanaires.

    5.1.1 clipConvexPolygon3dPlane

    Dcoupe un polygone 3D convexe par un plan. La fonction ne garde que

    les sommets situs sous le plan, et ajoute les points d'intersection des artes

    avec le plan.

    entre les coordonnes des sommets du polygone, la reprsentation du plan.

    sortie les sommets du polygone dcoup par le plan.

    5.1.2 polygon3dNormalAngle

    Calcule l'angle normal en 3D d'un polygone.

    entre les coordonnes des sommets du polygone, l'indice du ou des sommets

    pour lesquels on veut calculer l'angle normal.

    sortie l'angle normal des sommets du polygone. La somme des angles nor-

    maux de tous les sommets d'un polygone connexe vaut 4pi.

    5.2 Reprsentation des polydres

    Les polydres sont reprsents l'aide de deux structures de donnes.

    Un premier tableau contient les coordonnes des sommets du polydre. Un

    deuxime tableau contient les indices des sommets de chaque face. Dans le

    cas d'un polydre o toutes les faces ont le mme nombre de sommets, cela

    peut tre un tableau avec autant de lignes de que de faces, et autant de

    colonnes que le nombre de sommets par face. Sinon, on utilise un tableau de

    cellules, et chaque cellule contient un tableau d'indice, donn par un vecteur

    ligne.

    Certaines fonctions utilisent aussi les artes du polydre. Les artes sont

    reprsentes par un tableau deux colonnes, contenant les indices des som-

    mets origine et destination de chaque arte.

    14

  • 5.3 Polydres rguliers

    La plupart des fonctions suivantes renvoient un polydre type, sans pou-

    voir spcier d'option sur la position ou la taille du polydre. Pour manipuler

    d'autres positions ou d'autres tailles, il sut de transformer les coordonnes

    des sommets par la transformation ane approprie (voir la section 7).

    5.3.1 createCube

    Cre un cube unit, avec un coin situ en [0, 0, 0] et le coin oppos situen [1, 1, 1].

    5.3.2 createCubeOctahedron

    Cre un cube-octadre, qui peut tre vu comme un carr auquel on enlve

    les coins, ou comme un octadre auquel on enlve les coins. Le poldre a 6faces carres et 8 faces triangulaire.

    5.3.3 createIcosahedron

    Cre un icosadre, gure constitue de 20 faces triangulaires. Le polydredual est le dodcadre.

    5.3.4 createOctahedron

    Cre un octadre, compos de 8 faces triangulaires.

    5.3.5 createRhombododecahedron

    Cre un rhombododcadre, constitu de 12 faces en forme de losange. Cepolydre peut tre utilis pour paver l'espace. Il correspond un systme de

    voisinage selon 12 voisins, dirigs vers les milieux des artes d'un cube unit.

    5.3.6 createTetraedron

    Cre un ttradre, une pyramide rgulire base triangulaire.

    15

  • 5.3.7 createTetrakaidecahedron

    Cre un ttrakaidcadre (il a peut-tre d'autres noms moins barbares...).

    Il est constitu de 8 faces hexagonales et 6 faces carres. Il permet de paverl'espace, et correspond un voisinage selon le 14 plus proches voisins.

    5.3.8 createSoccerBall

    Cre un ballon de football. Ce polydre, qui comprend 12 faces penta-gonales et 20 faces hexagonales, correspond un icosadre tronqu ou undodcadre tronqu.

    5.4 Cration de polydres

    5.4.1 minConvexHull

    Calcule l'enveloppe convexe 3D d'une srie de points, et formate le rsultat

    de manire fusionner les faces coplanaires. Pour des enveloppes convexes de

    points situs sur une grille, cela permet de visualiser le rsultat de manire

    beaucoup plus parlante.

    5.4.2 steinerPolytope

    Calcule le polydre de Steiner d'un ensemble de points. Il est obtenu appli-

    quant des dilatations successives par des segments d'orientations direntes.

    Les segments utiliss sont les segments reliant l'origine aux points passs en

    paramtre.

    entre un ensemble de points, ou de vecteurs.

    sortie le polydre de Steiner rsultant.

    5.5 Mesures sur des polydres

    5.5.1 faceNormal

    Calcule le vecteur normal d'une face d'un polydre.

    entre les coordonnes des sommets, les indices des sommets de chaque face

    (soit dans un tableau, soit dans une liste de cellules).

    sortie le vecteur normal de chaque face.

    16

  • 5.5.2 polyhedronNormalAngle

    Calcule l'angle normal au(x) sommet(s) d'un polydre convexe.

    entre les coordonnes des sommets, les indices des sommets de chaque

    arte (optionnel, peut tre dduit des indices des sommets des faces),

    les indices des sommets de chaque face, les indices des sommets pour

    lesquels on veut calculer l'angle normal.

    sortie l'angle normal pour caque sommet demand.

    17

  • 6 Surfaces et courbes

    6.1 Cercles

    Un cercle en 3D est reprsent par son centre, son rayon, et un angle 3D

    correspondant la normale du plan dans lequel il est contenu. De plus, on

    peut spcier le paramtre qui correspond l'angle de rotation du cercleautour de la normale (permet de reprer les points sur le cercle, et de dessiner

    des arcs de cercle). Un cercle est donc reprsent par :

    [x0, y0, z0, r, , , ]

    Note : ceci correspond ce qui devrait tre le cas pour tre cohrent avec

    le reste des fonctions. Cependant, l'ordre des paramtres et est inversdans les deux fonctions suivantes...

    6.1.1 circle3dPosition

    Calcule la position d'un point sur un cercle 3D. Le rsultat correspond

    l'angle du point par rapport l'origine du cercle, calcul dans le plan

    contenant le cercle.

    entre les coordonnes du point, la rprsentation du cercle.

    sortie la position angulaire du point sur le cercle, en radians entre 0 et 2pi.

    6.1.2 circle3dOrigin

    Calcule les coordonnes du point correspondant au premier point du

    cercle, de position angulaire 0.

    entre la reprsentation du cercle.

    sortie les coordonnes du premier point du cercle.

    6.2 Sphre

    Une sphre est dnie par les coordonnes de son centre et son rayon :

    [xc, yc, zc, r]

    18

  • 6.2.1 createSphere

    Calcule la sphre qui contient 4 points.

    entre les coordonnes de 4 points.

    sortie la reprsentation de la sphre contenant ces points.

    6.2.2 intersectLineSphere

    Calcule les points d'intersection d'une droite avec une sphre.

    entre la reprsentation de la droite, et celle de la sphre.

    sortie un tableau 2 3 contenant les coordonnes des points d'intersection.

    6.2.3 intersectPlaneSphere

    Calcule une reprsentation du cercle d'intersection entre une sphre et un

    plan.

    entre la reprsentation du plan, celle de la sphre.

    sortie la reprsentation du cercle intersection.

    6.3 Autres surfaces

    6.3.1 revolutionSurface

    Cre une surface de rvolution partir d'une courbe gnratrice. On sup-

    pose que la courbe est paramtre dans le repre (Oxz), et que la rvolutionse fait autour de l'axe Oz.

    entre les coordonnes des points de la courbe, le nombre de points de

    rvolution, et ventuellement l'axe de rvolution dans le plan (Oxz).

    sortie les coordonnes des sommets du maillage corresondant la surface

    de rvolution cre, en trois tableaux spars.

    6.3.2 surfaceCurvature

    Calcule la courbure locale sur une suface lisse dans une direction don-

    ne, en fonction des deux courbures principales de la surface. Il s'agit de

    l'application numrique de la relation :

    () = 1 cos2 + 2 sin

    2

    19

  • entre les courbures principales au point considr, l'angle de la direction

    considre par rapport la direction de la premire courbure principale.

    sortie la courbure dans la direction considre.

    20

  • 7 Transformations anes 3D

    7.1 Reprsentation

    Une transformation ane en 3 dimensions peut tre reprsente par unematrice 4 4 de la forme :

    m00 m01 m02 m03m10 m11 m12 m13m20 m21 m22 m230 0 0 1

    La dernire colonne de la matrice correspond au vecteur de translation.

    Les 9 coecients du coin suprieur gauche dnissent les facteurs de taille,de cisaillement, de rotation.

    7.2 Cration

    7.2.1 translation3d

    Cre la matrice correspondant une translation par un vecteur donn.

    entre le vecteur de translation.

    sortie une matrice de translation.

    7.2.2 rotationOx

    Cre une matrice de rotation autour de l'axe Ox.

    7.2.3 rotationOy

    Cre une matrice de rotation autour de l'axe Oy.

    7.2.4 rotationOz

    Cre une matrice de rotation autour de l'axe Oz.

    7.2.5 scale3d

    Cre une matrice d'agrandissement par rapport l'origine.

    21

  • 7.3 Transformation de formes

    7.3.1 transformPoint3d

    Calcule les coordonnes de points transforms par une transformation

    ane.

    entre les coordonnes des points, la matrice de transformation.

    sortie les coordonnes des points transforms.

    7.3.2 composeTransforms3d

    Calcule la matrice de transformation quivalente l'application successive

    de plusieurs transformations. Il s'agit d'un simple produit matriciel, mais

    l'ordre du produit n'tant pas l'ordre d'application des transformation, la

    fonction vite les ambiguts.

    entre une srie de matrice de transformations, dans l'ordre de leur appli-

    cation.

    sortie la matrice de transformation quivalente.

    22

  • 8 Fonctions de dessin

    La bibliothque fournit quelques fonction de dessin pour certaines formes

    gomtriques. Pour les formes non bornes (lignes droites), la forme est tron-

    que la zone visible de la fentre courante.

    8.1 Primitives de base

    drawPoint3d Dessine un point ou un groupe de points.

    drawLine3d Dessine une ligne dcoupe l'intrieur de l'axe courant.

    drawEdge3d Dessine un segment de droite l'intrieur de l'axe courant.

    drawPlane3d Dessine le polygone 3D correspondant l'intersection d'un

    plan avec l'axe courant.

    llPolygon3d remplit un polygone en 3D.

    drawPolyhedra dessine une polydre, dni par un ensemble de sommets

    et une liste d'indices pour chaque face.

    8.2 Objets courbes

    drawCurve3d Dessine une courbe dnie par une srie de points (poly-

    ligne).

    drawCircle3d Dessine un cercle en 3 dimensions.

    drawCircleArc3d Dessine un arc de cercle en 3 dimensions.

    drawSphere Dessine une sphre, ou plus exactement un polydre qui ap-

    proche une sphre.

    drawCylinder Dessine un mailage qui approche un cylindre.

    drawSphericalTriangle Dessine un triangle sphrique, compos d'arcs de

    grand cercle.

    drawSphericalPatch Dessine un morceau de surface de sphre, dlimit

    par des arcs de cercles 3D.

    drawGrid3d Dessine un ensemble de points disposs en grille.

    23

  • Index

    anglePoints3d, 7

    angleSort3d, 7

    cart2cyl, 7

    cart2sph2, 6

    circle3dOrigin, 18

    circle3dPosition, 18

    clipConvexPolygon3dPlane, 14

    composeTransforms3d, 22

    createCube, 15

    createCubeOctahedron, 15

    createIcosahedron, 15

    createLine3d, 10

    createOctahedron, 15

    createPlane, 11

    createRhombododecahedron, 15

    createSoccerBall, 16

    createSphere, 19

    createTetraedron, 15

    createTetrakaidecahedron, 16

    cyl2cart, 7

    dihedralAngle, 12

    distancePointLine3d, 10

    distancePointPlane, 13

    distancePoints3d, 6

    drawCircle3d, 23

    drawCircleArc3d, 23

    drawCurve3d, 23

    drawCylinder, 23

    drawEdge3d, 23

    drawGrid3d, 23

    drawLine3d, 23

    drawPlane3d, 23

    drawPoint3d, 23

    drawPolyhedra, 23

    drawSphere, 23

    drawSphericalPatch, 23

    drawSphericalTriangle, 23

    faceNormal, 16

    llPolygon3d, 23

    intersectEdgePlane, 13

    intersectLinePlane, 13

    intersectLineSphere, 19

    intersectPlanes, 13

    intersectPlaneSphere, 19

    isBelowPlane, 12

    isCoplanar, 6

    isParallel3d, 9

    isPerpendicular3d, 10

    linePosition3d, 10

    medianPlane, 11

    minConvexHull, 16

    normalize3d, 9

    normalizePlane, 11

    planeNormal, 12

    planePosition, 12

    polygon3dNormalAngle, 14

    polyhedronNormalAngle, 17

    projPointOnPlane, 12

    randomAngle3d, 8

    revolutionSurface, 19

    rotationOx, 21

    rotationOy, 21

    rotationOz, 21

    24

  • scale3d, 21

    sph2cart2, 6

    sphericalAngle, 7

    steinerPolytope, 16

    surfaceCurvature, 19

    transformPoint3d, 22

    translation3d, 21

    vecnorm3d, 9

    25

    Introduction et conventionsUnitsCoordonnes sphriquesBoteConventions de programmation

    Points Oprations sur les pointsConversions de coordonnesCalculs sur les angles

    Droites et vecteursReprsentationsOprations sur les vecteursFonctions relatives aux droites

    PlansCrationMesure sur plansInteractions avec des pointsInteractions avec des droites

    Polygones et polydresPolygonesReprsentation des polydresPolydres rguliersCration de polydresMesures sur des polydres

    Surfaces et courbesCerclesSphreAutres surfaces

    Transformations affines 3DReprsentationCrationTransformation de formes

    Fonctions de dessinPrimitives de baseObjets courbes