INFO607
Functions
points.c File Reference
#include <math.h>
#include "points.h"

Go to the source code of this file.

Functions

Point Point_sub (Point p, Point q)
 
Point Point_add (Point p, Point q)
 
Point Point_mul (double c, Point p)
 
double Point_dot (Point p, Point q)
 
double Point_norm2 (Point p)
 
double Point_norm (Point p)
 
double Point_distance (Point p, Point q)
 
Point Point_normalize (Point p)
 
double distance (double x1, double y1, double x2, double y2)
 
void resetCompteurDistance (void)
 Remet à zéro le compteur du nombre d'appel à distance.
 
int getCompteurDistance (void)
 

Function Documentation

◆ distance()

double distance ( double  x1,
double  y1,
double  x2,
double  y2 
)
Returns
la distance entre (x1,y1) et (x2,y2).

Definition at line 53 of file points.c.

54{
55 ++compteur_distance;
56 return sqrt( (x1-x2)*(x1-x2)+(y1-y2)*(y1-y2) );
57}

Referenced by Point_distance().

◆ getCompteurDistance()

int getCompteurDistance ( void  )
Returns
la valeur du compteur du nombre d'appel à distance.

Definition at line 64 of file points.c.

65{
66 return compteur_distance;
67}

Referenced by ticDistance().

◆ Point_add()

Point Point_add ( Point  p,
Point  q 
)
Returns
le vecteur p+q

Definition at line 12 of file points.c.

13{
14 p.x[ 0 ] += q.x[ 0 ];
15 p.x[ 1 ] += q.x[ 1 ];
16 return p;
17}
double x
Definition points.h:5

References SPoint::x.

◆ Point_distance()

double Point_distance ( Point  p,
Point  q 
)
Returns
la distance entre les deux points p et q, qui est aussi la norme de p-q.

Definition at line 41 of file points.c.

42{
43 return distance( p.x[ 0 ], p.x[ 1 ], q.x[ 0 ], q.x[ 1 ] );
44}
double distance(double x1, double y1, double x2, double y2)
Definition points.c:53

References distance(), and SPoint::x.

◆ Point_dot()

double Point_dot ( Point  p,
Point  q 
)
Returns
le produit scalaire p * q

Definition at line 26 of file points.c.

27{
28 return p.x[ 0 ] * q.x[ 0 ] + p.x[ 1 ] * q.x[ 1 ];
29}

References SPoint::x.

Referenced by Point_norm2().

◆ Point_mul()

Point Point_mul ( double  c,
Point  p 
)
Returns
le vecteur c.p (multiplication scalaire d'un vecteur)

Definition at line 19 of file points.c.

20{
21 p.x[ 0 ] *= c;
22 p.x[ 1 ] *= c;
23 return p;
24}

References SPoint::x.

Referenced by Point_normalize().

◆ Point_norm()

double Point_norm ( Point  p)
Returns
la norme du vecteur p.

Definition at line 36 of file points.c.

37{
38 return sqrt( Point_norm2( p ) );
39}
double Point_norm2(Point p)
Definition points.c:31

References Point_norm2().

Referenced by Point_normalize().

◆ Point_norm2()

double Point_norm2 ( Point  p)
Returns
la norme au carré du vecteur p.

Definition at line 31 of file points.c.

32{
33 return Point_dot( p, p );
34}
double Point_dot(Point p, Point q)
Definition points.c:26

References Point_dot().

Referenced by Point_norm().

◆ Point_normalize()

Point Point_normalize ( Point  p)
Returns
le vecteur de norme 1 aligné avec le vecteur p.

Definition at line 46 of file points.c.

47{
48 return Point_mul( 1.0/Point_norm( p ), p );
49}
Point Point_mul(double c, Point p)
Definition points.c:19
double Point_norm(Point p)
Definition points.c:36

References Point_mul(), and Point_norm().

◆ Point_sub()

Point Point_sub ( Point  p,
Point  q 
)
Returns
le vecteur p-q

Definition at line 5 of file points.c.

6{
7 p.x[ 0 ] -= q.x[ 0 ];
8 p.x[ 1 ] -= q.x[ 1 ];
9 return p;
10}

References SPoint::x.

◆ resetCompteurDistance()

void resetCompteurDistance ( void  )

Remet à zéro le compteur du nombre d'appel à distance.

Definition at line 59 of file points.c.

60{
61 compteur_distance = 0;
62}

Referenced by ticDistance().