mclarkk / lifxlan

Python library for accessing LIFX devices locally using the official LIFX LAN protocol.
MIT License
508 stars 116 forks source link

[Feature Request] Rotation angles for tiles #86

Open mclarkk opened 6 years ago

mclarkk commented 6 years ago

The LIFX app assumes that the tiles are all aligned to a grid, but it's possible to hang the squares at arbitrary angles of rotation. Tile objects in lifxlan should support adding rotation angles that the library uses to internally transform the display data.

natn commented 6 years ago

Yes Please!

That seems like a higher level of spacial abstraction than has been implemented so far. Would this then place the tiles on a virtual canvas of some type?

One of the things I plan to do with the tiles, is to implement a plasma effect (https://en.wikipedia.org/wiki/Plasma_effect ), image display or other pattern on a canvas that is the bounding box around the physical tile configuration, then display the portions of the effect that are visible through the tile "windows".

The idea of having the tiles/windows arbitrarily rotated on that canvas opens up some interesting ideas. When I was planning the wall position of the tiles, I had considered a pattern with some of the tiles rotated 45 degrees, but was deterred by the behavior of the stock Lifx App.

mclarkk commented 6 years ago

Would this then place the tiles on a virtual canvas of some type?

Yes, exactly! I'm not yet sure how much effort it will take, but I'm sure it's doable. Let's make that plasma effect happen :)

natn commented 6 years ago

Hopefully your hacking today went well! I am ready to start hacking my tiles anytime, so if you need help getting the base implementation done let me know. I'm no Python guru, but I'll help any way that I can!

netmanchris commented 4 years ago

Has there been any movement on this? Thinking that adding a move_left, move_up, move_down, move_right might be a good start to manipulating images. Any interest in those functions as well?