Home
- POV-Ray Tutorial
- POV-Ray Beispiele
Inhaltsübersicht
- Geometrie
- Architektur
- Technik
- Leiter
- Masten
- Geländer
- Brücke
- Röhren
- Rohrabzweigung
- Rohr-Absperrhahn
- Kette
- Drahtspule
- Torpedo
- Cruise Missile
- Rakete
- Rad
- Truck
- Propeller
- Flugzeug
- Kanu
- Gitarrenbody
- 7-Segment Display
- Flachbandkabel
- Kabelbaum
|
|
Drahtspule
Drahtwindungen
Objekte: cylinder, Segment_of_Torus.
Methoden: #local, union, #while,
cos, tan, atan, VAngleD(), vlength()
|
|
Die Grunddimensionen:
#local WR = 0.065;// wire radius
#local WD = 0.19; // wire distance (pitch)
#local BR = 0.50; // base radius
#local Rmaj= 0.30; // corner radius major
#local Revolutions = 3 ;// |
Eine Vierteldrehung des Drahtes, von Punkt
A über die Ecke Co zum Endpunkt B.
Die Höhe einer Viertelwindung ist WD/4: (Bild 2)
#local A = < 0, 0, -BR>;
#local B = < BR, WD/4, 0>;
#local Co = < BR, WD/8, -BR>;//corner |
Benötigte Include-Dateien:
#include "math.inc" // for VAngleD()
#include "shapes3.inc"// Segment_of_Torus |
Berechnung der Winkel:
Berechnung des gelben Winkels: (Bild 3)
// angle of vector ACo against xz plane
#local Wire_Angle = VAngleD(Co-A,<1,0,0>);
|
Berechnung des violeten Winkels: (Bild 3)
#local Len_Cyan =
WD/8*cos(radians(Wire_Angle));
// rotation angle of 2nd part CoB
#local Inner_Angle =
degrees(atan2(Len_Cyan,BR));
|
Berechnung des Eck-Winkels: (Bild 4 + 5)
Der Eck-Winkel bei Co ist kleiner als 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) Drahtspule mit 3 Windungen.
|
2) Eine einzelne Windung.
|
3) Geometrie einer Viertelwindung.
|
4) Das Torussegment in der Ecke.
|
5) Länge des Eckteils.
|
Eine Vierteldrehung des Drahtes:
#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 ---------------------- |
Das Aufwickeln des Drahtes:
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 ----------------------- |
|
|
|