algorithmic modeling for Rhino
UPDATE: Sonic components are now part of Mosquito:
http://grasshopper3d.com/group/mosquito
-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.studiosmuts.com/ceed3/mosquito/
Location: - South Africa - New York
Members: 86
Latest Activity: Sep 20, 2023
Rays video LINK: https://www.youtube.com/watch?v=Q57srPYiZnQ
Flow video LINK: https://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.studiosmuts.com/ceed3/mosquito/
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.studiosmuts.com/ceed3/mosquito/
Rays video LINK: https://www.youtube.com/watch?v=Q57srPYiZnQ
Flow video LINK: https://www.youtube.com/watch?v=MEl94L7VIrY
FLOW IMAGES:
Trg/Srf RAY IMAGES:
Hi, I'm trying to simulate refraction of a single ray through 10 solid surfaces, each with a gradient refraction index between 1.00 and 1.01.How would I set this up?Continue
Started by Richard Aubin May 25, 2018.
when the input of source points collect more than one point, the warning will show "1. Solution exception:Index was out of range. Must be non-negative and less than the size of the…Continue
Started by Joyce Ho. Last reply by Joyce Ho Jul 4, 2015.
Sonic update 0.1.3b …Continue
Started by Carson Smuts. Last reply by Joyce Ho Apr 10, 2015.
Sorry, one more request! This just shows how much I want to use this plugin! I've been finding it difficult to use the output from the Reflection component when I have many source points because…Continue
Tags: list, management, reflection, structure, data
Started by Trygve Wastvedt. Last reply by Carson Smuts Apr 12, 2014.
Comment
How would I be able to simulate watershed around human settlements using the flow script? i have attempted setting multiple surfaces and joining surfaces in the example script but nothing seems to work
UPDATE 0.2.4:
Bug Fixes: Fixed bugs with Twitter API access and new functions in String Duplicate component.
It would be good add a gravity vector input to Flow component...
wow~ it's awesome!
Update 0.1.5b :
SrfRay and TargRay Fixes: Minor fixes dealing with small scale models.
Welcome to
Grasshopper
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
© 2024 Created by Scott Davidson. Powered by
You need to be a member of Sonic to add comments!