• 大小: 25KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-23
  • 语言: 其他
  • 标签: opengl  小球  

资源简介

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\script1.aps

     文件       1616  2011-03-29 10:57  Ball 1.7\SportBall\script1.rc

     文件       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


评论

共有 条评论