Bonjour,
j'ai voulu faire un module qui me permet, en théorie, de calculer des coordonnées :
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.
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; }
Merci
Partager