资源简介
opengl
实现多个小球的碰撞和反弹模拟,小球的数目可以自己确定
代码片段和文件信息
// Circle.cpp: implementation of the CCircle class.
//
//////////////////////////////////////////////////////////////////////
#include “Circle.h“
#include
#include “math.h“
#include “Dot.h“
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
extern int windowWidth windowHeight;
CCircle::CCircle()
{
r=0.0;
angle=0;
pi=acos(-1);
flag_circle=0;
finish_flag=false;
X_Step = 10.0f;
Y_Step = 10.0f;
}
CCircle::~CCircle()
{
}
void CCircle::Draw()
{
if(!finish_flag&&amm.m_p[0]!=0&&amm.m_p[1]!=0)
{
r=(am.m_p[0]-amm.m_p[0])*(am.m_p[0]-amm.m_p[0])+(am.m_p[1]-amm.m_p[1])*(am.m_p[1]-amm.m_p[1]);
r=sqrt(r);
}
myArc_Full(am.m_p[0]am.m_p[1]rr0360);
}
int CCircle::Mouse(int btn int state int x int y)
{
if(!flag_circle)
{
am.m_p[0]=x;
am.m_p[1]=windowHeight-y;
flag_circle=1;
return 1;
}
else if(flag_circle==1 )
{
amm.m_p[0] = x;
amm.m_p[1]= windowHeight-y;
flag_circle = 0;
glutPostRedisplay();
return 0;
}
}
void CCircle::mousemove(int x int y)
{
amm.m_p[0] = x;
amm.m_p[1] = windowHeight-y;
glutPostRedisplay();
}
void CCircle::myArc_Full(float xfloat yfloat afloat bint start_angleint end_angle)
{
float pxpy;
glBegin(GL_TRIANGLE_FAN);
glColor3fv(m_color);
glVertex2f(xy);
for(angle = start_angle; angle <= end_angle; angle = angle + 1)
{
px = x + a*cos(angle/180.0 *pi);
py = y + b*sin(angle/180.0 *pi);
glVertex2f(pxpy);
}
glEnd();
}
void CCircle::SetColor(float Rfloat Gfloat B)
{
m_color[0]=R;
m_color[1]=G;
m_color[2]=B;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1774 2011-04-17 11:04 Ball 1.7\SportBall\Circle.cpp
文件 934 2011-03-30 15:53 Ball 1.7\SportBall\Circle.h
文件 326 2011-03-29 10:57 Ball 1.7\SportBall\cursor1.cur
文件 866 2011-03-29 10:39 Ball 1.7\SportBall\Dot.cpp
文件 646 2011-03-29 10:39 Ball 1.7\SportBall\Dot.h
文件 456 2011-03-29 10:57 Ball 1.7\SportBall\resource.h
文件 17464 2011-03-31 13:03 Ball 1.7\SportBall\sc
文件 1616 2011-03-29 10:57 Ball 1.7\SportBall\sc
文件 4782 2011-04-17 11:16 Ball 1.7\SportBall\SportBall.cpp
文件 4562 2011-03-29 10:39 Ball 1.7\SportBall\SportBall.dsp
文件 541 2011-03-29 10:37 Ball 1.7\SportBall\SportBall.dsw
文件 140288 2011-04-21 18:13 Ball 1.7\SportBall\SportBall.ncb
文件 53760 2011-04-21 18:13 Ball 1.7\SportBall\SportBall.opt
文件 1698 2011-04-21 18:12 Ball 1.7\SportBall\SportBall.plg
目录 0 2011-04-22 20:05 Ball 1.7\SportBall
目录 0 2011-04-21 18:12 Ball 1.7
----------- --------- ---------- ----- ----
229713 16
- 上一篇:SYN Flooder 攻击源码
- 下一篇:protelpcb文件作业
相关资源
- 3DS文件导入opengl程序
- 用OpenGL绘制汽车并控制
- GLSL 基础介绍OpenGLES 2.0
- 开源3D游戏引擎 HXEngine
- opengl光照、纹理映射和键盘控制
- OpenGL 作图 - 圆环
- opengl画圆环,并且能够进行x及y方向的
- OpenGL库文件工具包opengl32.lib glu32.lib
- openGL 实现 光线跟踪算法源代码
- 用OPENGL实现光线跟踪算法
- openGL实现分形树
- QT5.9.2+OpenGL,使用最新的QOpenGLWidget框
- TCS3200颜色传感器Arduino优化代码快速识
- 做opengl小游戏坦克大战的基本框架
- opengl 头文件 GLut.h,GLU32.h,glut32.h,
- glaux(OpenGL库
- OPENGL模拟行星运转的代码
- freeglut-3.0.0.
- OpenGL入门教程高清完整
- OpenGL推箱子游戏
- 绘制若干OpenGL基本体素三角形、三角
- OpenGL_射线选择初探
- OpenGL-- Shader 颜色 光照 5 多光源 基础
- 通用扫描线填充算法OpenGL glut实现
- 泛滥填充种子填充算法OpenGl glut实现
- glfw-3.2.1 OpenGL用
- OpenGL三维图形系统开发与实用技术 基
- vs配置opengl所需glut库
- OpenGl 飞机在蓝天飞行 纹理贴图 地形
- 3D世界的QT+opengl实现
评论
共有 条评论