2
我已經用C++編寫了一個代碼,它給出了節點的座標(相互之間足夠接近的點),從而找到幾何圖形的邊緣。我現在想要繪製圖表,將管道的座標管道輸送到Gnuplot。這看起來是這樣的:使用gnuplot從C++繪製幾何圖形
FILE *pipe = popen("gnuplot -persist", "w");
fprintf(pipe, "\n");
fprintf(pipe, "set polar\n");
fprintf(pipe, "plot '-' with linespoints \n");
現在每一個環節被發現(使用廣度優先搜索算法)的時候,我做
fprintf(pipe, "%g %g\n", RC[j].angle,RC[j].radius);
fprintf(pipe, "%g %g\n", RC[start[ptr]].angle,RC[start[ptr]].radius);
fprintf(pipe, "%g %g\n");
當搜索算法結束後,我與
結束fprintf(pipe, "e\n");
fflush(pipe);
fclose(pipe);
但是,這並不打印我所期望的幾何圖形(被遠遠移除的點會被連接)。如果我使用此過程
outfile << RC[j].angle << ", " << RC[j].radius << endl;
outfile << RC[start[ptr]].angle << ", " << RC[start[ptr]].radius << endl;
outfile << " " << endl;
將數據寫入到一個文件中我得到我想要的圖形。管子有什麼問題?
使您的C++程序寫入標準文件並將此文件提供給gnuplot;這樣你就會知道它是C++還是gnuplot錯誤。 – YSC
遵循你的建議,通過標準文件我得到我正在尋找的圖表。所以錯誤在管道算法中。發佈編輯。 – DM037
我可以對我的回答有反饋嗎? – YSC