Grasshopper

algorithmic modeling for Rhino

im trying to generate a pattern on a predefined boundary or surface based on the following parameters:

a boundary edge not exceeding 75 units.

cell areas of 600 sq units.

a total number of 20 cells.

generating a voronoi pattern requires the points to be defined. is there a way that this pattern can be created based on areas? I tried "populate a region with points", but it only accepts a rectangle on the area.

what would be the best approach?

regards.

aditya

Views: 676

Replies to This Discussion

I'd generate a list of about 30 points with XY coordiantes (gene list) and put that into a voronoi. Cull the edge cells and keep the inner 20 ones. Calculate deviation from desired cell area for each cell. Form a fitness parameter from that. Region union all 20 cells and claculate length of border. Calculate fitness as deviation of border lenght from desired length. combine fitnesses.

Plug point coordinates as genes and combined deviation as fitness. Run galapagos.
Hannes, could you dumb it down a bit. There are too many terms that are new for me. In the meanwhile I will try and figure out what you mean by gene list and fitness parameter.

Gene-list is just a group of sliders. To create a list of 30 points, you wouldn't create 60 individual sliders but two lists with 30 genes each. One for  X and one for Y coordinate.

Galapagos is a generic (evolutionary) solver, that varies a set of "genes"(number sliders) and tests if the solution is "fit" (a number, in your case the combined deviation from your desiged areas/lengths). It starts out randomly and selects the best soluitons to create new ones...

As you only have the two constrains, a generic approach will be the best thing here. Although the use of voronoi cells already is a new constriant, that defines the look of the cells and the boundary. (like it will all be straight edges)

I'd post a definition, but I'm currently not able to use GH.

It will only be one list. Galapagos will not anticipate the function of any of the sliders, it can only adjust the sliders and evaluate the fitness of the result.

Well, if by boundary edge you mean the surface boundary 75x75/600<20

If boundary edge means the boundary of the voronoi cell you are also going to be way short of 600 units.

I can't imagine a scenario which wouldn't involve galapagos but the numbers you are asking for don't work (if I understand the question).

Hi joseph.

I shall rephrase the problem.

I have a site boundary of 16000 sq units.

I need to divide this into parcels of 300 to 600 sq units. 

I meant that the length of a  single edge may not exceed 75 units (in a straight line) I may or may not choose to fillet the edges later depending on how it maps out. 

20 cells is the minimum that i need but i still have a leftover area of 4000 sq units if thats the case.

The primary constraint is the length of the edge.

Hmm, I don't think even Galapagos is going to get you out of this one. We are limited to one fitness and you need to assess the length and area... Sorry.

what if i ignore the area parameter for now and try and generate voronoi pattern based only on edge length? and how can i assign a non-rectilinear plane or volume as a boundary to populate points for the voronoi?

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service