vs2017

//OpenGL要包含gl.h和glut.h,但glut文件中已经包含这两个文件了
#include <gl\glut.h>
#include <gl\GL.h>#include <iostream>
#include <cmath>void displayFivePointStar() { glClearColor(1, 1, 1, 1);glClear(GL_COLOR_BUFFER_BIT);//glBegin(GL_LINES);//十字架//glColor3f(1.0, 0.0, 0.0);//glVertex3f(0.00, 0.00, 0);//glVertex3f(0.75, 0.00, 0);////glEnd();glBegin(GL_LINE_LOOP);glColor3f(1.0, 0.0, 0.0);glBegin(GL_LINE_LOOP);double x, y, zx, zy, pi = 3.1416, m = pi / 2 - 2 * pi / 5, n,r1,p,r;p = pi / 2 - pi / 5;//n = 2 * m;r1 = 1 * sin(m);r = r1 / sin(p);int i, j;for (i = 0; i < 5; i++) {zx = r*cos(p);zy = r*sin(p);x = 1 * cos(m);y = 1 * sin(m);glVertex2f(x, y);glVertex2f(zx, zy);m += 2 * pi / 5;p += 2 * pi / 5;} glEnd();glFlush();
}void displayFivePointStar2() { // 把五角星分成十个三角形,旋转填色glClearColor(1, 1, 1, 1);glClear(GL_COLOR_BUFFER_BIT);glBegin(GL_TRIANGLES);glColor3f(1.0, 0.0, 0.0);double x, y, zx, zy, pi = 3.1416, m = pi / 2 - 2 * pi / 5, n, r1, p, r;p = pi / 2 - pi / 5;//n = 2 * m;r1 = 1 * sin(m); // 默认外圈圆半径为1r = r1 / sin(p); // r为内五个角所在圆半径int i, j;for (i = 0; i < 10; i++) { zx = r * cos(p);// x,y 为外圈五个角,zx,zy为内圈五个角zy = r * sin(p);x = 1 * cos(m);y = 1 * sin(m);glVertex2f(x, y);glVertex2f(zx, zy);glVertex2f(0, 0);if(i%2==0)m += 2 * pi / 5;else p += 2 * pi / 5;}glEnd();glFlush();
}int main(int argc, char *argv[])
{//对glut初始化,这个函数必须在其它glut使用之前调用一次。//其格式比较死板,一般用glutInit(&argc, argv)就可以了。glutInit(&argc, argv);//设置显示方式,其中GLUT_RGB表示使用RGB颜色,与之对应的还有GLUT_INDEX(表示使用索引颜色)。//GLUT_SINGLE表示使用单缓冲,与之对应的还有GLUT_DOUBLE(使用双缓冲)。glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);glutInitWindowPosition(500, 100);//设置窗口在屏幕中的位置glutInitWindowSize(400, 400);//设置窗口的大小//根据前面设置的信息创建窗口,参数将被作为窗口的标题。//注意:窗口被创建后,并不立即显示到屏幕上。需要调用glutMainLoop才能看到窗口。glutCreateWindow("第一个OpenGL程序");//设置一个函数,当需要进行画图时,这个函数就会被调用。//这个说法不够准确,暂时这样说吧。/*glutDisplayFunc(myDisplay);*//*glutDisplayFunc(display);*/glutDisplayFunc(displayFivePointStar2);//进行一个消息循环。//只需要知道这个函数可以显示窗口,并且等待窗口关闭后才会返回,这就足够了。glutMainLoop();return 0;
}


