Stellarium / stellarium

Stellarium is a free GPL software which renders realistic skies in real time with OpenGL. It is available for Linux/Unix, Windows and macOS. With Stellarium, you really see what you can see with your eyes, binoculars or a small telescope.
https://stellarium.org
GNU General Public License v2.0
7.36k stars 804 forks source link

Skyculture constellations: separate stickfigure colors #1693

Open dmonty2 opened 3 years ago

dmonty2 commented 3 years ago

I'm working on "constellationship" with constellation lines that overlap or share lines.

Current cumbersome solution: create and maintain three separate skycultures then toggle back and forth to see how the constellations are separate as well as how they interact with each other:

  1. even constelationship ( which don't intersect )
  2. odd constelationship ( which don't intersect )
  3. combined constelationship ( which intersect )

Proposed change/solution: ability to choose different colors for constellation lines in a Skyculture.

In the View Options=>Starlore tab next to constellation lines there is a single color chooser for all constellation lines. I'm guessing it would be most beneficial to allow the end user to choose the colors instead of the constellationship.fab developer. So the constellation lines picker would need 3-4 colors as well as a new constellationshipcolor.fab that would be used to chose between the 3-4 colors. Having a constellationshipcolor.fab file would allow for backward compatibility instead of using existing constellationship files to tag color codes. Format would be something like: Constellation1 ColorA Constellation2 ColorB Constellation3 ColorA Constellation4 ColorC

This will allow for something like:

For shared lines the colors would have to alpha blend where they intersect. Alpha-blend would be nice as it would auto blend colors as well as show stars that might be slightly hidden behind the line.

I am a software developer and at first glance it looks like the code do draw the lines is in src/core/modules/Constellation*.cpp as well as gui/ViewDialog.cpp

github-actions[bot] commented 3 years ago

Thanks for adding your first issue to Stellarium. If you have questions, please do not hesitate to contact us.

github-actions[bot] commented 3 years ago

Hello @dmonty2! Thank you for this suggestion.

gzotti commented 3 years ago

We have much larger plans under the working title "Skycultures 2.0", to be started after the switch to Qt6. Different color per constellation line set is none of them, though. You could right now add colored artwork, or code your stick figures as constellations/asterisms/ray_helpers, so you already have 3 colors (although somewhat misused). It may be enough for your private content.

For a more general solution, you would need some dynamical system with an extra panel that allows selecting colors for each constellation of a skyculture. Such a panel could also be used to toggle each constellation visibility. However, this needs to work for each skyculture. That's far from a short&easy task.

BTW the "hip" in "constellationship" derives from Hipparcos. It's not any -ship.