欢迎登录

OpenGL学习记录(五)----画圆弧

:2018-10-11    :430 次   :1509 字   

  1. 代码

// ConsoleApplication1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include "pch.h"
#include <gl/glut.h>
#include "math.h"
void Initial(void)
{
glClearColor(1.0f, 1.0f, 1.0f, 1.0f); //设置窗口背景颜色为白色
glMatrixMode(GL_PROJECTION); //设置投影参数
gluOrtho2D(0.0, 200.0, 0.0, 200.0);
}
void drawCircle(double cx, double cy, double radius)
{
double theta = 180.0f / 50.0f;
theta /= (180.0f / 3.14159265f);
glBegin(GL_LINE_STRIP);
for (int c = 0; c < 50; c++)
glVertex2f(cx + (radius * sin(c * theta)), cy + (radius * cos(c * theta)));
glEnd();
}
void Display(void)
{
glClear(GL_COLOR_BUFFER_BIT); //用当前背景色填充窗口
glColor3f(0.0f, 0.0f, 0.0f); //设置当前的绘图颜色为红色
drawCircle(40, 60, 30);
glFlush(); //清空命令缓冲区,执行OpenGL程序
}
void main(int argc, char* argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); //初始化窗口的显示模式
glutInitWindowSize(400, 400); //设置窗口的尺寸
glutInitWindowPosition(100, 120); //设置窗口的位置
glutCreateWindow("弧线"); //创建一个名为矩形的窗口
glutDisplayFunc(Display); //设置当前窗口的显示回调函数
Initial(); //完成窗口初始化
glutMainLoop(); //启动主GLUT事件处理循环
}

2.截图

image.png

    暂无评论,快来抢沙发吧!
×