资源简介
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文件作业
相关资源
- OpenGL参考手册
- MFC程序-碰撞的小球
- Qt Creator opengl实现四元数鼠标控制轨迹
- OpenGL文档,api大全,可直接查询函数
- opengl轮廓字体源代码
- MFC读三维模型obj文件
- 利用OpenGL写毛笔字算法
- MFC中OpenGL面和体的绘制以及动画效果
- 基于OPENGL的光线跟踪源代码368758
- VC 实现三维旋转(源码)
- 自编用openGL实现3D分形树,分形山
- OpenGL球形贴图自旋程序
- OpenGL导入贴图的Texture类
- 计算机图形学(openGL)代码
- 用OpenGL开发的机械臂运动仿真程序(
- OpenGL-3D坦克模拟
- OPENGL实现世界上最小的3D游戏
- VS2012OpenGL配置所需要的全部libdllh文件
- 基于OpenGL的仿蝗虫机器人三维动态仿
- 图形学 - OpenGL实现3种三维茶壶显示源
- opengl程序-会跳舞的骷髅
- opengl实现三维网格光顺Laplacian算法
- opengl——爆炸
- OpenGL三维地形建模
- opengl游戏编程徐明亮版(含源码)
- 用OPENGL画的一个简单的直升飞机
- opengl完美天空盒
- 3D绘图程序设计:使用Direct3D 10/9和Ope
- OpenGL绘制可运动自行车源程序.zip
- OpenGL实现飘动效果
评论
共有 条评论