stardance has been extended another month! the new deadline is october 31 :)

You are browsing as a guest. Sign up (or log in) to start making projects!

Aporia

  • 11 Devlogs
  • 30 Total hours

An interactive laboratory for exploring nonlinear dynamics, numerical integration, and chaos through the double pendulum.

Ship #1 ✨ Blessed

What did I make?

I made Aporia: Hear Chaos, a double pendulum simulation that lets you see and hear chaos.

Two almost identical pendulums, one tiny difference, and eventually two very different futures… Just physics being dramatic again, lol…

What was challenging?

Tbh, making the project itself was the biggest challenge for me, as I was a total Cpp beginner before starting it out, perhaps that’s why it took me so long to make this project?
But anyways, it started as one small C++ file and somehow became a collection of about 17 files and several opportunities to question my life choices.

Even in that ig, the hardest part was the Sonification, as Sound and waves are lwk my weakest parts of physics ;-;
And also the fact that I’m not used to making huge projects like these (yes, for me it’s huge 🗿), as the project grew bigger and bigger, I encountered another problem, that is I’d sometimes randomly forget what function did what and why and stuff like that…
which led to me finally learning the hard way why Comments are necessary in programming 🫠

I’m just proud that I was able to finish this project at all,, which looked like a mountain by the time I started,, but step by step, I was able to tame it.. :)

If you encounter an error like “damaged file” or smth while running Aporia, do read the Readme on it’s github repo where I’ve written down the steps to solve it..

And that’s it I believe?
It was fun 🍀
Thank you for reading all the way till here..!!
and Have an amazing dayy!!

  • 11 devlogs
  • 30h
  • 14.58x multiplier
  • 528 Stardust
Try project → See source code →
Open comments for this post

1h 38m 26s logged

Final of the final devlog

yep, turns out the build file had quite a few errors and things I should’ve fixed earlier but somehow never crossed my mind,,
.
along with the fact that I don’t have Apple verification or whatever it’s called 😭
.
Anyways, fixed all the issues I could see, and as far as Ik, none of them are left anymore (hopefully)… And now I can finally ship Aporia after some additional testing on other devices
.
Thank you once againn…!!
.
(Also as I don’t have any specific attachments, I’ll just add the home-page of aporia as the attachment this time…)

0
0
56
Open comments for this post

3h 41m 34s logged

Final Devlog

Functions I added today:

  • Mute / Unmute
  • Navigation
  • Controls menu

And finally completed the Readme, that took the most time out of all…
.
And now I can ship the project 🙃
I’ll keep it short as I’m in a bit of rush right now… but yeah…
.
It has been an incredible journey..!!
Thank you for being a part of it..!! 🦋

0
0
26
Open comments for this post

1h 32m 28s logged

Sonification

yes….! now you can hear your life chaos through the positions and the angular speeds of the double pendulums…
.
Specifically, the angular position determines the pitch and the angular speed determines the volume of the sound.
.
With that, all the core features of Aporia are completely in working condition.
That is, now the only things left are:

  • Making the design/typography better.
  • Making the sonification pleasant 🗿

Because, even though you can hear the pendulums diverge through the difference in pitch, the sound it creates is a bit…… uhh…… mathematical? 😭
.
Let me clarify, the sounds it generate are derived from a Sine wave… but two simultaneous sine waves can become unpleasant surprisingly quickly, because apparently even mathematics needs a volume limit 🗿🤷🏻‍♂️
.
So it sounds just like two aliens attempting to negotiate a treaty through a malfunctioning fax machine 💔…
Which can lead to a headache pretty quickly if not cautious… so that is another thing I need to work on…
.
And that’s it for today? There’s no attachment as the Mac screen recorder doesn’t support system audio… so it’d be redundant to attach it without audio anyways…. (let me just attach a meme lol)
.
Anyways.. thank you for reading this through…!! and
as always,
Good morning 🍀❤️‍🩹

0
0
34
Open comments for this post

4h 8m 9s logged

Interactive Screen

As the title suggests I added:

  • A home page
  • An experiment page
  • Made the exp. page interactive

Even though Ik the UI looks awful, but that wasn’t my priority atm, it was to make it interactive, to make sure the changes we do in the values reflect in the simulation….
.
Given the fact you know how much of a design freak I am, only I know how much I controlled myself from spending the entire night trying to fix the design… because apparently, projects like these have an instinctive desire to consume their creators…🗿
.
But anyways, the next step would be to add proper sonification to Aporia, and then fix the design…
.
I took me an awful lot to do all that yesterday,,,
Have you ever faced the thing, where you project becomes so huge, that you, yourself start getting confused about what things did what and why and stuff like that? 😭
Because now it has started happening to me, so from now on, I’ve decided to add comments to my code, for the sake of my future self 🤷🏻‍♂️.
.
And yeah, that’s it for today, I believe?
Guten Morgen anyways..!! 🥱👋🏻

0
0
133
Open comments for this post

1h 55m 21s logged

Atomic Difference

