Пример #1
0
void Cuerpo::actualizar()
{
    double const_g = 6.67384e-11;

    for(std::list<Cuerpo*>::iterator iter = cuerpos_cercanos.begin(); iter != cuerpos_cercanos.end(); iter++){
        Cuerpo *cuerpo = *iter;

        double angulo = anguloCuerpo(*iter);

        double num_x = (const_g * cuerpo->getMasa()) * cos(angulo);
        double num_y = (const_g * cuerpo->getMasa()) * sin(angulo);
        double den = pow(distanciaCuerpo(*iter),2);

        acel_x = acel_x + num_x/den;
        acel_y = acel_y + num_y/den;
    }

    vel_x = vel_x + acel_x;
    vel_y = vel_y + acel_y;

    pos_x_prev = pos_x;
    pos_y_prev = pos_y;

    pos_x = pos_x + vel_x + acel_x/2;
    pos_y = pos_y + vel_y + acel_y/2;
}
Пример #2
0
Cuerpo::Cuerpo(const Cuerpo &cuerpo){
	posicion=cuerpo.getPosicion();
	masa=cuerpo.getMasa();
	fuerza=cuerpo.getFuerza();
}