I'm sticking with Equilateral triangles for this project, any 'half-size' triangles that make up the edge of the grid will be resolved as 'adaptive components'. If it can be avoided, great, if not, that's cool. Essentially, I know what I want to do but don't the components well enough to model it in Grasshopper…

With that said, here is what I'm attempting to do with this TriGrid…

1. Control the total number of equilateral triangles that will compose/fill a rectangle of defined area. Right now I only have an integer value for number of triangles in the X and Y direction (I don't know how in Grasshopper to even define the area of the rectangle yet (read: my building facade) - but I know what dimensions I want for it, which will need to flex/change so that I can solve for multiple facade areas). So, I'm assuming that one would start with how to define the rectangle/bounding area itself and fill it using the TriGrid component which would be defined/divided up somehow to control each triangle individually.

So, for example, let's say I had a 100' x 75' rectangle and wanted to divide it into only 25 equilateral triangles, but the triangle edges could be of any integer lengths between 1 and 10 so that you wouldn't have this even grid of triangles but a 'random' collection of triangle sizes. Then, run Galapagos and see what the solutions look like and again for multiple 'numbers' of triangles (25, 50, 100, etc)

2. Take the problem above and now suppose that you give priority to only one side of the rectangle and define that only triangles of sizes 5 through 10 can touch that priority edge.
Run this for multiple 'numbers' (sets?) of triangles (25, 50, 100, etc).

3. Take the problem above and define that one triangle of each length 1 through 10 must touch the priority edge. Once again, run this for multiple sets of triangles (25, 50, 100, etc). It would be great to mix this up and say that two triangles of length 5 must touch the edge and four triangles of length 8 must touch the edge, etc.

4. Same idea as above, but add another layer/(fitness?) to those iterations that have the largest (or smallest) triangle at the midpoint (or maybe endpoints) of that priority edge.

5. If I can get to there, I'd like to model four sides concurrently, so that the edge condition between two faces is now the priority. In other words, say that one face is modeled for question #2 (of the above questions) and the other face is modeled for question #4 and the fittest version is the one that has the fewest (or most) triangles on that particular edge condition. I'm content to Bake/Photoshop these 2d rectangles together to make up these scenarios as it might just prove too processor heavy to combine everything into one model. But I think that's the final project right there.

If anyone can spell out just in a sort of (use this component) > (do this/use this component) > (etc) for me I would be really grateful. Thoughts?

Winston,
I have read through your list of questions… First off, I have uploaded a file demonstrating a process for mapping the TriGrid component onto a surface. I left some notes in the definition file so it should be straightforward to figure out…

Secondly, as this is a Galapagos class, I would suggest you simplify your geometric constraints for the problem and instead focus on defining your 'fitness' and 'genes' more clearly… Draw a diagram of the system!

For your project, I am looking for a good system that will enable the GA to search… Keep it an abstract "proof-of-concept" at this stage.

I have discerned based on your wiki that you want a system which:

1. Tightens the trigrid to minimize solar.
2. Opens the trigrid for specific views at the penalty of shade.

For your genes: Define the sliders Galapagos should be modifying.
For your fitness: What solar data is Galapagos evaluating? How are you assigning fitness values for visibility?

1. Where is the Trigrid file you uploaded located?
2. Without having seen the definition, can the Trigrid cells (read: equilateral triangles) be defined so that one eq. triangle cell is sub-divided into smaller eq. triangle cells but still recognized as a standard eq. triangle cell within the overall Trigrid itself?

In other words, it is clear that the overall Trigrid can adjust uniformly, but is it possible that one typical equilateral triangle "cell" could be sub-divided into 4 smaller equilateral triangles?

Sorry… The file can be found if you hit the files section. I wrote the email late and neglected to provide the link: Here it is....!

I also dropped in a custom graph mapper definition which may or may not help with your optimization routine. I will be using this tomorrow in an example. Custom Graph Mapper Def

Regarding your other question, you will need a custom script which recursively creates new triangles within triangles. I have a VB component I can share with you that does this. let me hunt it down and check to see if there are any problems with the code… it has been awhile since I tested it with a new version.

So I think I answered my own questions regarding Galapagos cause I'm generating solutions but I'd appreciate some confirmation. However, I still have not filled in those perimeter triangles on the rectangle, which would be ideal.

So, I ended up setting the Fitness value to 5.5, which would mean that we are equally weighting solar shading vs. view…maybe this can be something more spicy?

Here is the "First Run" document set as a zip file (avi video, pics of start and final solution, and grasshopper file), I would have embedded this but I don't want to fill up my Vimeo account just yet.

Please have a look and give me suggestions to make this more interesting.

Here are my thoughts on how to do so…

1. Make 2 SubD TriGrid Rectangle surfaces of different sizes so it looks like a building corner.
2. Change up the Fitness, give more priority to View and then to shading.
3. Could we incorporate color? Black, White, Grey? Maybe I will go Photoshopping…

Also, someone should make a disclaimer about how addictive G&G can become. I mean, I'm swamped with projects and watching the solver run is a little hypnotic…

It's weird that TriGrid doesn't extend itself to the boundaries of the rectangular surface, perhaps this is because it will not/cannot create a half equilateral triangle - only whole equilateral triangles. I know that might be stating the obvious, but hey…

In any case, I'll search the Grasshopper forums later, I'd be surprised if someone hasn't encountered this issue in the past.

I'll work on adding color, but that's less of a priority as filling the rectangle right now, imo.

As far as the avi goes, I'm assuming that you opened the video with quicktime or windows media player? It didn't look super crisp, but was still clear/totally legible. This one was really just a test to make sure I could produce one.

Lastly (and this is sort of nitpicking), I've played around with the distance of the "points of influence" (Hot Spot and Best View) and I can't seem to achieve greater sensitivity with regard to the TriGrid Subdivisions.
In other words, each "core" triangle will subdivide, but when you move the tolerance slider in increments of one integer to achieve this, oftentimes two or three of the core TriGrid triangles will subdivide simultaneously (as opposed to one at a time/one by one). Any thoughts on how to get these core triangles to subdivide one at a time? I'm thinking it has to do with the formula used to measure the tolerance and will explore that in more depth, if I'm wrong about this give me a hint..

Winston,
If I understand your question correctly, you can establish a conditional statement using greater than or less than components under the Math tab. This will test to see if your panels are meeting some criteria. For example, "Distance to panel > X"

The components return lists of True or False boolean values which you can then use to "Cull" your list of panels and remove those not >x. Plug your panels and your conditional result into the "Cull Pattern" component to achieve this.

Well, I've done everything described above aside from getting those edge conditions to divide/subdivide. Many thanks for your extraordinary help along the way Nathan. I'm certainly going to use this for this semester's studio final and beyond as I explore this framing system in other iterations. Have a look at the file and give me some thoughts on how to improve it further. Here's a link to the definition.