Ladies and gentlemen,
Both the pendulums started out only an “atom” apart.
I don’t think I need to provide any more context 🐱
.
They should always follow the same path, right? RIGHT? 😶‍🌫️
Let’s see….
.
.
.
Saw the video?
yep, they started only an “atom” apart, yet couldn’t even last a minute together….💔🥀 lol
.
Shows us how extremely small differences compound overtime in chaotic systems (like weather prediction systems, double pendulums, etc)
.
But anyways, the changes I made are too visible to list down, so I’ll let it be for now…. 🗿
.
Good Evening 🦋🤷🏻‍♂️

0
0
59
Open comments for this post

2h 32m 41s logged

Small updates

Hello there,, quite tired today, so I don’t think I’ll be able to write much in today’s devlog… let me just start by writing down the things I added in Aporia today:

  • Max Energy Error (helpful in comparing different integrators for a fixed amount of time)
  • Pause/ Play / Reset using keys
  • Increment the simulation by 1 step when paused by pressing N

I believe I shall complete this project this week if things go according to the plan, even though, I can also do the same in next 3 days, but I genuinely don’t love the idea of me working day in and day out like a caffeinated squirrel whose rent is due the next day…
So I’m trying to be a ‘bit’ reasonable here 😭
.
And, that’s it for the day, I believe..?
Happy Tuesday ig 🤷🏻‍♂️
& Good Morning 🥀
.
P.S. btw sorry if I sound a bit tired, many reasons, but a bad day doesn’t imply a bad life, so I’ll just keep moving 🙃
If you genuinely take time out to read my entire devlogs, then you’re the best lol (for me, at least)
❤️‍🩹 Thank you ❤️‍🩹

0
0
21
Open comments for this post

1h 58m 45s logged

Adding RK4 to the simulation

And guess what?
The Energy error dropped from roughly 10^(-1)% to
10^(-6)% orders of magnitude 💀
(Literally FIVE orders of magnitude lower 🫎)
.
When I first tried running the program after writing the code for RK4, the best I expected was like 10^(-2) ngl 🥀
.
Tho the problem is, I’m running both the versions for an arbitrary amount of time, and then trying to compare the error,
which lwk reminds me of atomic bomb vs coughing baby 😭💔
.
So my next goal shall be to script a comparer or some sort, which may output things like :

  • maximum energy error
  • final energy error
  • average energy error
  • number of steps
  • simulated time
  • etc

Should be fun lol,,
.
.
Also also, I tried one more thing, that is, I changed dt to 1 sec 💀
and guess what was the error % of RK4? 60% 💀
(literally 10^(-6) to 60% 💔)
which is basically the numerical equivalent of telling the laws of physics, “I have a better idea” 🗿✌🏻
.
But nevertheless, learned a lotttt today..!!
Holy productivity~~~ 🦋🥹
.
But anyways, that’s it for today,
Good Morning~!!

P.S. I think this project is lwk going in the right direction, the experimentation, the research, the learnings, new future features, all these things mean way more to me than making a random copy-paste project saying “I made a double pendulum go brrr” 😭
lol

0
0
88
Open comments for this post

2h 22m 51s logged

Rendering the Euler Hypothesis of Aporia

yeah, fancy title innit? 🥀 (sorry 😭💔)
.
but as the title suggests, I finally was able to render a basic simulation of Aporia with a single, double pendulum, that renders using the Euler Integration method (for now).
.
This is the first major step of the simulator… which shall become clear as we move towards the future with the speed of 1 sec per second (🗿)
.
Alr, keeping that aside, if you pay some attention to the stuff printing out in the console (in the video), that,,, is the energy difference oscillating (and the Energy Error), which ideally should be 0 (as energy is conserved in a closed system).
.
Which shows us that Euler integrator doesn’t just inject extra energy into the system, but also lets some of it bleed out (which shall become important later on as we compare different integrators).
.
And, that’s it for the day ig?
.
Thank you for reading it through..!!
Have a nice dayyy…!! 🌙

0
0
55
Open comments for this post

2h 47m 22s logged

Completed CLI / Math Engine

Ladies and gentlemen,
guess who finally completed the complete transfer of code structures and added Energy engine in Aporia? 😭
.
ngl, the experience was lwk tedious, rewriting old, long equations in new format just so they could cooperate with me as I make Aporia bigger instead of playing like a 2nd grader trying to solve a 12th grade question, and acting like everything is fine…🤷🏻‍♂️
.
I also divided the program in multiple files for the same reason, I really don’t love the idea of one source file having 800+ lines of code and some prayers where I’m trying to fix a bug on line 265, which turns out to be blank 🗿
.
With that, tomorrow I shall be starting the work on GUI and Rendering… so that it finally looks like a simulation… ❤️‍🩹
.
btw, Good Morning~~ 🥱

2
0
87
Open comments for this post

2h 41m 30s logged

Restarting Aporia

After abandoning the project due to some technical glitches on Stardance’s website, guess who’s back once the glitch got fixed? 🗿✌🏻
.
This devlog shall mark the beginning of a new start.
.
I had already completed the Physics Engine long ago,
ie. From today I’ll be focusing on finally completing the project along with GUI and Rendering…
.
P.S. Ik this one sounds a bit rushed, it’s because I’m running low on time and have many deadlines this month, so can’t spend too much time writing devlogs or else I’m cooked 🥹🐈 (tho I’ll try my best to properly write the ones that come after this fs)

0
0
25

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…