配置好openGL的环境之后我们就可以进行简单的绘图工作了,我的第一个绘图任务是通过点之间的连线绘制带有特定对角线的正六边形。
前人工作
在绘制正六边形之前找了一些绘制线、多边形的教程,以及画正n边形的教程,列举如下:
- 绘制简单的点、线、面:https://blog.csdn.net/Nick_Wang94/article/details/51946702
- 通过圆切割的方式画正n边形:http://blog.sina.com.cn/s/blog_622bd1660100y0m7.html
- 通过多个三角形拼接画正n边形:https://blog.csdn.net/th_gsb/article/details/51140842
进入正题
由于我的任务是通过坐标点的连线来绘制正六边形,因此需要先确定好点的坐标。openGL默认的坐标边界为±1,即窗口的四个顶点为(-1,1),(1,1),(1,-1),(-1,-1)。因此需要根据这四个顶点再借助几何知识计算出正六边形所有顶点的坐标如下:
//6个点的坐标
glVertex2f(-0.2, -0.35);
glVertex2f(-0.4, 0.0);
glVertex2f(-0.2, 0.35);
glVertex2f(0.2, 0.35);
glVertex2f(0.4, 0.0);
gl