curves A and B.
For each point pA on curve A,
you need the corresponding tangent vector tA on curve A, and the lists of "cone" vectors pB(j)-pA and tangent vectors tB(j) on curve B. so you have three vectors tA, tB(j) and AB(j)
these three vectors define a parallelogram thas varies along j
3d determinant of the three vectors above gives you the volume of this parallelogram. When 3dDet = 0 then it means it's flat, the vectors are coplanar. Thats what we're looking for.
So you just need to plot the curve 3Ddet = f(pB) , still for each point on A
'pB is the parameter here'
graphically solve these cuves to find the zeros and you feed back the resulting parameter in curve B. draw te line, done.
You can manage double solutions or cusps directly on the plot by using clostest point and >= conditions to kill unwanted results.
I do it twice, from crv A to crrv B and from B to A to make sure I catch start and end generatrices each time.
The videos you posted are interesting. I don't understand how it works with just 2 slider to tune the curves.
…
e it would of course be amazing if these could be displayed in a Rhino window / baked as objects...). I use the BarGraph as a histogram constantly for exploring the data I generate as I'm designing - in fact the graph components are one of the most frequent components I use at the 'end' of my design process. Would be nice to add Titles to the graph/bargraph and labels to axes, as well as the feature requests Marc points out above.
Also wondered if the 'MD slider' would soon have a 3D option similar to the colour picker? Would be useful.
Of course many other graph types would come in quite handy (I often export my data to Excel in order to visualise better) - 2D scatter with the tree structure indicating different data sets and therefore different colour/point types on the graph (Excel-style) would be handy. Of course these could be created as Grasshopper objects and displayed in the viewport but I find the work needed to get to a presentable output this way is often too much and its faster for me to just look at the data in Excel. Also in the Rhino viewport you often want to be visualising the end result of your definition (i.e. geometry) and not have to zoom somewhere else or fiddle around to try to display a graph of values at the same time. I could imagine an 'output' control panel could be quite handy, where you drag and lock in the various text panels / graphs / etc which are useful to you and tell you information about your design as you are varying the input parameters. This could be outside of GH possibly and maybe linked to one side of the Rhino viewport.
Any thoughts? Of course some of these requests are asking Grasshopper to expand a bit more into the 'data display/interpretation' space - however I think this is extremely important as with each design I create there is most always associated data which tells me about its performance in some way or another and viewing that / illustrating it to clients in a quick and friendly way is key. Of course what is there already is most impressive and useful!
Cheers
Luke…
it into points on that surface. From Each Point draw a Line and then divide that line into points. The end result is a 3D cube of points made from multiple rows and columns in all directions.
The file is attached so you can have a play for yourself.
The first example shows, as you say, a very nonsensical path structure resulting from such a simple problem. Why on earth does it need so many zeros at the Front {0;0;......
If you change the first slider from 1 to 2 things become a little more clearer.
Because we are now supplying two sets of surfaces on on the same path then the second zero {0;0... starts to make sense. as we can see that when it refers to the second surface it is now a {0;1;...
If you then change the Multi-Branch Toggle to True the first zero starts to make sense.
So with 1 surface on different original Paths {0} and {1} we get the first zero meaning something.
Have a go yourself by changing the settings in any of the Purple circles and see what happens. You'll find that the additional levels of path structure a present for the "what if" scenarios. But there has to be consistency because I don't want to create a definition with the intention of having multiple possibilities and finding because I add complexity that the structure suddenly becomes complex.
I hope this helps
Danny
…
dy stuck.
The basic concept is to create a 3D boundary(a box),
by generating random differnt values(length) and vectors(xyz),
such as (0,0,2), (-3,0,0), (0,1,0), then connect these points in order,
so there will be a snake(polyline) running in the boundary and
keeps growing longer through looping.
However, I can't quite understand how to use hoopsnake to achieve such action.I tried many times but all of them doesn't work.
About the 2 gh files below,
Gourmet Snake 3D.gh is before I use Hoopsnake,I tried to run it without boundary.
Test snake.gh is that I tried to generate a random number for every loop, then save them all and sum them up every loop, so I can check if the result is out of boundary,
if true, then I can mutiply -1 to let it decrease till it's in the boundary.But I can't achieve it through Hoopsnake.
Sorry for the poor english expression,if you understand my problem,any suggestion will be appreciated.
Tien
Gourmet_Snake_3D.gh
test_snake.gh…
ng and algorithmic design for furniture production. Ideally I would like to be able to import a network of curves into this definition to automate the node creation process. Unfortunately as it stand it will only work for one of them.
My question is, how can I present a list of the connection points & vectors from a network of curves for this to work?
Below you can find the definition along with a few pictures of the concept and development. The white parts were modeled in Solidworks and printed on my Ultimaker 2.
If you're interested in following this project I'll be posting regular updates on my twitter: @pencil_stroke
Thanks in advance,
Charles
…
Added by Charles Fried at 12:32pm on February 5, 2015
ning the simulation looks great(see figure 1). However, I find some question(see figure 2), the red wire frame on the right should be symmetry like the physical lamp, but it has a extend distance now.
I should like to keep the wire frame structure with same length after simulation.
maybe I miss some setting in Kangaroo, can any one fix it? thanks in advance.
I put this ghx file under the attach.
…
n elements in grasshopper.
So, I found myself rather blocked, not being able to do certain operations which I need:
1. I can't close the tubes, leaving the center circle open, when I try to input the cap holes, it takes all the tree and it closes, and I am still confused about how to edit trees and items. It would be rectangular shaped holes, rather small (it is intended for bicycle wheels, thus rather thin and long). I wish to be able to change the amount of these holes, since I am not certain yet.
2.In the same time, I have no idea how I would create a slope joining the 2 vertical boards ( floors).
Here is a small drawing explaining what I am looking to draw
In the same time, is there a way to create a slope, joining the same floors, but build on a different principle.
A slope revolving around the long vertical tubes ( trees). As in the image below
Thank you beforehand for your help, if halfway, you see the there is a faster way, or that would be more of a grasshopper way, of creating or changing an object, please do tell me, it would help me understand GH better.
I wouldn't have asked, if I wasn't this tight in terms of time, and if I had the slighest idea on how to do it. So pls help, and thank you.
…
Added by Archiheart at 1:51pm on November 13, 2015
er.
¿WHAT IS PYTHON?
Python is a modern programming language. Python is sometimes called a scripting language or a glue language. This means python is used often to run a series of commands as a script or used to create links between two other technologies as a glue. It is easier to learn and use than other non-scripting style, compiled languages like C#, VB, or C/C++. Yet it is quite powerful.
You may need Python if you want to automate repetitive task in Rhino much faster, perform tasks that you do not have access to in the standard Rhino or Grasshopper tools, generate geometry using algorithms, etc.*
*More info HERE
GOALS
- To get familiar with programming using Rhino.Python, its tools and standard strategies. - To understand curves and surfaces definitions created, which are the based for complex objects generation. - Create 2D and 3D parametric objects using surfaces with Rhino.Pyhton scripts. - Python components in Grasshopper.
CONTENTS
- Program interface and syntax: Scripts generation and modules. - Basic concepts and strategies for programming using algorithms. - Lists, sequences and maths functions. - Loops and conditions - NURBS curves - Surfaces definitions. - Python for Grasshopper.
Dates: May 1, 2, 8, 9
Timetable: Saturday and Sunday 4 - 8 pm (Madrid, CET)
ENROLLMENT
185 eur
160 eur - Early bird fee for first 4 students
…
Added by Diego Cuevas at 3:36am on September 11, 2018
tects to overcome the imposition of prefixed architectural forms in order to enhance performance-driven design and responsive kinetic solutions that interact with humans and environment. Lectures on parametric design simulation, generative and form finding as well as environmental optimization, analyzing and digital fabrication prototyping, are integrated together in 2 main modules. Students from the beginning of the school will be divided into groups to compete on a case project increasing their ability to define project parameters, design factors, solving problems, understanding factors relationships, involving environmental and human sensors, and optimizing their projects solutions in smart and inelegance way. In the beginning of the school, parametric modelling will be introduced (Rhino3d and Grasshopper) to build the necessary skills of parametric generative form methods to students. In this module will be dedicated to digital design methods and physical model making by various fabrication techniques, including laser cutting and 3D printing. Students will focus on the idea of creating algorithmic architectural form inspired by nature and their research will be supported by a series of lectures. Also they will be split into groups in order to develop projects assigned by the professors. This Module also adds Form Finding techniques to the parametric design strategies. Students will learn how material system behaviors, physical forces and responsive structure system can be digitally simulated into parametric models in order to explore complex forms that optimized and adapted to its natural behaviors, initial forces, material, particles, and structure systems. Series of lectures on form finding, natural structural algorithms, material behaviors, and physical forces will lead student to optimize their project forms. It is experimental laboratory in which kinetic interactive Architectural models are tested and designed. Students will develop novel solutions, building upon learning responsive kinetic systems. They will design Architectural responsive robotic systems inspired by nature. Projects will transform by adapting to environmental conditions and human behaviors happening at real and virtual levels.
…
cremental release is available for download. It fixes several bugs reported in the 0.9.0005 & 0.9.0006 versions. To wit:
Computer mice with smooth scrolling would not zoom well, this is fixed.
Previewable parameters with a lot of consecutive null items would crash, this is fixed.
Identical GHA files would collide during the loading process, this is handled.
GHA files with identical names would collide during the loading process, this is handled.
Solver Undo setting was not persistent, this is fixed.
Widget ZUI Zoom setting was not persistent, this is fixed.
Markov Widget Corner setting was not persistent, this is fixed.
Markov Widget Suggestion Count setting was not persistent, this is fixed.
Drag and Drop on Document and Template preview materials wasn't recorded, this is fixed.
AssignDataToParameter() COM-Access method was broken, this is fixed.
Geometry and Generic parameters with persistent data would not deserialize correctly, this is fixed.
Operator shortcuts via the Canvas popup instantiation menu no longer assigned data to the second parameter, this is fixed.
Cull Duplicates component did not always show the correct label upon deserialization, this is fixed.
Legacy VB/C# components would not correctly deserialize List access on input parameters, this is fixed.
Cloud Display component would still display old sprites on disconnect, this is fixed.
Minor changes to a document would trigger lengthy preview cache updates, slowing Grasshopper down. This is fixed.
Sphere 4Pt did not work correctly, this it fixed.
Failed data conversions in parameters would result in missing entries, this is fixed.
Text Tag components (2D & 3D) would not bake via the component menu, this is fixed.
There are also some new features:
Added Jump object for quickly navigating across a Canvas (Params.Util dropdown).
Added Relative Differences component which is basically the inverse of Mass Addition (Math.Operators dropdown).
Added tooltip wiggle controls to the Preferences window, Interface section.
'Draw Full Names' now also attempts to change the display of existing components, but only in the active document.
Drag+Dropping GHA, GHPY and GHUSER files onto the canvas now puts the original file into the bin.
Replaced Set Union component with a new one that has variable input parameters.
Replaced Set Intersection component with a new one that has variable input parameters.
Replaced And and Ternary And components with a single new one that has variable input parameters.
Replaced Or and Ternary Or components with a single new one that has variable input parameters.
Replaced Concatenate component with a new one that has variable input parameters.
Concatenate component now has a segment join option available via the component menu.
Added Digit options to the Transform Matrix Display object.
Integer parameters which represent options now have more informative context menus.
--
David Rutten
david@mcneel.com
Poprad, Slovakia
…
Added by David Rutten at 11:06am on September 14, 2012