Skip to content

fix: show height above lowest point in SimplePendulum info panel#324

Merged
mattqdev merged 1 commit into
physicshub:mainfrom
TechGenius-Karan:fix/simple-pendulum-height-display
May 22, 2026
Merged

fix: show height above lowest point in SimplePendulum info panel#324
mattqdev merged 1 commit into
physicshub:mainfrom
TechGenius-Karan:fix/simple-pendulum-height-display

Conversation

@TechGenius-Karan
Copy link
Copy Markdown
Contributor

📘 Pull Request Template – PhysicsHub

Thank you for contributing to PhysicsHub!
Please complete the sections below to help us review your pull request efficiently.


🔍 Description

What was wrong

The Height field in the Simple Pendulum info panel was always showing a large negative number (e.g. -2.4 m), even when the pendulum was just hanging still. This happened because the code was using -position.y to
calculate height.

The problem: the simulation uses a Y-up coordinate system where the anchor point sits at a large positive Y
value (90% of the canvas height in meters). So negating the bob's Y position doesn't give a meaningful height —
it gives a big negative number that doesn't relate to the pendulum's swing at all.

What the fix does

Height is now calculated as the bob's height above its lowest point (the equilibrium position at the bottom
of the swing):

height = position.y - (anchor.y - length)
  • At rest (0° angle) → 0.00 m
  • As the bob swings up → height increases correctly in metres ✓

Closes #5 (if applicable)


✅ Checklist

Before requesting a review, please ensure that you have:

  • Verified that the project builds and runs locally (npm run dev)
  • Ensured no ESLint or TypeScript warnings/errors remain
  • Updated documentation, comments, or in-code explanations where needed
  • Verified responsiveness across devices (desktop, tablet, mobile)
  • Followed the CONTRIBUTING.md guidelines

🎨 Visual Changes (if UI-related)

IF CHANGES ARE RELATED TO SIMULATIONS PLEASE SEND A SHORT CLIP ABOUT IT
(OBLIGATORY)


📂 Type of Change

  • 🐛 Bug fix (non-breaking change that fixes an issue)
  • ✨ New feature (non-breaking change that adds functionality)
  • 💥 Breaking change (fix or feature that would cause existing functionality to change)
  • 📝 Documentation update
  • ♻️ Refactor / code quality improvement
  • 🎨 UI/UX enhancement
  • 🔒 Security improvement

🧩 Additional Notes for Reviewers

The Height field in the info panel was displaying -position.y, which is
the negated Y-up physics coordinate. Since the anchor sits high up in
physics space, this always showed a large negative number unrelated to
the pendulum's actual swing height.

Fix: compute height as position.y - (anchor.y - length), which gives
the height above the bob's lowest point (equilibrium). This reads 0 m
at rest and increases correctly as the bob swings up.
@mattqdev mattqdev merged commit 4dd1e3e into physicshub:main May 22, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants