Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cushion bounce physics by Mathaven #158

Open
tailuge opened this issue Nov 25, 2024 · 7 comments
Open

Cushion bounce physics by Mathaven #158

tailuge opened this issue Nov 25, 2024 · 7 comments

Comments

@tailuge
Copy link

tailuge commented Nov 25, 2024

Hi Evan,

I work on another pool project (you previously helped me with spin physics) and I recently improved the cushion bounce based on the paper by Mathaven.

https://github.com/tailuge/billiards?tab=readme-ov-file#cushion-bounce

I just thought I'd let you know in case you want to try to port it into this project - the paper is tough but I found that LLMs are pretty good at filling in the gaps it had and I really enjoyed recreating the figures from the paper to convince myself it was working. The feeling in game of how spin works on cushions is definitely better than the previous model by Han.

Wishing you all the best

Luke

@ekiefl
Copy link
Owner

ekiefl commented Nov 28, 2024

Hey @tailuge it's great to hear from you. Congrats on implementing Mathavan's cushion bounce! I remember you doing considerable validation/invalidation of the Han model.

Your typescript solution looks really clean. Perhaps I should ask ChatGPT/Claude to simply convert your solution to Python :D

That's awesome you recreated the figures in the paper. Did you find any discrepancies?

By the way, someone (@derek-mcblane) just recently tagged you in the #general channel of the Discord.

@tailuge
Copy link
Author

tailuge commented Nov 29, 2024

I can highly recommend using the LLMs - not because they get it right but they have a stab at it and its easy to correct things from there. Its quite a bit of fun trying to get them on the right tracks - right now I'm hoping to get this throw effect https://billiards.colostate.edu/technical_proofs/new/TP_A-14.pdf by prompting with this markdown

(I think you have this modelled with Mathaven ball-ball https://github.com/jzitelli ) .

@tailuge
Copy link
Author

tailuge commented Dec 7, 2024

https://github.com/tailuge/billiards?tab=readme-ov-file#collisions Ball-Ball model based on Alciatore. Not as much help from the LLMs on this one but the thrill of trying kept me going. It is quite a nice model as it is non iterative and feels good when playing. I am tempted to convert the python code from your project for ball-ball mathaven into typescript and see how those graphs look.

@derek-mcblane
Copy link
Collaborator

@tailuge
Copy link
Author

tailuge commented Dec 7, 2024

Very interesting, I already see some constant factors that I didnt use (5/9!) - I'll have to perfect the LLM trick of translating python to typescript then I can try plotting graphs and comparing. Thanks.

Here is a dead straight shot with maximum left hand side - you can see the paths of the balls thrown off (feels about right, but it could be a bit much)

https://scoreboard-tailuge.vercel.app/api/replay/82

@derek-mcblane
Copy link
Collaborator

derek-mcblane commented Dec 7, 2024

@tailuge, okay looking at your example shot and the math in your README, I think you ignored the change in angular velocities for the balls. That's like what Dr. Dave does in TP A-5, but it's not really very realistic.

I keep putting off writing up the full solution in a presentable way because there is more interesting pool simulator work to do haha, but I'm happy to share with you when I have something.

@tailuge
Copy link
Author

tailuge commented Dec 8, 2024

I updated the readme to cover the angular velocity change I apply - but since it is not covered in the Alciatore paper I referenced it is just common sense guess. I'll look into the other paper you mentioned. My top tip get the LLMs to write the latex markdown... ha. How would you rate the realism of your model Alciatore vs the Mathaven one in pool tool?

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

No branches or pull requests

3 participants