レポート課題 課題2の類題

http://www.tuat.ac.jp/~kamelab/CPII/040130/index.html

Cクラス 担当 亀田・佐藤
跳ね返り運動の例
/*跳ね返りの運動*/
#include <gucc/gucc.h>
#include <stdio.h>
#include <math.h>
void G_INIT(void);
void G_CLS(void);
void G_COLOR(int);
void G_LINE(int,int,int,int);
void G_CIRCLE(int,int,int); 
void main(void)
{
double x,y,vx,vy,e;
int t1,t2;

G_INIT();
G_CLS();


x=0.0;
y=0.0;
vx=10.0;
vy=10.0;
e=0.5;
t1=0;
while(y<480.0)
{
x=vx*(double)t1;
y=vy*(double)t1;
G_COLOR(t1%16);
G_CIRCLE((int)x,(int)y,2);
t1++;
}
t2=0;
while (y>0.0)
{
x=vx*(double)t1;
y=480.0-1.0*e*vy*(double)t2;
G_COLOR(t1%16);
G_CIRCLE((int)x,(int)y,2);
t1++;
t2++;
}
getch();
}

摩擦のある平面上の物体の運動
/*摩擦のある平面上の運動*/
#include <gucc/gucc.h>
#include <stdio.h>
#include <math.h>
void G_INIT(void);
void G_CLS(void);
void G_COLOR(int);
void G_LINE(int,int,int,int);
void G_CIRCLE(int,int,int); 
void main(void)
{

double v0,v,mu,m,g,x;
int t;
scanf("%lf",&v0);
scanf("%lf",&mu);
scanf("%lf",&m);
g=9.8;
G_INIT();
G_CLS();
v=v0;
t=0;
while(v>0.0)
{
/*v=(v0)-(mu*m*g*t) ===> x=v0*t-(0.5*mu*m*g*t*t)*/
v=v0-(mu*m*g*(double)t);
x=v0*(double)t-(0.5*mu*m*g*(double)t*(double)t);
G_COLOR(t%16);
G_CIRCLE((int)x,200,2);
t++;
}
getch();
}
リサージュ図形
/*リサージュ図形*/
#include <gucc/gucc.h>
#include <stdio.h>
#include <math.h>
void G_INIT(void);
void G_CLS(void);
void G_COLOR(int);
void G_PSET(int, int,int);
void main(void)
{
int t,nx,ny;
double x,y;
double w;
double a;
printf("nx?\n");
scanf("%d",&nx);
printf("ny?\n");
scanf("%d",&ny);
G_INIT();
G_CLS();
a=200.0;
w=0.01;
for (t=0; t<1000; t++)
{
x=a*cos((double)nx*w*(double)t)+200;
y=a*sin((double)ny*w*(double)t)+200;
G_PSET((int)x,(int)y,t%16);
}
getch();
}