Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I was a physicist for a time and I learned physics via numerical simulation: I would find problems I could solve by hand and code them up---solving integrals, derivatives, systems of equations all numerically and comparing the results. Only a handful of physics problems have closed-form solutions, and being able to turn an interesting problem into code and "play around with it" was enormous fun for me and helped me build intuition as well. This advice strongly depends on your mathematics background, but with some basic calculus you can already start playing around.


Just to add my own two cents here: while I absolutely agree that numerical simulation is a great approach for understanding physics, the canonical closed-form solutions really are a necessary step for building an intuitive understanding of principles like symmetry and the importance of choosing useful reference frames. These are things that are very well complemented by building numerical models (and I think it would be tough to build those models without that understanding of concepts like that in the first place), but it's important to recognize that it's very difficult to skip directly to the numerical models stage.

As I said, I think the parent covered that, but just wanted to try to make it a little more explicit.


I've been taking a similar approach and pursuing this topic by getting into Computational Fluid Dynamics and understanding physics in code first, then trying to bridge the code to the more rigorous mathematical representation.

This is after I tried reading a bunch of physics books and, while interesting, I couldn't really get my head around "Ok, so how would I program something like that?"

But then there's this, you might find it interesting, it helped me understand how everything fits together a lot more: https://github.com/barbagroup/CFDPython

Also, physics is a big area, so this is just one part, specifically the physics of fluid simulation. But there's a big market behind CFD too, so you could do worse in picking something with some directly practical application.


This sounds interesting! Could you talk a bit more about what sources you used to find problems and learn from that translated well to this approach?


The Applications chapter in the "Introduction to High Performance Scientific Computing" book [0] (it's freely available as a PDF) has some chapters dedicated to relevant computational physics problems, i.e., Molecular Dynamics, N-body problems, and Monte Carlo methods (e.g., for approximating integrals).

The book has been posted on HN in the past [1]

[0] http://pages.tacc.utexas.edu/~eijkhout/Articles/EijkhoutIntr...

[1] https://news.ycombinator.com/item?id=19827993


Math for Game Programmers - Jorge Rodriguez. There is a playlist on youtube.

Game programming is an underrated/underused tool to teach math, physics and programming.


Game engine implements only a tiny slice of physics science, and even that in very distorted smoke-and-mirrors way in order to make it run in realtime. You learn more about computational optimizations, numerical methods and linear algebra, while physics is mostly elementary level. For example, all of optics is stuffed into highly optimized and simplified rendering pipeline and "physically based rendering" is anything but.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: