資源簡介
在visualstudio2010下用OpenGL編寫的程序,用于顯示一個二維圖形(本代碼中為一只小豬),并可實現(xiàn)鼠標拖拽,鍵盤控制移動,右鍵菜單等功能。
代碼片段和文件信息
#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軸縮放參數(shù)
GLfloat?sy?=?1.0f;?//y軸縮放參數(shù)
GLfloat?sz?=?1.0f;?//z軸縮放參數(shù)
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個文件信息
評論
共有 條評論