Bonjour,
J'ai tester une librairie célébre pour trianguler , ca ne fonctionne pas !

La librairie se télécharge https://www.cs.cmu.edu/~quake/triangle.html

Le bug : ca crash !
J'ai enlever les segment list , pas de crash mais aucun triangle généré.

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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
 
#include <Windows.h>
#include <stdio.h>
#include <stdlib.h>
 
#define REAL float
#define SINGLE
 
 
#include <triangle.h>
 
 
extern "C" void triangulate(char*, struct triangulateio*, struct triangulateio*,
    struct triangulateio*);
extern "C"  void trifree(VOID* memptr);
 
int main()
{
    {
        int ki;
        struct triangulateio in, out, vornout;
        memset(&out, 0, sizeof(struct triangulateio));
        memset(&in, 0, sizeof(struct triangulateio));
        memset(&vornout, 0, sizeof(struct triangulateio));
        /* Allocation des structures */
        in.numberofpoints = 4;
        in.pointlist = (float*)malloc(in.numberofpoints * 2 * sizeof(float));
 
        /* Coordonnées des points */
        in.pointlist[0] = 0.0; in.pointlist[1] = 0.0;
        in.pointlist[2] = 1.0; in.pointlist[3] = 0.0;
        in.pointlist[4] = 1.0; in.pointlist[5] = 1.0;
        in.pointlist[6] = 0.0; in.pointlist[7] = 1.0;
 
        in.numberofsegments = 0;
        in.numberofholes = 0;
 
        in.numberofsegments = 4;
        in.segmentlist = (int*)malloc(in.numberofsegments * 2 * sizeof(int));
 
        in.segmentlist[0] = 0; in.segmentlist[1] = 1;
        in.segmentlist[2] = 1; in.segmentlist[3] = 2;
        in.segmentlist[4] = 2; in.segmentlist[5] = 3;
        in.segmentlist[6] = 3; in.segmentlist[7] = 0;
 
        /* Exécuter la triangulation */
        triangulate((char*)"pqD", &in, &out, NULL);
 
        printf("Triangles générés :\n");
        for (int i = 0; i < out.numberoftriangles; i++) {
            printf("Triangle %d: %d %d %d\n", i,
                out.trianglelist[i * 3],
                out.trianglelist[i * 3 + 1],
                out.trianglelist[i * 3 + 2]);
        }
        ki = 0;
    }
}
Merci de me dire si c'est la librairie ou le source ,
si c'est le source qu'est ce qui ne va pas.