cool, nice start…
this is a choice, on our ends, but it is totally open for discussion!
there is a logical reason, which is that it makes much more sense, in animation terms, that the bottom is lower than the top. For example, if an object is falling, it makes sense that it’s “y” position is changing negatively:
ypos = ypos - 1;
on the flip side, it does mean that images and typefaces have an unnatural 0,0 position (bottom left) as opposed to the more natural top left. Also, as you mention, many programs use the top left corner as the 0,0…
the other reason for it is historical - openframeworks is based on a closed source library called acu, developed colletively at MIT’s media lab under John Maeda, and used in the work of many members of the ACG, including Ben Fry, Casey Reas, Golan Levin, Peter Cho, and all. In acu, the lower left corner was 0,0 - and this was something that I have really gotten used to over time.
Acu was also a precursor to processing, and somehow they have made the switch to the 0,0 in the top left corner - likely for the same reasons you mention.
I think your point is a good one and I will take a look now at how hard it might be to flip the coordinate system, or make it optional, so that each user could choose what they want: (0,0) in the lower left or the top left…
In the meantime, you can just replace all of your draw commands like this:
It’s not the most beautiful code wise, but it will flip the coordinate system to one you are more used to.
I’d be interested to hear from other users? what do you think of lower-left vs. top-left corner at 0,0 ? does it throw you off ?
thanks ! zach