Home
- POV-Ray Tutorial
- Esempi per POV-Ray
Indice generale
- Geometria
- Architettura
- Tecnica
- Scala a Pioli
- Piloni e Tralicci
- Parapetto
- Ponte
- Tubi e Tubature
- Bifucazione di Tubi
- Rubinetto di Arresto
- Catena
- Bobina di filo
- Torpedo
- Cruise Missile
- Razzo, Missile
- Ruota
- Camion
- Elica
- Aeroplano
- Canoa
- Chitarra
- Display a 7 Segmenti
- Cavo piatto
- Fascio di cavi
|
|
Bobina di Filo
L'avvolgimento di un filo.
Oggetti: cylinder, Segment_of_Torus.
Metodi: #local, union, #while,
cos, tan, atan, VAngleD(), vlength()
|
|
Le dimensioni di base:
#local WR = 0.065;// raggio di filo
#local WD = 0.19; // distanza filo (pitch))
#local BR = 0.50; // raggio di base
#local Rmaj= 0.30; // raggio maggiore
#local Revolutions = 3 ;// |
Un quarto di giro del filo, dal
punto A (inizio) al angolo Co e punto finale B.
L'altezza di quarto è WD/4: (image 2)
#local A = < 0, 0, -BR>;
#local B = < BR, WD/4, 0>;
#local Co = < BR, WD/8, -BR>;//corner |
Include file richiesti:
#include "math.inc" // per VAngleD()
#include "shapes3.inc"// Segment_of_Torus |
Calcolo dei valori angolari:
Calcolo dell'angolo giallo: (image 3)
// angle of vector ACo against xz plane
#local Wire_Angle = VAngleD(Co-A,<1,0,0>);
|
Calcolo dell'angolo viola: (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));
|
Calcolo dell'angolo al punto Co: (image 4 + 5)
L'angolo al punto Co è minore di 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; |
|
1) Bobina di filo con 3 giri.
|
2) Una singola rotazione.
|
3) Geometrie di una rivoluzione quarto.
|
4) Il segmento toro in un angolo.
|
5) Lunghezza della parte d'angolo.
|
Una rivoluzione quarto del filo:
#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 ---------------------- |
Avvolgimento del filo:
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 ----------------------- |
|
|
|