From 0e6ad651cc05b55eca99057bd4ae1600dadacaab Mon Sep 17 00:00:00 2001 From: Ben Date: Wed, 27 Mar 2019 16:20:17 +0000 Subject: [PATCH] Properly implimented verlet intergration --- C++/Verlet Cloth/main.cpp | 42 +++++++++++++++++++++++++++++++++----- C++/Verlet Cloth/output | Bin 165992 -> 166512 bytes 2 files changed, 37 insertions(+), 5 deletions(-) diff --git a/C++/Verlet Cloth/main.cpp b/C++/Verlet Cloth/main.cpp index c615f4d..d5918f8 100644 --- a/C++/Verlet Cloth/main.cpp +++ b/C++/Verlet Cloth/main.cpp @@ -1,21 +1,40 @@ #include +#include #include #define OLC_PGE_APPLICATION #include "olcPixelGameEngine.h" +const float GRAVITY = 5.81f; +const float DRAG = 0.99f; + struct Vec2f { float x, y; }; struct MassPoint { Vec2f sPosition; - Vec2f sVelocity; + bool bLocked = false; // If true, the point will not be able to move + + MassPoint(Vec2f sPos) + : sPosition(sPos), + sLastPosition(sPos) { } void step() { - sPosition.x += sVelocity.x; - sPosition.y += sVelocity.y; + if (bLocked) return; + // Inertia + Vec2f sVelocity; + sVelocity.x = sPosition.x - sLastPosition.x * DRAG; + sVelocity.y = sPosition.y - sLastPosition.y * DRAG; + + sPosition.x += sVelocity.x; + sPosition.y += sVelocity.y + GRAVITY; + + sLastPosition.x = sPosition.x; + sLastPosition.y = sPosition.y; } +private: + Vec2f sLastPosition; }; class VerletCloth : public olc::PixelGameEngine { @@ -28,24 +47,37 @@ public: bool OnUserCreate() override { - sPoints.push_back({{ 100.0f, 100.0f }, { 1.0f, 4.0f }}); + sPoints.push_back({{ 1.0f, 1.0f }}); return true; } bool OnUserUpdate(float fElapsedTime) override { - Clear(olc::WHITE); m_fTimeCounter += fElapsedTime; if (m_fTimeCounter >= 0.016f) { + Clear(olc::WHITE); m_fTimeCounter = 0.0f; + + + for (auto& sPoint : sPoints){ + std::stringstream str; + str << "Pos: X:" << sPoint.sPosition.x << ":Y:" << sPoint.sPosition.y; + DrawString(0, 0, str.str(), olc::BLACK); + sPoint.step(); FillRect(sPoint.sPosition.x, sPoint.sPosition.y, 4, 4, olc::BLACK); } + + } + + if (GetKey(olc::ESCAPE).bPressed) + exit(0); + return true; } private: diff --git a/C++/Verlet Cloth/output b/C++/Verlet Cloth/output index 1316f47436d2f0f1c5ff46c3655b69144caec5dc..77e7d1ce5a52219b2e3730b474997d7ddccd5ce8 100755 GIT binary patch delta 47706 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 uzE~tl