资源简介
在visualstudio2010下用OpenGL编写的程序,用于显示一个二维图形(本代码中为一只小猪),并可实现鼠标拖拽,键盘控制移动,右键菜单等功能。
代码片段和文件信息
#include
#include
#include
#include
const int n = 1000;
const GLfloat RB = 0.7f; //身体半径
const GLfloat RL = 0.1f; //左右腿半径
const GLfloat a = 0.15f; //鼻子长半轴长
const GLfloat b = 0.1f; //鼻子短半轴长
const GLfloat RN = 0.02f; //鼻孔半径
const GLfloat RE = 0.03f; //眼睛半径
const GLfloat RE2 = 0.05f; //瞪眼后眼睛半径
const GLfloat RE3 = 0.01f; //眯眼后眼睛半径
const GLfloat Pi = 3.1415926536f; //圆周率
GLfloat x = 0.0f; //x轴坐标原点
GLfloat y = 0.0f; //y轴坐标原点
GLfloat z = 0.0f; //z轴坐标原点
GLfloat sx = 1.0f; //x轴缩放参数
GLfloat sy = 1.0f; //y轴缩放参数
GLfloat sz = 1.0f; //z轴缩放参数
GLint mx ; //鼠标x轴坐标
GLint my; //鼠标y轴坐标
void myDisplay(void)
{
glClearColor(1.0 1.0 1.0 1.0); //设置背景为白色
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0 0.5 0.5);
glBegin(GL_POLYGON);
glVertex2f(RB*cos(5*Pi/6)+x RB*sin(5*Pi/6)+y);
glVertex2f(RB*cos(2*Pi/3)+x RB*sin(2*Pi/3)+y);
glVertex2f(-0.64+x 0.64+y);
glEnd();//左耳
glColor3f(1.0 0.5 0.5);
glBegin(GL_POLYGON);
glVertex2f(RB*cos(Pi/6)+x RB*sin(Pi/6)+y);
glVertex2f(RB*cos(Pi/3)+x RB*sin(Pi/3)+y);
glVertex2f(0.64+x 0.64+y);
glEnd();//右耳
glColor3f(1.0 0.5 0.5);
glBegin(GL_POLYGON);
for(int i=0; i glVertex2f(-0.4+RL*cos(2*Pi/n*i)+x -0.6+RL*sin(2*Pi/n*i)+y);
glEnd();//左腿
glColor3f(1.0 0.5 0.5);
glBegin(GL_POLYGON);
for(int i=0; i glVertex2f(0.4+RL*cos(2*Pi/n*i)+x -0.6+RL*sin(2*Pi/n*i)+y);
glEnd();//右腿
glColor3f(1.0 0.8 0.8);
glBegin(GL_POLYGON);
for(int i=0; i glVertex2f(RB*cos(2*Pi/n*i) +x RB*sin(2*Pi/n*i)+y);
glEnd();//身体
glColor3f(1.0 0.5 0.5);
glBegin(GL_POLYGON);
for(int i=0; i glVertex2f(a*cos(2*Pi/n*i) + x b*sin(2*Pi/n*i)+y);
glEnd();//鼻子
glColor3f(0.0 0.0 0.0);
glBegin(GL_POLYGON);
for(int i=0; i glVertex2f(-0.07+RN*cos(2*Pi/n*i)+x RN*sin(2*Pi/n*i)+y);
glEnd();//左鼻孔
glColor3f(0.0 0.0 0.0);
glBegin(GL_POLYGON);
for(int i=0; i glVertex2f(0.07+RN*cos(2*Pi/n*i)+x RN*sin(2*Pi/n*i)+y);
glEnd();//右鼻孔
glColor3f(0.0 0.0 0.0);
glBegin(GL_POLYGON);
for(int i=0; i glVertex2f(-0.11+RE*cos(2*Pi/n*i)+x 0.13+RE*sin(2*Pi/n*i)+y);
glEnd();//左眼
glColor3f(0.0 0.0 0.0);
glBegin(GL_POLYGON);
for(int i=0; i glVertex2f(0.11+RE*cos(2*Pi/n*i)+x 0.13+RE*sin(2*Pi/n*i)+y);
glEnd();//右眼
//glPushMatrix();
// glScalef(sx sy sz);
//glPopMatrix();
glFlush();
}
void myDisplay2(void) //squint
{
glClearColor(1.0 1.0 1.0 1.0); //设置背景为白色
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0 0.5 0.5);
glBegin(GL_POLYGON);
glVertex2f(RB*cos(5*Pi/6)+x RB*sin(5*Pi/6)+y);
glVertex2f(RB*cos(2*Pi/3)+x RB*sin(2*Pi/3)+y);
glVertex2f(-0.64+x 0.64+y);
glEnd();//左耳
glColor3f(1.0 0.5 0.5);
glBegin(GL_POLYGON);
glVertex2f(R
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 26112 2013-10-07 21:08 myPig\Debug\myPig.exe
文件 392212 2013-09-28 16:51 myPig\Debug\myPig.ilk
文件 625664 2013-10-07 21:08 myPig\Debug\myPig.pdb
文件 46530560 2013-10-08 11:16 myPig\ipch\mypig-f467bea0\mypig-f3d6fad2.ipch
文件 738 2013-10-07 21:08 myPig\myPig\Debug\cl.command.1.tlog
文件 21792 2013-10-07 21:08 myPig\myPig\Debug\CL.read.1.tlog
文件 468 2013-10-07 21:08 myPig\myPig\Debug\CL.write.1.tlog
文件 2 2013-09-28 16:51 myPig\myPig\Debug\li
文件 2 2013-09-28 16:51 myPig\myPig\Debug\li
文件 2 2013-09-28 16:51 myPig\myPig\Debug\li
文件 2 2013-09-28 16:51 myPig\myPig\Debug\li
文件 2 2013-09-28 16:51 myPig\myPig\Debug\li
文件 2 2013-09-28 16:51 myPig\myPig\Debug\li
文件 2 2013-09-28 16:51 myPig\myPig\Debug\li
文件 2 2013-09-28 16:51 myPig\myPig\Debug\li
文件 2 2013-09-28 16:51 myPig\myPig\Debug\li
文件 2 2013-09-28 16:51 myPig\myPig\Debug\li
文件 2 2013-09-28 16:51 myPig\myPig\Debug\li
文件 2 2013-09-28 16:51 myPig\myPig\Debug\li
文件 2 2013-09-28 16:51 myPig\myPig\Debug\li
文件 2 2013-09-28 16:51 myPig\myPig\Debug\li
文件 2 2013-09-28 16:51 myPig\myPig\Debug\li
文件 2 2013-09-28 16:51 myPig\myPig\Debug\li
文件 2 2013-09-28 16:51 myPig\myPig\Debug\li
文件 2 2013-09-28 16:51 myPig\myPig\Debug\li
文件 2 2013-09-28 16:51 myPig\myPig\Debug\li
文件 2 2013-09-28 16:51 myPig\myPig\Debug\li
文件 2 2013-09-28 16:51 myPig\myPig\Debug\li
文件 2 2013-09-28 16:51 myPig\myPig\Debug\li
文件 2 2013-09-28 16:51 myPig\myPig\Debug\li
............此处省略39个文件信息
相关资源
- librdkafka win7 64位 vs2015编译Release版本
- VS1053B编解码器的VDR分布式声音采集卡
- VS六种配色方案(工具-导入和导出设
- VS2012OpenGL配置所需要的全部libdllh文件
- 串口模拟器支持win10
- Visual Assist X for vs2005
- VisualSVN-VS2019-7.1.2破解版
- Visual_Assist_X VS2008专用
- Kvsc3.exe、Kvsc3.dll病毒查杀清除方法
- VisualSVN 6.0.4 破解版(支持VS2017)
- CVSNT中文完美稳定版
- AnkhSvn-2.6.12735 支持VS2010-VS2015 官方原版
- Visual Studio 2017企业版 Enterprise,专业版
- VS2017_Professional_15.5.7+密钥
- VS2010、VS2012、VS2013代码自动注释插件
- ArangoDB vs. JanusGraph vs. Neo4j vs. OrientDB
- 插件式GIS应用框架的设计与实现&mda
- 通过x264录制RGB屏幕视频vs2013工程,
- Microsoft Visual Studio 2017 Installer Project
- VSuite Ramdisk Server V4.6.7 真正破解版(修
- VSP波场分离的径向中值滤波方法
- 利用单端电气量的VSC-HVDC输电线路保护
- G726、G711、G711A转换为AAC
- VS2010 运行时库
- VMware vSphere 全系列序列号
- 中维JVS-C701/702采集卡驱动 v5.5.1.3 官方
- 基于OpenGL的仿蝗虫机器人三维动态仿
- 图形学 - OpenGL实现3种三维茶壶显示源
- AVWS11破解版
- 低级鼠标钩子VS源码、攻略及成品
评论
共有 条评论