Comment by Sweepi

2 days ago

I could not get over the fact that 0,0 in d3 is the top left corner instead of the bottom left.

Why??

Everything in real life uses bottom left for 0,0! Probably because the first EGA/VGA accelerators worked this way to save one instruction in the most common use case and things never change....

It predates EGA. Most/all 8bit BASIC systems were top left, and they got it from somewhere earlier. Spreadsheets are top left, as are lots of other apps graphical or otherwise. The web (CSS, SVG etc). OpenGL etc etc.

CRTs scanned downwards, most people read downwards.

I would say that nearly everything in the real world (outside math) especially computer related uses top left as an origin.

  • > I would say that nearly everything in the real world (outside math) especially computer related uses top left as an origin.

    I concede that point, its not want to meant, but I did express my point poorly.

      My point is:
      - A lot of things work like books[1]: top-left to bottom-right
      - However, 99+ % of graphs (anything from revenue numbers to health data) in all mediums (books, newspapers, websites) use a bottom-left origin. Never seen a revenue bar growing from top to bottom. In fact, I dont remember the last time i have seen a graph not using the I. Quadrant. Do you?
      - D3.js (imo) is a lib to create graphs from data, but does not abstract this problem away? Why?
    

    [1] "western/latin"-style books ofc

It's not a d3 thing, it is an SVG thing. It's pretty much the standard for 2d computer graphics. Also same in CSS.

  • I know that it is a SVG thing[1], but wouldnt that be a point of sth. like d3 - to be a software that gives me the option to choose my coordinate system origin with one line of code and deals with all the bullshit internally?

    [1] and before that, a "every screen is a CRT TV with a photon gun that 'draws' lines, starting in the top left"-thing

Don't ever get into the field of computer vision or computer graphics then.

"Everything in real life" made me laugh out loud.