- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言300行 投篮
#include stdio.h#ifdef __APPLE__#include GLUT/glut.h#else#include GL/glut.h#endif#include stdlib.h#include stdio.h#include math.h#include windows.h#include time.hstatic double a=0;static double b=0.2;static double t=0;static double t1=0;static double v=0;static double i=0;static double m=0;static double n=0;static double p,q,r,r1=1;static void resize(int width,int height)//重绘回调函数{ const float ar=(float)width/(float)height; glViewport(0,0,width,height);//利用函数glViewport定义视区 glMatrixMode(GL_PROJECTION);//投影矩阵 glLoadIdentity();// 重置坐标系统,使投影变换复位 glFrustum(-ar,ar,-1.0,1.0,2.0,100.0);//利用函数glFrustum定义修剪区 glMatrixMode(GL_MODELVIEW); glLoadIdentity();}static void display(void)//显示回调{ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);//清除颜色缓冲区和深度缓冲区 t=t+t1*0.0001; glColor3d(1,0.6,0.6);//画图颜色灰红//绘制一个实心球,默认原点在屏幕中心与照相机重合 glPushMatrix(); glTranslated(-3+0.5*cos(a),-0.6+0.5*sin(a),-5); glRotated(0,0,0,0); glutSolidSphere(b,16,16); glPopMatrix(); glColor3d(1,0,0);//画图颜色红//绘制一个实心球,默认原点在屏幕中心与照相机重合 glPushMatrix(); glTranslated(-3+t*cos(a)*v*t1,-0.6+(t*sin(a)*v-45*t*t)*t1,-5); glRotated(0,0,0,0); glutSolidSphere(0.2*r1,16,16); glPopMatrix(); glColor3d(1,1,1);//画图颜色灰//绘制一个线框圆环 glPushMatrix(); glTranslated(m+2.3,n-0.6,-5); glRotated(100,1,0,0); glRotated(7.5,0,1,0); glutWireTorus(0.1*r1,0.6,16,16); glPopMatrix(); if(pow(3-t*cos(a)*v*t1+m+2.3,2)+pow(0.6-(t*sin(a)*v-45*t*t)*t1+n-0.6,2)0.024) { t=t-t1*0.0001; r1=3.5; } else r1=1; for(p=-3.5,q=0.5;p3.6;p=p+0.5) { if(pow(3-t*cos(a)*v*t1+p,2)+pow(0.6-(t*sin(a)*v-45*t*t)*t1+q,2)0.2)r=0.4; else r=0.05; glColor3d(0,0,0);//画图颜色黑 //绘制一个线框圆环 glPushMatrix(); glTranslated(p,q,-5); glRotated(t*5000,0,1,0); glutWireTorus(r,0.15,16,16); glPopMatrix();
文档评论(0)