generative modeling for Rhino
-Refract
-Flow
-Surface/Target Ray (reflect)
Sonic is a Grasshopper plugin that allows you to cast multiple rays, calculate reflections(bounces), calculate flow paths down a sloped surface. (eg. water runoff) Plus Added Math components.
Website: http://www.studionu.net/ceed3/?p=2342
Location: - South Africa - New York
Members: 59
Latest Activity: Apr 26
Rays video LINK: http://www.youtube.com/watch?v=Q57srPYiZnQ
Flow video LINK: http://www.youtube.com/watch?v=MEl94L7VIrY
Sonic is a Grasshopper plugin suite that currently contains the following components:
UPDATE : New Refraction component!!!! as requested :) and a fix for TargetRays when rays reflect several times off a single surface/object.
COMPONENTS:
Refract: A plugin that works in a similar mannar to the Reflection component (TargetRays) except it calculates refraction rays. Requires that you specify a refraction index for the medium which the ray is passing from and into. See the description of this component below.
SquareRoot: An optimized Square Root function multiple times faster than the default Square Root Component (based on Math.Sqrt I presume) with a slight trade off in rounding numbers.
Flow: Calculates the flow of lines via the path of least resistance down a sloped surface.(eg. water runoff)
TargetRays + SurfaceRays: Both plugins are used to cast and calculate surface reflections rays.
We hope to develop this into a larger suite of components, but for now its contains three components.
The plugin suite comes with many GH Example files.......
http://www.studionu.net/ceed3/?p=2342
We hope to develop this into a larger suite of components, but for now its contains three components. The plugin suite comes with many GH Example files…….
There is a tradeoff in accuracy, but that should not matter, given the speed.
The Algorithm
The binary Algorithm used in this component stems from Gaming and Graphic development back in the 1990′s, effectively calculating the inverse square root. It also makes use of Newton’s method of finding roots. I have also made use of some scary looking bitwise manipulation.
Surface: Plugin your surface that you wish to use for flow testing.
Points: Plugin your points that you wish to use for each stream, note that these points only have to be near the top of the surface , check examples .
Res: The resolution of the curve output. The low the value to more rigid the curve. Try to keep this fairly low.
Calc: Number of calculations for each stream. This input and ‘Res’ work together, if you raise ‘Res’ value then you need to increase Calc. Calc can also be used to animate the flows.
pLine: Use a ‘boolean toggle’ to choose whether the output ‘Curves’ are PolyLines. If left ‘False’ the output will be Interpolated Curves.
Main Features Include:
Multiple Surface Calculations ,Occlusion testing , Automated output of Normals, UVs , Vectors and more in ordered Data Tree Branches and Paths.
(NOTE: All outputs are demonstrated in the “OUTPut example” files included with the download.)
The outputs are the same for both plugins and are as follows:

Points: Exports a list of points for each ray, each ray has its own Path in the DataTree.
Vectors: Exports each vector for each of the above bounce 'Points', lists are ordered the same as the Points ouput.
Normals (UNDER WORK): Exports the normals for each reflection point for each surface supplied.
UVs: The respective UVs for the above list entries in case you would like to evaluate the surfaces, you will need to use some culling logic here.
Srfs: Outputs the input surfaces in a relative order to the above lists. excluding surfaces not involved in the process.
SrfUvs: This list order matches the "Srfs" output. Use this with the "Srfs" output to evaluate the surface bounce points.
SrfInd: This is an odd one, but it contains the indexes for the first 4 outputs with regards to surfaces in the "Srfs" Output. ( I find it useful)
SrfCull: This is used to cull out the first 4 output values so that the output is relative to each surface in "Srfs".
Curves : Outputs the bounce path for each ray as Polylines.
Calculates the refraction of rays through mutliple surfaces.
Inputs:


I have included a list of generic Refraction Indices in the Grasshopper definition.

Enjoy the Plugin,
Carson Smuts
DOWNLOAD: http://www.studionu.net/ceed3/?p=2342
Rays video LINK: http://www.youtube.com/watch?v=Q57srPYiZnQ
Flow video LINK: http://www.youtube.com/watch?v=MEl94L7VIrY
FLOW IMAGES:
Trg/Srf RAY IMAGES:
New Refraction component and fixed bug in TargetRays (Reflect)RefractCalculates the refraction of rays through mutliple surfaces.Inputs:SourcePts: The start of a ray.TargetPts: The end point of a…Continue
Started by Carson Smuts. Last reply by Carson Smuts Feb 8.
Sonic update 0.1.3b …Continue
Started by Carson Smuts. Last reply by phillip Sep 18, 2012.
Comment
Comment by Carson Smuts on February 28, 2013 at 3:48pm UPDATE 0.2.4:
Bug Fixes: Fixed bugs with Twitter API access and new functions in String Duplicate component.
Comment by Igor on August 29, 2012 at 5:47pm It would be good add a gravity vector input to Flow component...
wow~ it's awesome!
Comment by Carson Smuts on August 11, 2012 at 11:54am Update 0.1.5b :
SrfRay and TargRay Fixes: Minor fixes dealing with small scale models.
Comment by Carson Smuts on August 11, 2012 at 11:53am
© 2013 Created by Scott Davidson.
Powered by
You need to be a member of Sonic to add comments!