Bonjour,

j'ai voulu faire un module qui me permet, en théorie, de calculer des coordonnées :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
sub Points {
  $pi = 3.1415926535897932384626433832795;
  $x_d = shift;
  $y_d = shift;
  $x_c = shift;
  $y_c = shift;
  my @coor = ();
  print "In duct :\n";
  print "$x_d, $y_d, $x_c, $y_c\n__________________\n";
  $coor[0] = $x_d;
  $coor[1] = $y_d;
  $coor[6] = $x_c+(($x_d-$x_c)*(cos (0.4*$pi))-($yd-$yc)*(sin (0.4*$pi)));
  $coor[7] = 400-$y_c+(($x_d-$x_c)*(sin (0.4*$pi))+($yd-$yc)*(cos (0.4*$pi)));
  $coor[2] = $x_c+(($x_d-$x_c)*(cos (0.8*$pi))-($yd-$yc)*(sin (0.8*$pi)));
  $coor[3] = 400-$y_c+(($x_d-$x_c)*(sin (0.8*$pi))+($yd-$yc)*(cos (0.8*$pi)));
  $coor[8] = $x_c+(($x_d-$x_c)*(cos (1.2*$pi))-($yd-$yc)*(sin (1.2*$pi)));
  $coor[9] = 400-$y_c+(($x_d-$x_c)*(sin (1.2*$pi))+($yd-$yc)*(cos (1.2*$pi)));
  $coor[4] = $x_c+(($x_d-$x_c)*(cos (1.6*$pi))-($yd-$yc)*(sin (1.6*$pi)));
  $coor[5] = 400-$y_c+(($x_d-$x_c)*(sin (1.6*$pi))+($yd-$yc)*(cos (1.6*$pi)));
  return @coor;
}
le problème c'est que il ne me retourne pas les bons résultats dans les calculs avec cos et sin donc je voudrais savoir si quelqu'un savais comment régler ce problème.
Merci