Saturday, July 18, 2015

BlockNamer


I was dressing up an exterior scene that required a number of different plants. I created various 3d blocks of these plantings (made up of two vertical PictureFrames at 90 degrees from each other), but soon became confused of which was which, and how tall plant was. So I wrote a quick script to label each block with its name and current Z height at its origin. 


I've always liked the ability of TextDots in rhino, as they can be very useful in communicating obscure information quickly. This script can be modified to quickly show which layer, scale, and rotation of the block, as well as texture information inside the block.

Sunday, July 12, 2015

Tracking Movement: Circular Lofts


Building off of the previous circular loft script, I created a tracker that traced the location of a series of points over time. As a form twirls across the screen, the series traced points form curves, and are lofted into graceful forms.





I'm using the recorder to track points, and feeding the points into an interpolated curve. Works surprisingly well! Right now there is only a rotate transform, but I did play around with a move transformation (x,y) as well. I'm still trying to figure out what I can do with these extrusions:





 I then isolated the move transform to the x dimension only, and I got some interesting script-like curves. As the resulting traces are highly dependent on the initial loft forms, I feel like there's a lot of potential here.





Friday, July 10, 2015

Creating with Grasshopper: Circular Lofts


I was exploring three point circles when I realized that I could use grasshopper to manipulate lofted circular forms dynamically.




I started with three curves in space, broke them down into smaller segments, used the end points to create 3 point circles, and then lofted them into vase forms. By rotating the original curves, I was able to really create complex forms and transitions. Fun!


Did some iteration studies:



---------------------------

Continued form finding exercise... with a little help from array:



A refinement in array allows me to rotate the form in an array. Could be interesting once I develop enough tools to "animate" this form.

3dm | gh



Clusterizing this array and rotate portion leaves a beautifully simple script.






Friday, July 3, 2015

Exaggerated Ribs


CurvatureGraph provides a nice analytical tool to review curves for kinks. It is also a pretty way to "grow" the curve. I wanted to build off of Jittery Lines with a script that thickens polylines relative to its control points, as CurvatureGraph works for a Curve. It's a common effect (that I'm almost certain there's an existing script for) that I want to explore and build on top of.

To go about this, I've broken the script down into 5 parts:

1. Explode polyline to get line segment vectors
2. Calculate bisecting vectors*
3. Calculate angle and direction of "turn" from original vectors
4. Create offset vectors at the kink points
4a. Create Weighted Offsets based on adjacent vector angles
5. Join these points into new polylines


*Just using bisectors for the offsets will result in "twisted" ribbons. That is why I untwist this by "flipping" the bisector when the line segment goes from clockwise to counterclockwise.




Here's a 2D example running on multiple curves:



I've resolved part 4a by creating three options for weighting how I offset the polylines: by a shift slider (shift about center), an equal slider (grows equally), and by duo sliders.



More forms:



Tuesday, June 23, 2015

Back to Basics



rhino file:
https://app.box.com/s/p7us1l3wx7ejfx5ikmeckv87meozfokf

grasshopper .9 file:
https://app.box.com/s/o1pgzgca5ja73z4rrcy6f56xk8ti6r1y


Multiple Bakes + Random Color