Exemple #1
0
//----------------------------------------------------------------------------
void Simulation ()
{
    // set up the physics module
    PhysicsModule kModule;
    kModule.Gravity = 1.0;
    kModule.Mass = 0.1;

    double dTime = 0.0;
    double dDeltaTime = 0.001;
    double dQ = 1.0;
    double dQDer = 0.0;
    kModule.Initialize(dTime,dDeltaTime,dQ,dQDer);

    // run the simulation
    ofstream kOStr("simulation.txt");
    kOStr << "time  q  qder  position" << endl;
    const int iMax = 2500;
    for (int i = 0; i < iMax; i++)
    {
        double dX = dQ, dY = dQ*dQ, dZ = dQ*dY;

        char acMsg[512];
        sprintf(acMsg,"%5.3lf %+16.8lf %+16.8lf %+8.4lf %+8.4lf %+8.4lf",
            dTime,dQ,dQDer,dX,dY,dZ);
        kOStr << acMsg << endl;

        kModule.Update();

        dTime = kModule.GetTime();
        dQ = kModule.GetQ();
        dQDer = kModule.GetQDer();
    }
}
Exemple #2
0
//----------------------------------------------------------------------------
void BeadSlide::Simulation ()
{
	// Set up the physics module.
	PhysicsModule module;
	module.Gravity = 1.0;
	module.Mass = 0.1;

	double time = 0.0;
	double deltaTime = 0.001;
	double q = 1.0;
	double qDot = 0.0;
	module.Initialize(time, deltaTime, q, qDot);

	// Run the simulation.
	std::string path = ThePath + "simulation.txt";
	std::ofstream outFile(path.c_str());
	outFile << "time  q  qder  position" << std::endl;
	const int imax = 2500;
	for (int i = 0; i < imax; ++i)
	{
		double x = q, y = q*q, z = q*y;

		char message[512];
		sprintf(message, "%5.3lf %+16.8lf %+16.8lf %+8.4lf %+8.4lf %+8.4lf",
		        time, q, qDot, x, y, z);
		outFile << message << std::endl;

		module.Update();

		time = module.GetTime();
		q = module.GetQ();
		qDot = module.GetQDot();
	}
	outFile.close();
}