I have a vague recollection of you (or someone on this forum!) pointing this library out to me before. Unfortunately I can't easily use it because it's Java, and my work is all in C#.
My physics library is doing well so far anyway. Probably isn't as numerically accurate as the one you have...
There are plenty of physics apps around already but most seem to just be words and pictures. I haven't found many that offer good simulators for proper textbook physics. So I made one.
Pure Physicist - Google Play
The underlying physics 'engine' uses the as yet incomplete University Physics...
Ha, I should probably change that. Several years have passed since then, and my academic path stopped after BSc.
I ended up going into software development... (but not the kind for which floating point errors are an issue!).
Indeed. Not sure what point you're trying to make there.
Yeah the 0.5% tolerance thing was a mistake. It's because I was primarily thinking of very small numbers, where floating point errors can easily cause a difference of 0.5%.
To be honest the project only started out as a hacky thing for...
I've added a disclaimer in the github project page warning folk that it's still in the very early development phase.
I can now wash my hands of all complaints if I decide to shuffle things around at will :oldlaugh:
There's already a suite of unit tests...
https://github.com/Stuart88/University-Physics/blob/master/University%20Physics%20Tests
Probably not perfect yet but it exists.
Yeah that's a fair point, and one which I never really considered. This was only supposed to be a bit of fun, but I might as well try to do things properly.
As a programmer I've never really had the responsibility of doing proper devops for something like this, where new releases need to stay...
For no reason at all :D
Fixed now.
You're probably right with this suggestion but it seems a bit of a rabbit hole to go down at the moment. I suspect every class will have issues like this. My aim was to first make classes that simply "do the maths/physics", then later go on an optimisation...
Very late update but I've been busy changing countries and starting a new job...
Thanks to @BeyondBelief96 for the first outside contribution, the ComplexNumber class :oldbiggrin:
https://github.com/Stuart88/University-Physics/wiki/Complex-Numbers
It does all basic complex number operations...
Project Update
Added VectorField class, especially useful for simulating motion in things like fluid dynamics.
Simply create a system of particles (or any class derived from PhysicsObjectBase)
List<Particle> myParticles = new List<Particle();
Random rand = new Random();
VelocityField vField...
Project Update
Started work on some https://github.com/Stuart88/University-Physics/tree/master/Thermodynamics.
It's all very simple stuff for now.
An energy converter:
EnergyConverter e = new EnergyConverter(500, EnergyMeasure.Joules);
// e.Joules = 500;
// e.ElectronVolts = 3.1208E21;
//...
C# is cross-platform, open source and free. Windows, Linux, Apple, Android, you name it (but you're right, Kotlin is 'winning' for Android - and Swift is the thing for iOS now).
Admittedly Java is still king for cross-platform, but C# is at least technically better 🧐
A very out of date opinion.
C# is number 5 in the TIOBE Index (it used to be 3rd!).
I follow programming trends and chatter much more closely than I follow physics. Among professional programmers, C# is generally considered to be "not quite as widely used but generally better than Java". It's...
Thanks, looks like a good resource.
I already saw OSP before I created this post. Looks like it could prove useful for some stuff, though I must admit I'm more keen to do my work 'from scratch', for the sake of my own learning. OSP is certainly good to have available anyway. I'll see how things...