예제 #1
0
static inline void parse_input() {
/*
    i["h"] = 122.0
    i["a"] = 1.0
    i["d"] = 2.0
    i["alpha"] = 2.0
    i["delta"] = 1.0
    i["t_0"] = 0.0
    i["t_inicial"] = 0
    i["theta_crit"] = 1050 #?
    i["theta_0"] = 1000.0
    i["pos"] = (1.0, 1.0, 1.0)
    i["vel"] = (1.0, 1.0, 1.0)
    i["steps"] = 20
*/
	capsule.h = 122.;
	capsule.a = 1.;
	capsule.d = 2.;
	capsule.alpha = 2.;
	capsule.delta = 1.;
	capsule.t_0 = 0.;
	capsule.t_inicial = 0.;
	capsule.theta_crit = 1050.;
	capsule.theta_0 = 1000.;

	v3d_set(&capsule.pos, 1., 1., 1.);
	v3d_set(&capsule.vel, 1., 1., 1.);

	capsule.steps = 20;	
}
예제 #2
0
void v3d_copy(v3d *res, v3d *a) {
	
	assert(res != NULL);
	assert(a != NULL);

	v3d_set(res, a->x, a->y, a->z);
}
예제 #3
0
static inline void parse_input() {
/*
    i["h"] = 122.0
    i["a"] = 1.0
    i["d"] = 2.0
    i["alpha"] = 2.0
    i["delta"] = 1.0
    i["t_0"] = 0.0
    i["t_inicial"] = 0
    i["theta_crit"] = 1050 #?
    i["theta_0"] = 1000.0
    i["pos"] = (1.0, 1.0, 1.0)
    i["vel"] = (1.0, 1.0, 1.0)
    i["steps"] = 20
*/
	
	FILE *arq;

	arq = fopen("entrada.txt","rt");   /* Arquivo ASCII, para leitura */


	capsule.h = prox_linha(arq);
	capsule.a = prox_linha(arq);
	capsule.d = prox_linha(arq);
	capsule.alpha = prox_linha(arq);
	capsule.delta = prox_linha(arq);
	capsule.t_0 = prox_linha(arq);
	capsule.t_inicial = prox_linha(arq);
	capsule.theta_crit = prox_linha(arq);
	capsule.theta_0 = prox_linha(arq);

	float x, y, z;
	fscanf(arq, "%f %f %f\n", &x, &y, &z);
	v3d_set(&capsule.pos, x, y, z);

	fscanf(arq, "%f %f %f\n", &x, &y, &z);
	v3d_set(&capsule.vel, x, y, z);

	capsule.steps = prox_linha(arq);	

	fclose(arq);
}