1 |
|
1 |
/*****************************************************************
|
2 |
|
|
|
3 |
|
|
eval_vecteur.c Type:Func
|
4 |
|
|
|
5 |
|
|
Unicite d un vecteur
|
6 |
|
|
|
7 |
|
|
Date de creation : Wed Jul 9 10:49:44 1997
|
8 |
|
|
|
9 |
|
|
Derniere version : Wed Jul 9 10:49:44 1997
|
10 |
|
|
|
11 |
|
|
|
12 |
|
|
Vincent FRANCOIS
|
13 |
|
|
|
14 |
|
|
*****************************************************************/
|
15 |
|
|
|
16 |
|
|
|
17 |
|
|
|
18 |
|
|
|
19 |
|
|
|
20 |
|
|
/**************************/
|
21 |
|
|
/* include */
|
22 |
|
|
#include <stdio.h>
|
23 |
|
|
#include <math.h>
|
24 |
|
|
#include "struct.h"
|
25 |
|
|
#include "const.h"
|
26 |
|
|
#include "prototype.h"
|
27 |
|
|
|
28 |
|
|
|
29 |
|
|
/**************************/
|
30 |
|
|
/* variables globales */
|
31 |
|
|
|
32 |
|
|
|
33 |
|
|
|
34 |
|
|
/**************************/
|
35 |
|
|
/* programme principal */
|
36 |
|
|
|
37 |
|
|
void eval_vecteur(float *vec)
|
38 |
|
|
{
|
39 |
|
|
float dir[4];
|
40 |
|
|
|
41 |
|
|
|
42 |
|
|
dir[0]=(vec[0]);
|
43 |
|
|
dir[1]=(vec[1]);
|
44 |
|
|
dir[2]=(vec[2]);
|
45 |
|
|
NORME(dir);
|
46 |
|
|
if (dir[0]<(-0.0001))
|
47 |
|
|
{
|
48 |
|
|
dir[0]=(-dir[0]);
|
49 |
|
|
dir[1]=(-dir[1]);
|
50 |
|
|
dir[2]=(-dir[2]);
|
51 |
|
|
}
|
52 |
|
|
if (EGAL(dir[0],0.,0.0001))
|
53 |
|
|
{
|
54 |
|
|
if (dir[1]<(-0.0001))
|
55 |
|
|
{
|
56 |
|
|
dir[1]=(-dir[1]);
|
57 |
|
|
dir[2]=(-dir[2]);
|
58 |
|
|
}
|
59 |
|
|
if (EGAL(dir[1],0.,0.0001))
|
60 |
|
|
if (dir[2]<(-0.0001))
|
61 |
|
|
dir[2]=(-dir[2]);
|
62 |
|
|
}
|
63 |
|
|
(vec[0])=dir[0];
|
64 |
|
|
(vec[1])=dir[1];
|
65 |
|
|
(vec[2])=dir[2];
|
66 |
|
|
}
|