这是我用于转换点的实用函数:
void translatePoints(float x, float y, int transX, int transY)
{
glMatrixMode(GL_MODELVIEW);
//glLoadIdentity();
glBegin(GL_LINES);
// original points
glVertex2f(x,y);
glVertex2f(x + transX, y + transY);
glEnd();
glFlush();
}
我有类似的功能来绘制圆、缩放点和旋转点 不使用矩阵平移,我必须从 myDisplay 传递 x 和 y 值,并使形状从中心平移、缩放和旋转。如果我有一个有 6 个点的形状,比如星星,这个功能就不起作用。我想这个函数必须返回两个点,否则我可以使用指针。但我不确定如何实现这些,我也相信我不应该在这个函数中画出这些点。最后,我必须绘制不同形状的场景。