probleme avec "LOFT"
bonjour.
j'utilise ce code MEL:
global vector $OM,$T,$B,$N,$P;
proc CreerVecteur(float $a,float $b,float $r,float $t,float $s,int $j)
{
global vector $OM,$T,$B,$N,$P;
float $c = sqrt($a * $a + $b * $b);
$OM = << $a * cos( $t ), $b * $t, $a * sin( $t )>>;
$T = << -$a/$c*sin($t) , $b/$c , $a/$c * cos($t) >>;
$N = << -cos( $t ), 0, - sin( $t )>>;
$B = ( -1 / $c) * << $b * sin( $t ), $a, -$b * cos($t)>>;
$P = $OM + $r * (cos($s + 10 * $j ) * $N + sin($s + 10 * $j ) * $B );
}
proc CreerCercle(int $t,float $pas, float $rayonCentral)
{
global vector $OM,$T,$B,$N,$P;
circle -nr ($T.x) ($T.y) ($T.z) -r 0.2;
move -r ($P.x) ($P.y) ($P.z);
}
proc dessine(string $nom, int $ray_central )
{
float $i;
int $nbre_solenoide;
int $nmax = 5;
float $nbre_tours = 2;
float $nbre_pts_tour = 50;
float $PI = 3.141519;
$nbre_solenoide=1;
for ($i=0 ; $i < $nbre_tours*360 ; $i+=360.0/$nbre_pts_tour)
{
float $angle_central = $i * 2 * $PI / 360;
float $angle_solenoide = $i * 2 * $PI / 360;
float $pas=1.5;
float $rayon= 1.5;
CreerVecteur($ray_central,$pas,$rayon,$angle_centr al,$angle_solenoide,$nbre_solenoide);
CreerCercle($angle_central,$pas,$ray_central);
};
};
proc dessiner()
{
dessine("SDRD",15) ;
};
dessiner();
**********************************
ce code me donne une spirale, et quand je sélectionne tous les cercles,et j'applique LOFT, dans précisément 2 endroits à chaque tour, j'obtient une spirale applatie (rayon nul)! pour remedier a ça j'ai essayé de séléctionner quelques cercles et de leur faire subir un inversement de sens, mais ca marche toujours pas.
svp quelqu'un pour aider?
merci
Last edited by darkcyber; 21-06-2008 at 04:11 AM.