For me, I set out to write a flight simulator from scratch following a book [1]. I learned a lot of linear algebra that way. Such that when I later took Calculus III in college (it was linear algebra) I aced the class.
(Also, reinforced what I remembered from Trig, I finally fully grokked it. Except for trig identities, ha ha.)
The book was targeting DOS and C++. I wrote it in C for the Macintosh. (That required that I figured out what was going on.)
Go write one in JavaScript using an HTML5 canvas as your buffer. (I made a quick pass at doing something similar [2] — but do it on your own, don't follow my link below or look for the sources for Phosphor3D on GitHub.)
(Also, reinforced what I remembered from Trig, I finally fully grokked it. Except for trig identities, ha ha.)
The book was targeting DOS and C++. I wrote it in C for the Macintosh. (That required that I figured out what was going on.)
Go write one in JavaScript using an HTML5 canvas as your buffer. (I made a quick pass at doing something similar [2] — but do it on your own, don't follow my link below or look for the sources for Phosphor3D on GitHub.)
[1] https://archive.org/details/build-your-own-flight-sim-in-c-d...
[2] https://engineersneedart.com/Phosphor3DTest/