3

私のコードでは、一連の点の Convexhull を計算する必要があり、何らかの理由でqhullライブラリを使用する必要があります。このライブラリには、必要なことを正確に実行するメソッドqconvexがあります。ターミナルでこのコマンドを実行して、必要なものを取得できます。たとえば、次のような入力があるとしますpoints.txt

2   #dimension
5   #number of points
0 0
1 0
0.5 0.5
1 1
0 1

これらのコマンドを端末で実行して、結果を取得できます:qconvex Fx < points.txtまたはcat points.txt | qconvex -Fx、出力は次のとおりです。

4 
0
1
3
4

ここで私の質問は、C++ コードで入力に対して反復的にこのコマンドを呼び出す方法forですfloat **rs_tmp;。毎回これらの 10 ポイントの qconvex。コードで実行し、入力としてqconvexパイプする方法を教えてください。rs_tmpコードを超高速にする必要があるため、一時ファイルに書き込むことを避けrs_tmp、そこから読み取ることを好みます。

float **rs_tmp;
for (int i = 0; i < NUMBER; i++)
{
    for (int j = 0; j < NUMBER; j++)
    {
        rs_tmp = generate_points(label, dect[i], dect[j], fun);
        // HERE I NEED TO CALL QCONVEX SOME HOW
        // THE POINTS ARE STORED IN rs_tmp as 2-Dimensional floating points array
    }
     int size = fun.size();
     for(int i = 0; i < size; ++i)     
     {
         delete[] rs_tmp[i]; 
     }   
     delete[] rs_tmp;         
}
4

1 に答える 1