0% ont trouvé ce document utile (0 vote)
74 vues2 pages

Calcul de distance et longueur en C

Le document présente du code C qui calcule la distance entre deux points et la longueur d'une ligne définie par plusieurs points en 3D.

Transféré par

Hidaya kettani
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
74 vues2 pages

Calcul de distance et longueur en C

Le document présente du code C qui calcule la distance entre deux points et la longueur d'une ligne définie par plusieurs points en 3D.

Transféré par

Hidaya kettani
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd

#include <stdio.

h>
#include <math.h> // Include this header for the pow and sqrt functions
#define TMAX 100
typedef struct point {
double x, y, z;
} point;
typedef struct Segment {
point start,end;
} Segment;
typedef struct Ligne {
int N; // Le nombre de points dans la ligne
point points[TMAX]; // Un tableau de points de taille TMAX
} Ligne;
int main() {
point p1 = {6.9, 7.3, 4.2};
point p2 = {1.0, 1.0, 1.0};
double dx, dy, dz, D, t;
printf("( %.2f --- %.2f --- %.2f )", p1.x, p1.y, p1.z);
printf("\n( %.2f --- %.2f --- %.2f )", p2.x, p2.y, p2.z);

dx = (p1.x - p2.x);
dy = (p1.y - p2.y);
dz = (p1.z - p2.z);

t = pow(dx, 2) + pow(dy, 2) + pow(dz, 2);


D = sqrt(t);

printf("\nla distance entre p1 et p2 est : %.2f", D);

Segment s = {p1, p2};

printf("\n[");
printf("(%.1f, %.1f, %.1f ) ---", [Link].x, [Link].y, [Link].z);
printf(" (%.1f, %.1f, %.1f)", [Link].x, [Link].y, [Link].z);
printf("]\n");

Ligne ligne;
double longueur = 0.0;
// Initialisation de la ligne avec 3 points
ligne.N = 3;
[Link][0] = (point){3.2, 5.0, 1.0};
[Link][1] = (point){4.6, 3.0, 0.0};
[Link][2] = (point){2.0, 2.5, 3.0};
// Affichage des points de la ligne
for (int i = 0; i < ligne.N; i++) {
printf("(%.1f, %.1f, %.1f) ", [Link][i].x, [Link][i].y,
[Link][i].z);
}
printf("\n");
// Calcul de la longueur de la ligne
for (int i = 0; i < ligne.N - 1; i++) {
dx = [Link][i+1].x - [Link][i].x;
dy = [Link][i+1].y - [Link][i].y;
dz = [Link][i+1].z - [Link][i].z;
longueur += sqrt(dx*dx + dy*dy + dz*dz);
}

// Affichage de la longueur de la ligne


printf("La longueur de la ligne est : %.2f\n", longueur);
return 0;
}

pour python
#include <stdio.h>
#include <math.h> // Include this header for the pow and sqrt functions
#define TMAX 100
typedef struct point {
double x, y, z;
} point;
typedef struct Segment {
point start,end;
} Segment;
typedef struct Ligne {
int N; // Le nombre de points dans la ligne
point points[TMAX]; // Un tableau de points de taille TMAX
} Ligne;
int main() {

Ligne ligne;
double longueur = 0.0;
// Initialisation de la ligne avec 3 points
ligne.N = 3;
[Link][0] = (point){3.2, 5.0, 1.0};
[Link][1] = (point){4.6, 3.0, 0.0};
[Link][2] = (point){2.0, 2.5, 3.0};
// Affichage des points de la ligne
for (int i = 0; i < ligne.N; i++) {
printf("(%.1f, %.1f, %.1f) ", [Link][i].x, [Link][i].y,
[Link][i].z);
}
printf("\n");
// Calcul de la longueur de la ligne
for (int i = 0; i < ligne.N - 1; i++) {
double dx = [Link][i+1].x - [Link][i].x;
double dy = [Link][i+1].y - [Link][i].y;
double dz = [Link][i+1].z - [Link][i].z;
longueur += (dx*dx + dy*dy + dz*dz);
}

// Affichage de la longueur de la ligne


printf("La longueur de la ligne est : %.2f\n", longueur);

return 0;
}

Vous aimerez peut-être aussi