algorithmic modeling for Rhino

Views: 679


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

Join Grasshopper

Comment by Robert Vier on December 2, 2015 at 4:20am


Regarding the networks I am just speculating.

Dan Richards published a nice paper entitled 'Designing with Gradients', evolving complex functions with a fairly sophisticated algorithm. GH essentially is enabling the creation of big complex functions and gradients. In strange coincidence I've developed a plug-in for GH using the very same algorithm, but heading for different purposes now [see early tests here].

ANNs essentially just pass values around from one function-node to the other, where values get weighted on their way through connections. A (not very scalable) simple feed-forward version can be built by components in GH1. For performance reasons they have to be encapsulated into components.

Some applications can benefit from the use of different kinds of activation functions [see compositional pattern producing networks], of which the definition is difficult to be left to the user - except you've got equation-datatypes at hand!

Further, the above issue of performance could be eliminated if the arrangement of components on the canvas just defines the topology, and the final node contains a complex nested expression which essentially is the ANN then.

Comment by David Rutten on December 1, 2015 at 5:13pm

@Robert, I don't understand how neural networks enter into it, but yes, Equations (or Graphs) will be an integral data type in GH2. I don't really know yet how they are supposed to be manipulated by components other than an equation editor (shown above), but at the very least components like Add, Subtract, Multiply, Min, Max etc. will be able to take equations and output a mashup.

Comment by Robert Vier on December 1, 2015 at 6:47am


Will it be possible to pass functions / graphs / expressions downstreams to manipulate them in the next components? Like the one graph being the inner function of a written expression, or kind of neural networks with custom activation functions?



Comment by Martin D. on November 30, 2015 at 1:53pm
Slider compatibility sounds great, especially connected with galapagos! I bet you will find some nice solutions how to integrate them and also the mouse hover! It will probably work similarly smooth as the growing and shrinking + and - buttons when zooming into a component.

Counting the time when the mouse is close to a grip is difficult, because you would have to calculate continuously if the mouse is close to one right? Something that is normally calculated once you do a left click. Right click is not possible so that a different context menu than the normal Rhino context menu pops up? Pressing Ctrl to show it? Or mapping grips and mouse onto the screen as a 2D-space instead of 3D could help? I think that is a way how some Processing scripts do it, for catching points in space - performance wise probably still rather bad. But you probably thought already of all these solutions. Good luck! keep us updated ;)
Comment by David Rutten on November 30, 2015 at 7:22am

@Martin, yeah, I did a fair amount of googling and youtubing and pinteresting, but couldn't find a nice example anywhere. I couldn't even find a nice example of zoom-aware gridpaper.

The UI itself is still far from finished, the two major pieces left are scalar inputs (basically, sliders and option toggles) and grip insertion. At the moment grips can only be inserted using the context menu, which is very 10 years ago. I'm hoping to be able to provide all needed functionality without the need for any context menus whatsoever.

My current hope is that I can show some additional UI elements after the mouse stays on top of a graph for 0.5/1.0 seconds. But this is actually proving to be one of the harder problems so far...

Comment by Andy Payne on November 30, 2015 at 7:16am

Great blog post!

Comment by Martin D. on November 30, 2015 at 3:58am

Mathlab meets Illustrator? I am always surprised how you make rather technical and complex topics usable and appealing! 3D-Color Picker is another great invention, same as GH itself! The tools that we need to work with in a virtual 3D-space are still underdeveloped. So I am curious, you probably didn't find a similar solution for the new graph editor anywhere else, but had to develop it yourself as a logical consequence of your GH1 mistakes? Btw. again very nice blog-post, always like the technical detail and graphical explanations!

Comment by mark zirinsky on November 29, 2015 at 8:54am

great stuff! 





  • Add Photos
  • View All

© 2020   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service