openGL画五角星相关推荐

  1. 用OpenGL画五角星

    第一次写博客,正在上大二,学的计算机专业,因为课很杂,想把自己学过的东西顺便写下来做个记录,写的不好请见谅! 这个学期学的图形学,主要是讲OpenGL的东西,老师让我们自己用GL_LINES.GL_L ...

  2. OpenGL画三角形 圆 五角星 菱形

    不开心,想玩,当家的不许我玩,还说你要玩就玩,那我不管你了,哭哭TAT 用OPenGL原有的画三角形,正方形,点的函数来作图. 画圆是用化曲为直的思想,把圆分为很多分,越分的多越细,越像圆. 画菱形和 ...

  3. python画五角星代码_Python使用Turtle模块绘制五星红旗代码示例

    在Udacity上课时学到了python的turtle方法,这是一个很经典的用来教小孩儿编程的图形模块,最早起源于logo语言.python本身内置了这个模块,其可视化的方法可以帮助小孩儿对编程的一些 ...

  4. Java数字图像处理基础-------Java Swing简单使用,图形绘画---画五角星

    Java数字图像处理基础-------Java Swing简单使用,图形绘画-画五角星 一:简介 要画出五角星出来,我们只需要在面板上产生5个点,然后把这5个点进行连接就可实现: 二:代码演示 imp ...

  5. python画五角星代码_Python GUI 编程tkinter--画五角星和简单的动画制作

    1.利用Python的tkinter画一个五角星: 2.做一个简单的动画 分析五角心的五个顶点的坐标: 确立五角星的中心点和半径,再确立五角星的五个角的坐标信息,其中五角星的各个角读书为36度,具体的 ...

  6. python画五角星代码_Python使用turtule画五角星的方法

    Python使用turtule画五角星的方法 更新时间:2015年07月09日 10:04:03 作者:pythonstart 这篇文章主要介绍了Python使用turtule画五角星的方法,运行该程 ...

  7. 用python画五角星、填充不了颜色_python的turtle画五角星内部不能填充的解决办法...

    1.网上画的五角星方法,本机发现内部五角星不能填充. 1.1代码如: from turtle import* #从turtle中导出所有模块 color("black"," ...

  8. python画五角星

    python画五角星 今天刚学python海龟画图,课堂作业画五角星,顺便分享给大家. 运行图片如下: 代码如下: # 以画布中心为中点,向右为X轴正方向,向上为Y轴正方向 import turtle ...

  9. opengl画圆柱体、圆锥等并使用四元数旋转

    opengl画圆锥和圆柱体 具体资源欢迎下载:https://download.csdn.net/download/qq_32563773/13077923 画圆锥 如要画出想画的立方体,必须计算出来 ...

最新文章

  1. linux系统安装后优化
  2. [tool] AI视频翻译 解决英文视频字幕问题(类似youtube自动生成字幕)
  3. python从入门到精通pdf百度云下载-跟老齐学Python从入门到精通 电子版(pdf格式)...
  4. SQL 流程控制语句 之四 WAITFOR语句介绍
  5. 集成学习(ensemble learning)(三)
  6. 一文看懂NumPy的切片中常用的冒号
  7. linux虚拟化桌面协议,桌面虚拟化传输协议之android spice
  8. matlab2014 下的 libsvm 安装
  9. TCL学习心得(2)Tcl语言的语法
  10. 高数 | 极坐标下弧微元(线元ds)的推导
  11. Halcon读取Csv文件
  12. 数据结构基本英语词汇
  13. 微信小程序 - 自定义头部导航栏组件(详解) + iphoneX以上遮挡小黑条适配问题
  14. 18118 勇者斗恶龙
  15. 运用Python+Pygame开发坦克大战游戏_版本V1.01
  16. 宜人贷何林海:社交图谱在金融反欺诈产品的应用
  17. 简单的签到代码_Python自动签到
  18. linux删除panel命令,Linux系统删除gnome panel上的图标的解决方法(图)
  19. vue3.0 + typescript openlayers实现地图标点、移动、画线、显示范围、测量长度、测量面积、画三角形、画正方形、画圆、线选、画笔、清除测量、清除、地图上展示弹窗等功能
  20. PWN学习资料整理——(二)基础

热门文章

  1. lua学习笔记---作用域
  2. Java开发常用的在线工具
  3. shardingsphere之sharding-proxy读写分离学习笔记
  4. 呼叫中心与网络电话的区别,看完懂了!
  5. 数云融合丨知识图谱在烟草零售数字化转型中的应用
  6. python画美图_Python爬虫下手,就得从高清美图开始!
  7. Heatmap-based Vanishing Point boosts Lane Detection 论文翻译
  8. Running pipenv gives TypeError: 'module' object is not callable
  9. java排序输出序号_Java对map进行排序并生成序号
  10. tvp5150的iic配置-应用程序实现。