我已經在Xcode中編寫了一個C++程序來實現符號迴歸&遺傳編程。我想創建一個窗口來可視化參考數據(一個2d點的數組)和程序每代生成的最佳函數。通過C++和GLUT更新圖形
簡而言之,我希望窗口顯示2個圖形,並使用for循環更新它。據我瞭解,GLUT似乎是一個很好的框架,我寫了一個函數來顯示參考數據(STD :: vector的是我如何存儲「referenceDataSet」變量):
void renderScene(){
// The min/max variables are just for scaling & centering the graph
double minX, maxX, minY, maxY;
minX = referenceDataSet[0].first;
maxX = referenceDataSet[0].first;
minY = referenceDataSet[0].second;
maxY = referenceDataSet[0].second;
for (int i = 0; i < referenceDataSet.size(); i++) {
minX = min(minX, referenceDataSet[i].first);
maxX = max(maxX, referenceDataSet[i].first);
minY = min(minY, referenceDataSet[i].second);
maxY = max(maxY, referenceDataSet[i].second);
}
glLoadIdentity();
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_LINE_STRIP);
glColor4f(1.0, 0.0, 0.0, 1.0);
for (int i = 0; i < referenceDataSet.size(); i++) {
glVertex2f((referenceDataSet[i].first-minX)/(maxX-minX)-0.5, (referenceDataSet[i].second-minY)/(maxY-minY)-0.5);
}
glEnd();
glFlush();
}
void renderInit(int argc, char **argv){
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(600, 600);
glutCreateWindow("");
glutDisplayFunc(renderScene);
glutCheckLoop();
}
的問題在於,我不確定應該如何更新窗口或繪製不斷變化的第二個圖表。
另外,這是我關於堆棧溢出的第一個問題,所以我很抱歉如果我在這裏沒有正確地做某件事,或者如果有任何這些難以理解。我盡力尋找答案,但找不到任何相關的東西。
非常感謝。 – StTheo