xLightsSequencer / xLights

xLights is a sequencer for Lights. xLights has usb and E1.31 drivers. You can create sequences in this object oriented program. You can create playlists, schedule them, test your hardware, convert between different sequencers.
GNU General Public License v3.0
556 stars 209 forks source link

Enhancement Request: Move to a Z-up world #1409

Closed jarogers closed 5 years ago

jarogers commented 5 years ago

I see this comment was deleted from #1407 and then you locked me out of my own issue report, I can only imagine that was in effort to carry on the discussion in a different place, and there isn't some sort of Marxist-Leninist censorship going on. So here we go! (again)

There are certainly many scholarly (and non-scholarly articles) that you can find out there with a quick google search of Y-up vs Z-up world). And to some degree the argument could be analogous to 5V vs 12V pixels. But in summary:

Origins of a Y-up world are rooted in 2D user interfaces and game animation. Where in the former a 3D world was never envisaged in software design and 3D interfaces ended up being an afterthought where it was just easier for developers to assign the new concept of depth to the a new letter rather than refactor existing code, and in the later it takes it roots even earlier in a time with the likes of Disney and Hanna-Barbera animation studios, where cartoon plats were layered on top of one another, vertically (in the real world Z) in tall filming apparatus known as multiplane cameras where that Z axis became the cartoon's depth on screen leaving for Y to be up.

In the world of drafting, computer aided drafting, computer aided modeling - more specifically having to do with engineering, industrial design, and architecture. Z-up is always preferred. In fact, a Z-up world is mathematically correct.

Anyways, I suppose a cheeky question would be: Do we want xLights to be closer related to Micky Mouse, or Leonardo Da Vinci...

I understand that when 2D modeling was first implemented in xLights, it may have made sense to stick to X and Y coordinates, and probably a 3D world was never envisaged at that time, however we have what may probably be the last opportunity now to change to a more accurate Z-up world. Given that 3D has just been released for general use just days ago, the user disruption to make the move now would likely be at its lowest point. You go through a conversion process on first open and save in 2019.x to move from a 2D world to a 3D world so converting Y-up to Z-up could be done at the same time for those moving from earlier versions to 2019.x. And those using xLights for the first time in 2019 would start, intuitively, from a Z-up world.

I should note that I am a Mechanical Engineer, so I do have extensive experience with 2D and 3D CAD/CAM - and from that training and experience Z is always up. I also am quite involved with lighting design for a semi-professional theatrical stage production company, and all of the 3D modeled stage lighting applications I've used also play in a Z-up world. FWIW.

I just had to add this, it gets good near the end: https://www.youtube.com/watch?v=YdHTlUGN1zw

dkulp commented 5 years ago

Agree with Gil. This won't be implemented.