_     _             
                        _ __ | |__ | | ___   __ _ 
                       | '_ \| '_ \| |/ _ \ / _` |
                       | |_) | | | | | (_) | (_| |
                       | .__/|_| |_|_|\___/ \__, |
                       |_|    ...2017-04-20 |___/ 

It's 22:04

The idiot upstairs is making noise, moving heavy things across a concrete floor, this is why I need to live in a house, I can't stand that kind of thing, and at the same time I want to be able to make noise myself whenever I want. Anyways, besides that, and being less productive than desired at work, the day has been nice. Had a nice pizza for lunch yesterday, and a good burger today, so, I wonder how I should poison myself tomorrow. After work I did a little bit of C++, pulled down my bouncy-ball project from github, got it compiling and started writing stuff, so now the balls react when they hit eachother. Making them react to impacting eachother in a believable way without simulating forces is a bit tricky, but I think it's maybe a bit more interesting, I got something working now, so I'll likely rewrite it to be more real physics, with inertia and masses and all that stuff :) While writing the code that checks collisions, I noticed I was basically checking every ball against every other ball, which is a lot more checks than are required, and it is close to O(n^2), so I thought about it and drew a little picture, 4 balls as an example: Ball Checks 1 | | | 3 checks 2 <-+ | | 2 checks 3 <---+ | 1 check 4 <-----+ Last ball has been checked by all.

So that's (n-1)+(n-2)+(n-3) Checks, or 4 checks, and no need to guard against

checking a ball against itself. I thought the sum could be expressed by the sum of the sequence (n-1)..(n-n) I know n-n is 0, but I thought it'd be a nice way to end it. Anyway, it happens that there's a name for this kind of number, it's a triangular number. Maybe I was just lucky with my drawing, but it so happens that the number of | coincides with the sum of the checks need to be done. The reason I drew it was because I had trouble determining if all the possible combinations of balls were checked against each other. They are, since the direction of the check does not matter (there's no reason to check both A and B, and B and A), which did become obvious to me at once. There's a nice formula on wikipedia for Triangular numbers which I can't at all understand, because I'm not schooled in mathematics, but I'm going to get up to speed on set theory and discrete mathematics one of these days, I proise! But it gives the same result as far as I can see, well, it's not entirely a triangular number, it's a triangular number with the base widest row missing, because we do not want to compare any balls to themselves. Anyway, close enough to be intresting, if you wanted, you could do (n-0)..(n-n) to get it. No art was created today.. and now, sleepytime! - OUT