r visual programming tools in the games world. MS's Kodu, looks interesting. Kismet and Visual3d look even more interesting..... mainly because they are more 'interactive' or 'reactive', rather than DAG-based.
Seems like the evolution path for GH-similar apps is:
1. base 3d or CAD app based on C/C++ code.
2. Add scripting language interface
3. Add some kind of visual interface
4. Add graph sorting / propagation engine
5. Re-jig base 3d or CADD app to make managed/interpreted scripts run faster, multi-threaded.
6. Add dynamic typed language, DLR stuff
6. ....
6. Add constraints solver...?
7. Rebuild CAD display engine to be procedural at the GPU level?
Seems like there are available tools for converting scripts into some kind of flowchart. There are even visual debuggers. MS even has something called the 'Debugger Canvas'. Spreadsheet constraints.
Seems like the time is ripe for lots of new apps like GH.
…
this was about some boring building I wouldn't respond ... but here we are talking sardines.
Here's my take on that matter:
1. The 4 C# first create/use a nurbs, then define some random planes (and transformations) and then (a) either they place some humble stripes or ... er ... (b) sardines as instance definitions (NOTE: Load Rhino file first).
2. All important decisions are the ones in yellow groups.
3. You control what you get via this (priority on stripes or sardines? that's the 1M Q):
4. If you decide for sardines (the right thing to do) then you must ENABLE the Sardiniser(C)(tm)(US patent pending) as follows:
5. The vodkaFactor on that Sardiniser C# adds some spice in the sardine placement (it does that by altering the priority on the "composite" transformation in use: first randomly rotate then planeToPlane .... or the other thing?).
6. Only the finest Da Morgada sardines are used in this definition:
7. Spot the WARNING in the filter related with what sardine to choose > do it wrong and no hard disk on your workstation > no risk no fun > sorry Amigos, he he.
8. 1M question for you all: why placing sardines (it's real-time you know) is WAY faster than creating these humble stripes?
9. Although the sardines are placed in real time as regards your CPU ... the critical factor is your GPU (display mode: rendered).
10.Still WIP (dancing sardines in the next update).
have some sardine fun, best, Lord of SardineLand…
p, open to designers worldwide, will explore the parametric mix of new raw materials and the re-use of elements from Carnival floats and costumes, transforming them using generative design processes and new digitally fabricated joint components, to create interventions for micro-venues and urban furniture in the Porto do Rio region.
Taught by AA Staff, recent AA graduates, and computation and fabrication professionals, the studio-based workshop will include extensive instruction in Rhino Grasshopper (including GECO, and Galapagos, to integrate environmental optimization, simulation and parametric control) and digital fabrication processes using laser cutter, CNC-milling and rapid-prototyping machines, sponsored by DS4 and SEACAM, all of which will be used to produce one-to-one design prototypes.
MORE INFORMATION AND APPLICATION: http://rio.aaschool.ac.uk/andhttp://www.aaschool.ac.uk/STUDY/VISITING/rio.php…
roblem is [quoted from David]:
Currently the deviation between the sampled curve and the 'real' curve is compounded, which is a $3 way of saying it gets worse all the time and the worse it gets the faster it gets worse still.
In practical terms you obtain intersections between conjugate lines, or even worse, spirals which go on and on (mainly on spherical or conical regions).
What would be interesting would be to obtain families of conjugates networks that are not principal. There are plenty of papers on the subject mainly from Pottmann and Yang Liu:
Designing Quad-dominant Meshes with Planar Faces
Freeform surfaces from single curved panels
General Planar Quadrilateral Mesh Design Using Conjugate Direction Field
Geometric Modeling with Conical Meshes and Developable Surfaces
Performative Curve Network Design
Presentation Pottmann (this presentation is quite nice because it commented)
Here's the Definition on dropbox. I implemented a sloppy (but effective) way of getting the intersections; the other methods I tried had problems. It takes time to load and there's a toggle to get the PQ Mesh (takes time). Have fun and I hope to hear more!
…
n requires ASCII format STL files, a Rhino export option.
(4) Compared to the bunny, your mesh was huge so I scaled it down 1/100th, so the same maximum tetrahedron size setting would blow up the output.
(5) I updated the Python to make Voronoi and Tetrahedron meshes output optional and added a file path input.
So I reduced your mesh after saving as an STL, using Autodesk Meshmixer, to half the number of triangles.
Before reducing the triangles I got a very fine tree that took a long time, with some segments so short it was hard to make a mesh pipe without artifacts:
After reducing:
Shortest walk won't yet work with the more open and direct path Voronoi diagram lines, since the target points are not the same surface mesh points and thus I can't specify each path endpoint yet.
The Tetgen internal Python -q quality setting dominates internal tetrahedron size unless you specify a very small maximum tetrahedron size input such as 0.01. With such an overly fine mesh, there were quite a few internal tetrahedra, since the angle quality settings won't let it expand to bigger ones very fast away from the surface.
…
Added by Nik Willmore at 3:16am on February 6, 2016
2)The tensile surface
3)The tensile surface plan
4)The desirable result using the staffs as streching forces to reshape the tensile surface.
Can anyone give me a tip of how to use the staffs as streching forces and how to translate the surface I want to use as tensile surface in Kangaroo?
In the attachment I have the rhino and grasshopper model.
Thank you in advance,
Alexis…
f objects with the main ring body, and that cannot be done in parallel since you are modifying the item once at a time, algorithmically.
The original example of a cylinder and sphere are textbook failures of the Rhino 5 dumb algorithm, since that combination features kissing surfaces that confuse Rhino about where they are intersecting since really in tolerance values they are overlapping along a ribbon instead of a sharp line.
Normally you would slightly move or rescale one of the pair to create a single loop intersection curve that doesn't wander around in jerky fashion trying to combine two surfaces that fail to actually plunge through one another.
Your main Boolean union is 116 prongs with a ring base, and that's slow because Rhino bogs down as the model gets more an more complicated with each internal step, I imagine.
The speed is not all that slow either, only 21 seconds for the Booleans themselves.
If you turn of Grasshopper preview meshing via the toolbar menu it should be significantly faster while you are tweaking the design.
To troubleshoot the slow Boolean, I went into Rhino and tried merely splitting the ring body with the prongs and that itself was just about as slow as the Boolean union, so Rhino is not being badass about it. Then I exploded the ring body and tried splitting just that with the prongs and it was *much* faster to operate on just that single surface! The black box reveals itself a bit.
In kind, splitting the prongs with that single surface was about the same speed as splitting it with the whole ring body, so no speed gain there.
But, to speed up your script, since we *cannot* in fact use parallel processing, we can instead manually create that prong surface by doing our own splits and using Grasshopper's natural order of parts, hopefully consistent, to get rid of the junk.
That prong surface is item 4 of an exploded object.
So I will mutually split them and tease out the good parts from the junk and then rejoin the parts, no Boolean union component needed.
First, I went into your prong cluster and removed the capping, so I have merely an open revolution surface instead of a polysurface, letting me access the surface trim command after quickly finding the BrepBrep intersection curves between the prongs and the single ring surface.
For that Boolean union step I'm down from 11 seconds to 4 seconds, but confusingly we added a second to the Boolean difference that follows:
It's fast since we are manually selecting junk instead of Rhino having to sort which is which, I imagine.
We still have a slow Boolean subtraction of the gems and holes from the finished ring body.
That's not simple so will remain slow and cannot be parallel processed since again there's a single main ring body being modified in each step, and nor are there simple pairs of split object to select from manually to discard junk.
…
ncluded 3) using a freaky thing that "makes" Planes in order to do ramps (spot the Vodka option = Mobius + antigraviity OFF).
Don't touch the freaky things: for the moment just go and play with this palatable portion (GH components, nothing to fear he he):
depending on choice in gates: Paranoid (Mobius "shifted in Z")
sane (using corrected Planes):
not so sane:
What we have learned so far? Well ramps (and most of other things) ... it's about Planes (coordinate systems) you know.
Again: this is for fun/demo ONLY. I'll prepare a dedicated def for your case soon.
have fun, be brave
…
be in your definition is impossible.
The 2 (or 3) sides of the cube's corner pieces can never be the same color (see image:)
because they are actually part of the same piece (they always move together).
So in your definition it is as if you have removed the stickers from the cube and replaced them randomly, which results in an unsolvable cube...
In order to start with a properly scrambled cube, I believe you could start with a solved cube and perform a big number of random rotations on it (just like you would do in real life).
On another subject:
"There are over 43 quintillion legal positions of the Rubik’s Cube.
It would take thirteen hundred million years to see every position if you were able to view one thousand per second.
If we stacked 43 quintillion pennies, the stack would be tall enough to reach the sun and return to the earth four thousand billion times."
source: http://b.chrishunt.co/how-many-positions-on-a-rubiks-cube
So, trying to brute-force the Rubik's cube is definitely not the way to go... :)
Of course there is a number of programming algorithms for solving the cube (examples) but I don't know how easy it would be to implement them in GH....
Best of luck and please keep us posted!
Nikos
…
Added by nikos tzar at 10:42am on January 31, 2017