Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 1455 → Rev 1456

/demos/trunk/orbit/orbit.c
18,11 → 18,11
 
/*
------------
CVS : $Id: orbit.c,v 1.7 2004-05-23 12:58:46 giacomo Exp $
CVS : $Id: orbit.c,v 1.8 2004-05-23 19:30:33 giacomo Exp $
 
File: $File$
Revision: $Revision: 1.7 $
Last update: $Date: 2004-05-23 12:58:46 $
Revision: $Revision: 1.8 $
Last update: $Date: 2004-05-23 19:30:33 $
------------
*/
 
58,7 → 58,7
#include <drivers/shark_fb26.h>
#include <drivers/shark_keyb26.h>
 
#define MAX 10 /* numero massimo pianeti */
#define MAX 11 /* numero massimo pianeti */
#define XMAX 639 /* valore massimo coordinata X */
#define YMAX 479 /* valore massimo coordinata Y */
 
71,7 → 71,7
 
int flen; // file length
 
float mass[MAX]; /* vettore masse pianeti */
double mass[MAX]; /* vettore masse pianeti */
struct coord pos[MAX]; /* vettore posizioni attuali */
struct coord vel[MAX]; /* vettore velocita' iniziali */
 
78,14 → 78,14
int XGS, YGS; /* Coordinate centro spazio */
int RP, RT; /* raggio pianeta, raggio Terra */
int np; /* numero attuale di pianeti */
float G; /* Gravitazione Universale */
float tick; /* tick di sistema */
float delta; /* incremento temporale */
float scala; /* fattore grafico di scala */
double G; /* Gravitazione Universale */
double tick; /* tick di sistema */
double delta; /* incremento temporale */
double scala; /* fattore grafico di scala */
 
char fbuf[1000] ="\
----------------------------------------------------\n\
period: 20000 wcet: 1000\n\
period: 10000 wcet: 500\n\
delta: 1. scala: 150.\n\
G: 6.6e-15\n\
r_pianeta: 4 r_Terra: 8\n\
92,17 → 92,17
X_centro: 320 Y_centro: 240\n\
------------------- pianeti ------------------------\n\
massa pos.x pos.y vel.x vel.y\n\
0: \t6.0e21 \t0. \t0. \t0. \t0. \n\
1: \t1.0e21 \t10000. \t8000. \t-60. \t0. \n\
2: \t1.0e8 \t5000. \t0. \t0. \t80. \n\
3: \t5.0e18 \t10000. \t8000. \t-50. \t0. \n\
4: \t1.0e9 \t10000. \t8000. \t-40. \t20. \n\
5: \t1.0e15 \t1000. \t5000. \t-80. \t0. \n\
6: \t1.0e5 \t1000. \t5000. \t-80. \t0. \n\
7: \t1.0e17 \t1000. \t5000. \t-80. \t0. \n\
8: \t1.0e5 \t1000. \t5000. \t-80. \t0. \n\
9: \t1.0e5 \t1000. \t5000. \t-80. \t0. \n\
10: \t1.0e5 \t1000. \t5000. \t-80. \t0. \n\
0: \t 6.0e21 \t 0. \t 0. \t 0. \t 0. \n\
1: \t 1.0e21 \t 10000. \t 8000. \t -60. \t 0. \n\
2: \t 1.0e8 \t 5000. \t 0. \t 0. \t 80. \n\
3: \t 5.0e18 \t 10000. \t 8000. \t -50. \t 0. \n\
4: \t 1.0e9 \t 10000. \t 8000. \t -40. \t 20. \n\
5: \t 1.0e15 \t 1000. \t 5000. \t -80. \t 0. \n\
6: \t 1.0e5 \t 1000. \t 5000. \t -80. \t 0. \n\
7: \t 1.0e17 \t 1000. \t 5000. \t -80. \t 0. \n\
8: \t 1.0e5 \t 1000. \t 5000. \t -80. \t 0. \n\
9: \t 1.0e5 \t 1000. \t 5000. \t -80. \t 0. \n\
10: \t 1.0e5 \t 1000. \t 5000. \t -80. \t 0. \n\
----------------------------------------------------\n";
 
// -------------------------------------------------------
272,8 → 272,7
{
int x = 0;
int i;
float vx, vy, px, py;
char temp[100];
double vx, vy, px, py;
flen = strlen(fbuf);
 
287,15 → 286,15
 
while ((fbuf[x] != ':') && (x < flen)) x++;
x++;
sscanf(&fbuf[x], "%f", &delta);
sscanf(&fbuf[x], "%lf", &delta);
 
while ((fbuf[x] != ':') && (x < flen)) x++;
x++;
sscanf(&fbuf[x], "%f", &scala);
sscanf(&fbuf[x], "%lf", &scala);
 
while ((fbuf[x] != ':') && (x < flen)) x++;
x++;
sscanf(&fbuf[x], "%f", &G);
sscanf(&fbuf[x], "%lf", &G);
 
while ((fbuf[x] != ':') && (x < flen)) x++;
x++;
323,27 → 322,24
 
while ((fbuf[x] != '\t') && (x < flen)) x++;
x++;
sscanf(&fbuf[x], "%f", &mass[i]);
sscanf(&fbuf[x], "%lf", &mass[i]);
 
while ((fbuf[x] != '\t') && (x < flen)) x++;
x++;
sscanf(&fbuf[x], "%f", &px);
sscanf(&fbuf[x], "%lf", &px);
 
while ((fbuf[x] != '\t') && (x < flen)) x++;
x++;
sscanf(&fbuf[x], "%f", &py);
sscanf(&fbuf[x], "%lf", &py);
 
while ((fbuf[x] != '\t') && (x < flen)) x++;
x++;
sscanf(&fbuf[x], "%f", &vx);
sscanf(&fbuf[x], "%lf", &vx);
 
while ((fbuf[x] != '\t') && (x < flen)) x++;
x++;
sscanf(&fbuf[x], "%f", &vy);
sscanf(&fbuf[x], "%lf", &vy);
 
sprintf(temp,"[M = %f, Px = %f, Py = %f, Vx = %f, Vy = %f]",mass[i],px,py,vx,vy);
grx_text(temp, 10, 20+10*i, vga16color[15],0);
 
pos[i].x = px; pos[i].y = py;
 
vel[i].x = vx; vel[i].y = vy;