您好我写了一个创建多边形的程序。在我的程序中,您可以单击两个或多个区域,我的程序将第一个点连接到第二个,第二个连接第三个等。如果我右键单击,那么最后一个点将连接第一个点然后我的多边形准备好了。现在我想移动我的多边形的顶点。像拖放一样的东西。我开始编写这段代码:
void move(GLint button, GLint action, GLint xPosition, GLint yPosition){
screenCoordinates newCoord;
if (button == GLUT_LEFT_BUTTON && action == GLUT_UP) {
for (int i = 0; i <= position; i++){
if ((xPosition == vertexCoord[0][position] + 5 || xPosition == vertexCoord[0][position] - 5) && ((yPosition == vertexCoord[1][position] + 5 || yPosition == vertexCoord[1][position] - 5)))
//....
}
}
}
我有+ -5,因为很难在顶点完全点击。我也有一个包含所有顶点的数组(vertexCoord [2] [200])。现在我该如何移动我的顶点?
答案 0 :(得分:0)
您可能希望研究使用矩阵变换。有一些教程教会如何在Modern OpenGL(3.3 +)中完成这项工作。
我个人非常喜欢Open.GL,但我有一些朋友和教授喜欢OpenGL-Tutorial