我想用鼠标在我的鼠标中心画一个圆圈,然后在屏幕上拖动它,使用函数mouseMove(int x,int y)。圈子将被绘制在移动的鼠标上,就像喷漆一样。到目前为止,这是我OpenGL用鼠标移动绘制圆圈
void mouseMove(int x, int y) {
glBegin(GL_POLYGON);
for (int i = 0; i <= 360; i++)
{
float theta = (2 * 3.14 * i)/360;
glVertex2f((size/2 + x) * cos(theta), (size/2 + y) * sin(theta));
}
glEnd();
glutPostRedisplay();
}
但是使用这个时候,它绘制未在我中心的鼠标非常大圈。我将如何改变这一点,让程序在我的鼠标上绘制圆心?
要描述该项目,我正在创建一个绘图程序,用于更改mouseMove中完成的图形的形状,颜色,大小和旋转。目前,尺寸是int设置为32.当用户在键盘功能中使用'b'键选择形状时,他/她可以随着用户点击并拖动鼠标来切换鼠标周围绘制的形状周围。像喷漆一样。除了圆形喷雾外,所有其他形状都围绕着鼠标成形。
这可能是因为你的相机关闭了。消歧:就位置而言。 –
这个函数里面还有if语句用于其他形状,如正方形和三角形。所有这些绘制正确。这是唯一一个关闭的。 – JMV12
我认为在问题中包含如何制作投影(正视或透视?尺寸?FOV?) –