Descriptions et exemples pour le POV-Ray raytracer par Friedrich A. Lohmueller
      Objets POV-Ray - Comment faire des objets pour POV-Ray
English English English
Italiano  Italiano
Deutsch 

Page d'Accueil
- POV-Ray Tutorial

  - Exemples POV-Ray
    Table des matières
  - Architecture
  - Geometrie
  - Technique
    - Échelle
    - Pylônes
    - Garde-fou, Rambarde
    - Pont
    - Tuyaux
    - Bifurcation de Tuyau
    - Robinet d'Arrêt
    - Chaîne
    - Bobine de fil
    - Torpedo
    - Cruise Missile
    - Missile
    - Roue
    - Camion
    - Hélice
    - Avion
    - Canoë
    - Guitare
    - Afficheur 7 segments
    - Câble plat - Nappe plat
    - Harnais de câbles
                                       
coil

Bobine de fil
Enrouler un fil

Objets : cylinder, Segment_of_Torus.
Méthodes : #local, union, #while, cos, tan, atan, VAngleD(), vlength()

Les dimensions de base :
#local WR = 0.065;// rayon du fil
#local WD = 0.19; // distance de fil (pas)
#local BR = 0.50; // rayon de base
#local Rmaj= 0.30; // grand rayon du coin
#local Revolutions = 3 ;// 
Un quart de tour du fil, de point A (début)
passé le coin Co au point de fin B.
La hauteur d'un quart de tour : WD/4 (image 2)
#local A  = < 0, 0, -BR>;
#local B  = < BR, WD/4, 0>;
#local Co = < BR, WD/8, -BR>;//corner     


Nécessaire fichiers include :
#include "math.inc" // pour VAngleD()
#include "shapes3.inc"// Segment_of_Torus 



Calcul des angles :


Calcul du angle jaune : (image 3)
// angle of vector ACo against xz plane
#local Wire_Angle = VAngleD(Co-A,<1,0,0>);

Calcul du angle violet : (image 3)
#local Len_Cyan =
            WD/8*cos(radians(Wire_Angle));
// rotation angle of 2nd part CoB
#local Inner_Angle =
              degrees(atan2(Len_Cyan,BR));



Calcul du angle de coin : (image 4 + 5)
L'angle à Co est inférieur à 90° !!!
#local Corner_Angle = VAngleD(Co-A,B-Co);
 // corner linear length:
#local Co_Len =
    Rmaj*tan(radians(Corner_Angle/2));
 // linear wire part
#local Len_X = vlength(Co-A)-Co_Len;      


coil
  1) Bobine de fil avec 3 tours.
coil
  2) Un seul tour.
coil
  3) Géométrie d'un quart de tour.
coil
  4) Le segment de tore dans le coin.
coil
  5) Longueur de la partie de coin.

Un quart de tour du fil :
#local W_Corner =
object{ Segment_of_Torus(
           Rmaj, // radius major,
           WR,   // radius minor,
           -Corner_Angle // segment angle
         ) //----------------------------
        rotate<0,90,0>
        translate<-0,0,+Rmaj>
      } // ------------------------------
#local Quarter =
union{
   cylinder{ <0,0,0>,<Len_X,0,0>, WR }
   object{   W_Corner
             rotate<-Inner_Angle,0,0>
             translate< Len_X,0,0> }
   cylinder{ <0,0,0>,<Len_X,0,0>, WR
             translate<0,0,-Rmaj>
               rotate<0,-Corner_Angle,0>
                 translate<0,0,Rmaj>
             rotate<-Inner_Angle,0,0>
             translate<Len_X,0,0>
           } //------------------
  translate<0,0,-BR>
  rotate<0,0,Wire_Angle>
} // end of union  ---------------------- 
Enrouler le fil :
union{ //--------------------------------
 #local Nr = 0;                // start
 #local EndNr = 4*Revolutions; // end
 #while (Nr< EndNr)            // loop
   object{ Quarter
           translate<0, Nr*WD/4,0>
           rotate<0,-Nr*90,0>
         } //----------------

 #local Nr = Nr + 1; // next Nr
 #end // ---------------// end of loop
// translate<0,WR ,0>
 texture{ Wire_Texture }
 rotate<0,0,0>
 translate<0,0,0>
} // end of union ----------------------- 

Fichier de scène pour POV-Ray :
"Winding_Wire_x1.txt" ou "Winding_Wire_x1.pov"


coil
coil
coil
 
top

© Friedrich A. Lohmüller, 2014
www.f-lohmueller.de