From 423e7e389d70daa8be0f0844a58aa410d99bb2dc Mon Sep 17 00:00:00 2001 From: Anthony Wang Date: Tue, 30 Jan 2024 00:33:18 +0000 Subject: Add stress test file --- script.js | 6 +++--- stress.html | 25 +++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 stress.html diff --git a/script.js b/script.js index 7946f62..3909b89 100644 --- a/script.js +++ b/script.js @@ -41,7 +41,7 @@ document.querySelectorAll("svg").forEach(function(svg) { } svg.querySelectorAll("path").forEach(function(path) { // Get circles on path for collision checking - let num = Math.floor(path.getTotalLength() / 5) + let num = Math.floor(path.getTotalLength() * 2 / rad) for (let i = 0; i <= num; i++) { const p = path.getPointAtLength(i / num * path.getTotalLength()) a.cm.x += p.x @@ -113,10 +113,10 @@ function collide(a, b, c, n) { // Collision of object a with wall at position k and direction d function wallCollide(a, k, d) { - if ((d == 0 && Math.abs(a.x - k) < a.r + rad) || (d == 1 && Math.abs(a.y - k) < a.r + rad)) { + if ((!d && Math.abs(a.x - k) < a.r + rad) || (d && Math.abs(a.y - k) < a.r + rad)) { let c = {x: 0, y: 0, cnt: 0} for (const p of a.p.map(x => rot(a, x))) { - if ((d == 0 && Math.abs(p.x - k) < rad) || (d == 1 && Math.abs(p.y - k) < rad)) { + if ((!d && Math.abs(p.x - k) < rad) || (d && Math.abs(p.y - k) < rad)) { c.x += p.x c.y += p.y c.cnt++ diff --git a/stress.html b/stress.html new file mode 100644 index 0000000..7e22356 --- /dev/null +++ b/stress.html @@ -0,0 +1,25 @@ + + + + Dumb physics engine + + + + + + + + + + + + + + + + + + + + + -- cgit v1.2.3-70-g09d2