Comment fair un faisceau des câbles:
Ici une solution pour un faisceau des câbles harness avec ou sans torsion,
basée sur une idée de Jim Dunlop.
Point 1 : Une curve spline pour le faisceau.
Pour tester nous figurons ce chemin avec une nombre de sphères relativement petit.
Important :
Les points doivent être placés près équidistants !
Nous devons éviter parties verticales de la spline.
Nous devons aussi éviter chaque partie de looping ou de curve trop brusque..
#declare Wire_R = 0.4;// radius
// spline:
#declare Test_Spline =
spline { natural_spline
-0.25, <-1.0, 0.0, 0>,
0.00, <-0.0, 0.0, 0>, //start
0.25, < 1.7, 0.05, 0.05>,
0.35, < 2.0, 0.15, 0.25>,
0.60, < 2.0, 0.65, 1.2>,
0.80, < 0.5, 0.90, 2.0>,
1.00, < 0.2, 1.50, 2>, // end
1.25, < 0.2, 2.00, 2>
} //-------------------------------
Point 2 : Déclaration du profil
du harnais des câbles.
Les brins de fil sont disposés autour du fil central dans une silhouette de harnais
comme indiqué dans l'image ici.
L'algorithme compliqué, créée par Jim, fonctionne bien pour jusqu'à 61 brins de fil.
Il est trop volumineux pour montrer ici dans tous les détails. Pour en savoir plus consultez le fichier de scène.
Point 3 : Using the Spline_Trans macro
Macro de Rune S. Johansen
( Cette macro normalement est utilisé pour piloter des avions sur le cap.
Un exemple on peut voir ici : Animations avec des courbes spline.)
Au lieu de une sphère seul avec Point_1
nous prenons l'objet appelé "object{ HarnessSilhouette(...) }"
et nous posons cet objet su la spline à laide de la macro Spline_Trans.
Nous augmentons aussi la densité des éléments
pour obtenir des câbles continu :
Avec la première macro on peut faire un segment de faisceau pur, tordus ou non, le long d'une courbe spline (ou des parties de la courbe) :
object{ HarnessSegment(
19,// # of wires in bundle, max.61
0.020,// >0. Radius of wire
800, // # of samples in spline
0, // # of 360 degress turns
Test_Spline, // spline name,
<0.7,0,0>,// base color
0.25, // color variation,
0, // Start point on spline
1, // End point on spline
) //----------
} //-----------------------------
Avec la deuxième macro, nous pouvons également ajouter des objets au début et à la fin du harnais :
object{ CableHarness(
12,// # of wires in bundle, max.61
0.020,// >0. Radius of wire
800, // # of samples in spline
3.5, // # of 360 degress turns
Test_Spline, // spline name,
<0.7,0,0>,// base color
0.25, // color variation,
0, // Start point on spline
1, // End point on spline
BeginObject,// to put on beginning
EndObject, // to put on end
) //----------
} //-----------------------------
|
Une courbe spline pour le faisceau de câbles.
rouge = points de spline, violette = points de control
Le regroupement des câbles.
La macro 'HarnessSegment()', faisceau sans torsion.
Fichier de scène pour POV-Ray :
"Cable_Harness_1.pov"
|