algorithmic modeling for Rhino

Grasshopper 2.0 (alpha) Colour Picker

Putting the various colour models I coded up together into a single UI. Still a long way to go, but it's getting close to usable.

Colour models implemented so far: sRGB, HSV, CMY, L*a*b*, H*SP (similar to HSL, but with a human-centric luminance metric and non-linear hue angles) and Yxy (aka CIE Chromaticity).

I'm still hoping to add two more models of my own devising, one that should help with picking nice shades of various browns (ever notice how hard that is in conventional pickers?) and a multi-dimensional object which provides quick access to a whole range of modification axes.

Views: 430


You need to be a member of Grasshopper to add comments!

Join Grasshopper

Comment by Armin Seltz on March 29, 2017 at 12:51pm

David, this looks incredible. I love your attention to detail and good UI design! A few points and wishes about Color in GH:

1. It would be great to get Swatches I can save from within the colorpicker and maybe the last 10 or so that I have created

1b. I also like the idea of shades of color and some preset color swatch libraries like Rhino has or being able to load our own.

2. I mostly use the color picker for setting the color of groups to organise files. Again here swatches would be so great, because I hate having to always eyeball it to get the same color or set it as default just to create several groups with the same color.

2b. Related to that is that please please pleeeaase let us edit more than 1 group at a time. Why cant I select several groups and set a color at once? Actually all group functionality should work with several groups and not just the one I right-click over. Using the Edit > Ungroup when having multiple groups inside a larger group selected also doesnt work and creates some sort of visual bug - I just noticed it now, will post separately.

3. The color picker should also pick transparency from other groups and not the actual on-screen pixel color, so that I can use the color picker to recreate the color of another group. Right now this isnt possible as groups are by default somewhat transparent, so if I pick a color it always comes out several shades darker.

Thanks for considering and keep up the amazing work!

Comment by tangchi on March 28, 2017 at 10:35pm

your work is aways awesome!

Comment by Anders Holden Deleuran on March 28, 2017 at 12:45am

From my earlier tests the same behaviour is true for the C# scripting component (see this post).

Comment by Tomas Vinkevicius on March 27, 2017 at 1:49pm

And probably yes, normally you are not outputting 1 million strings:)

Comment by Tomas Vinkevicius on March 27, 2017 at 1:48pm

Maybe this is just python.

In this case I just outputting strings not a special type.

And this is not the first time component runs:

Comment by David Rutten on March 27, 2017 at 11:01am

I think Giulio has already been improving that part of the Python component. Hopefully we will see some performance improvement here soon.

Comment by Anders Holden Deleuran on March 27, 2017 at 8:40am

Hi David, I take it that Tomas is talking about the same issue described here (in point number 3) and more recently here. Also a couple of workarounds described in both cases. Hope that helps to clarify this concern a bit.

Comment by David Rutten on March 27, 2017 at 8:30am

+Tomas, not really on-topic but fine. The transfer mechanism will be quite different. There will be fewer conversions and type checks, and those that are still needed have been multi-threaded. This code has been written and was summarily tested, however it has not run yet in a production environment so it's hard to comment on its performance characteristics.

However it is not my experience that transmitting data is a major timehog, and I sort of doubt you're pumping 3 million Kangaroo goals from one component to another. How many data items are we talking about and what sort of parameters are involved? The problem may be with an unfortunate interaction between the goal type and the parameter. Or maybe there's something inside the goal type which is taking longer than it should.

Comment by Tomas Vinkevicius on March 27, 2017 at 8:22am

Is in GH 2 transfering large amount of data between components will be solved?

Now it takes lots of time if for instance I output big list of let say kangaroo goals.

If I wrap it inside a list of lists, a data type that is not recognized by gh it takes no time.

But of course then I need to unwrap via scripting. I am just wondering what is eating the memory. 

Comment by Christian Schmidts on March 24, 2017 at 5:39am

Beautiful! It almost reminds me of the color studies of the Bauhaus guys (Itten & co)

I would also agree to 4). More palette picking or defining regions in this color spaces would be great. Its true that you can do already a lot with the color wheel and gradient already but sometimes i would even want to have more control like define different regions and also more control over the proportions and even the order they are outputted. I know gh lets you build such tools but still it would be nice to have some thing very intuitive and interactive..





  • Add Photos
  • View All

© 2021   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service