Come si fa un Cavo piatto:
Paso 1: Una Curva con una Spline per il cavo.
Primo facciamo una spline per il cammino del cavo piatto.
Per testare usiamo un modo con un numero di sfere relativamente scarso.
Ha l'ottima cera se le sfere sono piazzate in un modo quasi equidistante!
Importante:
Dobbiamo evitare assolutamente qualche parte verticale nella spline!
Dobbiamo anche evitare ogni modo di looping e di curva a gomito.
#declare Wire_R = 0.4;// radius
// spline:
#declare Ribbon_Spline =
spline { natural_spline
-0.25, < 0.0,-5.0,-1.0>,
0.00, < 0.0, 0.0, 0.0>, //start
0.25, < 0.0, 5.0, 4.0>,
0.50, < 1.5, 6.0,12.0>,
0.75, < 8.0, 4.0,18.5>,
1.00, <15.0, 5.0,20.0>, // end
1.25, <20.0, 5.0,19.4>
} //-------------------------------
union{
#local Nr = 0; // start
#local EndNr = 1; // end
#while (Nr <= EndNr)
sphere{ <0,0,0>, Wire_R
pigment{ color rgb<1,0.3,0>}
translate Ribbon_Spline(Nr)
} // end of sphere
#local Nr = Nr + 0.05;
#end // -------- end of loop
} // ------------------------------ |
Una curva con la spline per il cavo piatto.
|
Paso 2: Dichiarazione del taglio trasversale del cavo.
Qui dichiaramo una fila di sfere in direzione x come un taglio trasversale del cavo piatto.
Dobbiamo aggiungere una sfera per ogni filo del cavo.
Poi:
#declare Wire_R = 0.30;// radius
#declare Num = 10; // number of ways
#declare Dist = 1.27/2;//
// distance of ways = 0.025inch
#declare Ribbon_Silhuette =
union{ // cross-section in x
sphere{ <0*Dist,0,0>,Wire_R
texture{ ... as you want ...}}
...
sphere{ <Num*Dist,0,0>,Wire_R
texture{ ... as you want ...}}
} // end union
Paso 3: Usare la macro Spline_Trans
Macro di Rune S. Johansen
(Questa macro normalmente è usato per pilotare aeroplani
in la rotta. Un esempio si può vedere qui
Animations con Curve Spline.)
Invece di una sfera singola usiato in Paso_1
adesso usiamo un oggetto chiamato "object{Ribbon_Silhuette ..}"
e mettiamo quest'oggetto su la curva della spline usando
la macro Spline_Trans.
Aumentiamo anche la densità di questi elementi per ottenere un cavo continuo:
// per Spline_Trans:
#include "transforms.inc"
//----------------------------------
union{
#local Nr = 0; // start
#local EndNr = 1; // end
#while (Nr <= EndNr)
object{
Ribbon_Silhuette
Spline_Trans(
Ribbon_Spline,//SplineName,
Nr, //TimeValue,
y, //Upwards,
0.05, //ForeSight,
0.7 //Banking
)// end Spline_Trans
}
#local Nr = Nr + 0.001; // next Nr
#end // --------------- end of loop
} // end of union
//----------------------------------
Note: Il punto d'inizio e il punto d'arrivo
e anche le direzioni in questi punti sono definiti dei valori della spline
e del valore "Upwards". Auche i valori di
"ForeSight" e "Banking" hanno una influenza grande.
|
Cavo piatto
Cavo piatto colore arcobaleno,
anche chiamato "hippie cable"
Cavo piatto grigio - Pied.1 rosso
|