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; |