Descriptions et exemples pour le POV-Ray raytracer par Friedrich A. Lohmueller
      Géométrie de Base - pour Raytracing
English English English
Italiano  Italiano
Deutsch 

Page d'Accueil
- POV-Ray Tutorial

  - Géométrie de Base
    pour Raytracing

    Triangle rectangle
    Théorème de Pythagore
    Trigonométrie de base
    Loi des cosinus
    Triangle équilatéral
    Polygone régulier
    Polyèdre
      Tétraèdre régulier
      Octaèdre régulier
      Cube et Cuboïde
      Dodécaèdre régulier
      Icosaèdre régulier
      Cuboctaèdre
      Octaèdre tronqué
      Rhombicuboctaèdre
      Icosaèdre tronqué
    Cercles
      Cercles touchants
      Tangentes internes
      Tangentes externes
     
     
     
     
     
     
     
     
     
   - Geometric 3D Animations

                                           

Cercles touchants.
Note 1: En POV-Ray nous utilisons "sqrt(X)" pour la racine carrée de X et nous utilisons "X*X" ou "pow(X,2)" pour X2.
Note 2: Les objets de la géométrie 2D sont représentés par des objets 3D dans le xy-plan. Pour cela dans toutes les coordonnées herefore all coordinates le z-composant doit être zéro! ( <?,?,0> !)

Cercle 1 : centre M1 = <0.35,0,0>, rayon r1= 0.22.
Cercle 2 : a le centre sur l'axe des y, et touche à l'extérieur du cercle 1 dans le point S.
Problème 1 :
Cercle 2 a le rayon r2 = 0.30.
Où sur l'axe des y (hauteur y2) est le centre du cercle 2 ? (M2 = <0,y2=?,0>)
Problème 2:
Cercle 2 a le centre M2 = <0,0.40,0>.
Qu'est-ce que la longueur du rayon r2 du cercle 2, si il touche le cercle 1 au point plus près?
Problème 3:
Qu'est-ce qu'il a comme coordonnées du point S ?
Problème 4:
Qu'est-ce qu'il a comme angles à M1 et M2 à l'intérieur du triangle(0,M1,M2) ?
Le triangle(O,M1,M2) est un triangle rectangle !
Pour cela utilisons ici le théorème de Pythagore :

// Problème 1 : //--------------------------
Nous connaissons deux côtés du triangle(O,M1,M2) :
d(0,M1) = x1 et d(M1,M2) = r1+r2.
   y2 = sqrt( (r1+r2)2 - x12)
   M2 = <0,y2,0>.


// Problème 2 : //--------------------------
Parce que
   r1+r2 = d(M1,M2) = sqrt(x12 + y22),
nous obtenons
   d(M1,M2) = sqrt( x12 - y22 )
   et r2 = d(M1,M2) - r1.

// Problème 3 : //--------------------------
Il y a ici une proportionnalité simple :
  xS1/xM1 = r2/ (r1+r2) et yS/yM2 = r1/ (r1+r2),
par conséquent : xS = xM1 · r2/ (r1+r2)
                          yS = yM2 · r1/ (r1+r2).


// Problème 4 : //--------------------------
Par les fonctions trigonométriques inverses
par ex. de tan(x) :

   Angle(M1) = atan ( y2/ x1),
   Angle(M2) = 90 - Angle(M1).
Cercles touchants rendu avec POV-Ray
Note: Pour eviter chaque collision avec des noms incorporé et des mots réservés
de POV-Ray
, il est très recommandé de utiliser seulement des mots que commencent
avec des capitals (lettres majuscules)
pour tous les noms des variables declarés par le utilisateur, par ex. on prend "R1" au lieu de "r1" et "Y2" au lieu de "yM2".
#local R1= 0.22;
#local R2= 0.30;
#local M1 = <0.35,0,0>
#local Y2 = sqrt( pow(R1+R2, 2) - pow(M1.x, 2));
#local M2 = <0,Y2,0>; 
Problème 1 en POV-Ray
#local R1= 0.22;
#local M1 = <0.35,0,0>
#local M2 = <0.40,0,0>
#local R2 = sqrt( pow(M1.x,2)-pow(M2.y,2)) - R1;
Problème 2 en POV-Ray
#local XS = M1.x * R2/(R1+R2);
#local YS = M2.y * R1/(R1+R2);
#local S = <XS,YS,0>

#local Angle_M1 = degrees( atan( M2.y / M1.x) ); #local Angle_M2 = 90 - Angle_M1;
Problème 3 et 4 en POV-Ray

À quoi est util cette géométrie ?
Ici quelques exemples : Nous pouvons considérer le cercle 1 comme une vue en coupe d'un tore horizontal et le cercle 2 comme une vue en coupe d'un boule :


Nous pouvons considérer le cercle 1 et son reflet à l'axe des y comme une vue en coupe de deux cylindres en direction des z et le cercle 2 comme une vue en coupe d'un autre cylindre à soustraire du cylindre jaune :

La forme d'une fiole
de ballon monocol.
Une fiole ballon monocol
pour le laboratoire.
Deux cylindres, fondus l'un avec l'autre.
Maillons de chaîne pour un vélo
Cette forme comme une macro
dans un objet prêt à l'usage :
  Round_Bottom_Mace_1.
Cette forme appliquée dans une macro
dans un objet prêt à l'usage :
  Round_Bottom_Flask_1.
Cette forme comme une macro
dans un objet prêt à l'usage :
  Two cylinders melting together.
Cette forme appliquée dans une macro
dans un objet prêt à l'usage :
  Bike_Chain_Link_1.
top
© Friedrich A. Lohmüller, 2010
www.f-lohmueller.de