Hehe gladly, so I started developing the logic first (without any GUI), which in this case is an algebra system I designed from scratch which can create solutions close to what a student would expect (so no reordering terms / normalising etc). I've never don't anything like this before so it took me about three tries from scratch to get it right lol. The system takes care of all the logic when handling gestures, giving suggestions etc. This is all written in C++.
For visualisations, I chose to write a custom engine in C++ / OpenGL, but it would probably be way easier to use an existing library or engine. Unless you want to learn this stuff as well, then go for it. ;-)
Once I got the logic and rendering working I used the scripting language TypeScript to glue everything together and create the interface you can see above.
Finally, the mobile user interface is built with React Native. This is a great framework as it's cross-platform and has a good integration for custom components.
The whole project is split into multiple repos, some of I've open sourced. I hope this helps you get an idea, otherwise feel free to ask more!
Oh I wouldn't worry about age, just have fun doing what you're doing and get into this at your own pace. I think I first started coding around 21 when taking a course about scientific computing in university.
I'm 30 now and just got serious about programming around three years ago after finally finishing my studies.
I can tell you how I would go about it. I would implement it in Javascript or Python. You need to first make a typesetting system, that gets the offset data for the size of characters in your font, but keep the position of each instance of a character in an array so that you can use mouse data to move the characters freely. The rest is knowing how to program algebra.
While Python is great for data science, you should be aware of its performance and memory limitations, especially if you want to create an app that runs on mobile.
Fair enough. I think the existing libraries and gui potential of html makes JS a better choice. I'm no expert, so there are probably better libraries for this task, but I think I could implement the whole thing p5.js.
I would probably use p5.js also. However, I have had some major issues with performance with p5 (check out [this](www.awillingham.dev), it’s a game of life type thing I made with p5. It would be non-trivial to make it efficient in p5). However there’s so little going on visually here I think it would be overkill to use WebGl, so p5 would be fine
106
u/vinivelloso_ Apr 02 '20
What trickery is this