2 * homogen.c - bewegung im homogenen feld f=g(0,-1)
4 * usage: ./homogen <x_0> <y_0> <vx_0> <vy_o> <steps> <g> <alpha>
14 int main(int argc,char **argv) {
15 double x,x_p,y,y_p,vx,vx_p,vy,vy_p;
16 double g,alpha,f_x,f_y,tau;
18 int fd; /* data file */
23 printf("usage: %s <x_0> <y_0> <vx_0> <vy_0> <steps> <g> <alpha>\n",argv[0]);
27 /* init + starting conditions */
28 x_p=atof(argv[1]); y_p=atof(argv[2]);
29 vx_p=atof(argv[3]); vy_p=atof(argv[4]);
30 steps=atoi(argv[5]); g=atof(argv[6]); alpha=atof(argv[7]);
32 sprintf(filename,"homogen_%f_%f_%f_%f_%d_%f_%f.plot",x_p,y_p,vx_p,vy_p,steps,g,alpha);
36 buf[1]=x_p; buf[2]=y_p;
37 buf[3]=vx_p; buf[4]=vy_p;
38 gp_add_data(fd,buf,5,1,TYPE_DOUBLE);
42 f_x=-alpha*vx_p; f_y=-g-alpha*vy_p;
43 x=x_p+vx_p*tau; y=y_p+vy_p*tau;
44 vx=vx_p+f_x*tau; vy=vy_p+f_y*tau;
49 gp_add_data(fd,buf,5,1,TYPE_DOUBLE);
54 if((y<=0)&&(i!=0)) break;
57 printf("reached ground at step %d\n",i);