Grasshopper

algorithmic modeling for Rhino

Hi all, I am new to grasshopper, so please be understanding in regards to the simplicity of the task I am trying to accomplish.

I want to create a radial gradient half tone pattern (exactly like the one attached, sample.jpg).

I would like to be able to control the overall radius of the gradient, the radius on the largest and smallest halftone dot, and the amount of steps for the dot to scale down from the largest to smallest.

I am only looking for 2d linework/apply this to a flat surface.

Thank you in advance.

Views: 1779

Attachments:

Replies to This Discussion

If you don't post any attempts, scripts, codes, etc. it will be difficult to get any answer.

First attempt attached.  It managed to do what i am looking for, but i had to set two points in rhino to act as the radius length. i would like to control the radius length with a slider, but the only way i could get the script to work was to create a line in grasshopper from the two rhino points. these points also act as the center point for the array.

Is there a way to create a line in grasshopper whose length is controlled by a slider and then be able to get the start and end point of that line to use for the array?

Attachments:

Nobody wants to recreate your GH code from a screen shot.  The best way to get help is to post your GH code so others can play with it, modify it.  There are way too many subtle details that can't be answered with screen shots of code.

A general approach would be to:

  1. Generate a square grid
  2. Measure the distance from each grid point to the centre of the gradient
  3. Plug these distances into a Graph Mapper which has the falloff you want. If you have an exact mathematical expression for the falloff instead, then use an Expression component instead of the graph mapper.
  4. You can now make circles on each grid point with the associated radius.
  5. In order to add a limitation to only use a set of predefined radii, you will need to first generate this list. Either type it by hand if there is no logic to it, or use a Series or Range component or something to generate a set of increasing numbers.
  6. Using this collection of allowed radii, use the [Find Similar Member] component to 'pull' each calculated radius onto the nearest allowed number.
  7. Now create your circles using the pulled radius values.

RSS

About

Translate

Search

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service