ns about them.
It's a direction for Kangaroo I very much intend to continue developing - and I am still getting to grips with the possibilities and experimenting with how different optimization and fairing forces work in combination with one another, so I would value your input and experience.
For those interested in some background reading material -
[1] http://www.cs.caltech.edu/~mmeyer/Research/FairMesh/implicitFairing.pdf
[2] http://mesh.brown.edu/taubin/pdfs/taubin-eg00star.pdf
[3] http://www.pmp-book.org/download/slides/Smoothing.pdf
[4] http://graphics.stanford.edu/courses/cs468-05-fall/slides/daniel_willmore_flow_fall_05.pdf
[5] http://www.evolute.at/technology/scientific-publications.html
[6] http://www.math.tu-berlin.de/~bobenko/recentpapers.html
[7] http://spacesymmetrystructure.wordpress.com/2011/05/18/pseudo-physical-materials/
[8] http://www.evolute.at/technology/scientific-publications/34.html
[9] http://www.evolute.at/software/forum/topic.html?id=18
At the moment the Laplacian smoothing is uniformly weighted, which tends to even out the edge lengths as well as smoothing the form, which is sometimes desirable, and sometimes not. It also tends to significantly shrink meshes when the edges are not fixed.
I plan to try some of the other weighting possibilities, such as Fujiwara or cotangent weighting (see [1] and [3]), as well as other fairing approaches, such as Taubin smoothing [2], Willmore flow[4], and so on. This also has applications in the simulation of bending of thin shells.
Planar quad panels are often desirable, but I'm finding that planarization forces alone are sometimes unstable, or cause undesirable crumpling, so need to be combined with some sort of fairing/smoothing, but the different types have quite different effects, and the balance is sometimes tricky.
There's also the whole issue of meshes which are circular (I posted a demo of circularization on the examples page), or conical (this one still isn't working quite right yet), and their relationship with principal curvature grids and placement of irregular vertices, all of which is rather different when the whole form is up for change, rather than having a fixed target surface [7].
I'm also trying to get to grips with ways of making surfaces of planar hexagons, which need to become concave in regions of negative Gaussian curvature (see this discussion)
and I hope to release soon a component for calculating CP meshes, as described in [8], which I think could have many exciting construction implications.
While there are a number of well developed smoothing algorithms, their main area of application so far seems to be in processing and improving 3D scan data, so using them in design in this way is somewhat new territory. There can be structural, fabrication or performance reasons for certain types of smoothness, but of course the aesthetic reasons are also often important, and I think there are some interesting discussions to be had here about the aesthetics of smoothness.
Anyway, that's enough rambling from me, hopefully something there triggers some discussion - I'm really keen to hear about how all of you envision these tools might be used and developed.
…
g-in, brief theory of complex systems, introduction to multi-agent systems and non-linear design, flocking, Boid library, basic examples - brownian motion, adhesion, separation, alignment, geometry following.-----------------------TIME: first session10am – GMT, London11am – Paris, Brussels, Rome, Vienna, Budapest, Bratislava, Warsaw9pm - Sidney7pm – Tokyo6pm – Beijing, Shanghai, Shenzhen, Hong Kong, Taipei3:30pm – Mumbai3pm – Karachi2pm - Samara1pm – Baghdad, Moscow, St Petersburg12pm – Istanbul, Athens, Helsinki, Cairo, JohannesburgTIME: second session3pm – GMT, London4pm – Paris, Brussels, Rome, Vienna, Budapest, Bratislava, Warsaw7pm – Dubai, Abu Dhabi, Baku6:30pm – Tehran6pm – Baghdad, Moscow, St Petersburg5pm – Istanbul, Athens, Helsinki, Cairo, Johannesburg1pm – Rio de Janeiro, São Paulo, Montevideo12pm – Buenos Aires, Santiago10am – Toronto, New York City, Bogota, Lima9am – Mexico City7am – Los AngelesWEBINARSThe rese arch Grasshopper® sessions are unique for their thorough explanation of all the features, which creates a sound foundation for your further individual development or direct use in the practice. The webinars are divided into four groups: Essential, Advanced, Iterative and Architectural. If you are a Rhinoceros 3D or Grasshopper® newcomer, you are advised to take all the Essential sessions before proceeding to the next level. If none of the proposed topics suit your needs or if you require special treatment, you can request a custom-tailored 1on1 session. All sessions are held entirely in English.The webinars are series of on-line live courses for people all over the world. The tutor broadcasts the screen of his computer along with his voice to the connected spectators who can ask questions and comment in real time. This makes webinars similar to live workshops and superior to tutorials.…
Added by Jan Pernecky at 3:36pm on February 17, 2015
ally to describe a process of repeating objects in a self-similar way. Simply stated, the definition of a recursive function includes the function itself. Fractals are among the canonical examples of recursion in mathematics and programming. A loop can simply be a way to apply the same operation to a list of elements, but it is an iterative loop if the results from one step are used in the calculation of the next step. In design research controlling recursion becomes a new strategy to define new forms and spaces.
BRIEF
In this workshop we will be exploring iterative strategies through parametric design. Main tool for the course will be grasshopper3d and its add-on Anemone. Anemone is a simple but effective plug-in for Grasshopper that enables for loops in a simple and linear way. We will explore several strategies such iterative growth, L systems, fractals, recursive subdivisions and more. Our course will focus on how those methods can affect three-dimensional geometries, generating unexpected conformations.
TOPICS
intro to rhinointro to grasshopperadvanced grasshopperdata managementintro to loopscellular automatal-systemsagent based modelling
SCHEDULE
Day 1 / friday 16:00Tour Green Fab LabBasics of 3D modeling in RhinocerosBasics of GrasshopperOpen Lecture by Jan Pernecky, founder of rese arch
Day 2 / saturday 10 am- 18 pmRecursive iterative methodsAdvanced Topics of looping
Day 3 / sunday 10 am – 18 pmRecursive iterative methodsFinal presentation session
REQUIREMENTS
The workshop is open to all participants, no previous knowledge of Rhinoceros and Grasshopper is required (although an introductory knowledge is welcome). Participants should bring their own laptop with a pre-installed software. The software package needed has no additional cost for the participant (Rhino can be downloaded as evaluation version, Grasshopper and plugins are free). These softwares are subject to frequent updates, so a download link to the version used in the workshop will be sent to the participants a few days before the workshop.…
Added by Aldo Sollazzo at 11:10am on October 6, 2015
instead of ballooning outwards, just puffing upwards.
THIS WILL WORK! Creating the mesh springs is only three seconds for 200X200 and the Unary Force is still milliseconds. Only Kangaroo takes an initiation time then cycles rapidly (0.5 seconds each) and it only takes a few cycles, maybe a dozen or two.
There is considerable 3D aliasing from the 2D mesh crudeness.
Now, to best Laurent's scheme, let's double down to 400X400. First I disable Kangaroo, and the timer. The preparation takes...FOREVER....and...ever...4.6 minutes to cull the points is all, a trivial step there is likely a better strategy for than finding the ones on the inside then using those to cull duplicates from the whole collection. The springs only took 12 seconds and the forces again milliseconds.
Kangaroo, to initialize takes...after hitting the reset button to start it...over 15 minutes and counting...well 400X400 is 160K vertices and Rhino tends to bog down at 30K points...but it was done in 30 minutes. Then I enable the timer and each cycle takes...uh...it's not in any error mode but nothing is happening past a very faint first automatic cycle that shows in the mesh...yet no CPU power is being used by Rhino...well...it's simply not running...ah, well, there's just a dummy delay of another 5 minutes and then the cycles take 2.7 seconds...what a stupid delay that was not using CPU power.
Now that it's cycling, can I change the stiffness in real time, usually I can...well, no, I seem to be back in the 5 minute delay, but not the 30 minutes interface-locking one...still waiting. Here is a 1/4 scale height model of the above output:
Time's up, life goes on. The aliasing and slow speed make it unworkable except for little logos or something. Some math and parallel processing are needed?
…
Added by Nik Willmore at 5:51pm on February 21, 2016
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…
r ideal surface so they add up where lots of points or lines cluster and create rather unintuitive bulges form a 3D modeler's perspective, here done with Millipede's Geometry Wrapper:
I've learned to do marching tetrahedra or cubes in Python to create the surface as needed from a implicit ( f(x,y,z) = 0 ) mathematical equation based on raw trigonometry but am not yet sure how to define an equation for Rhino user created input items like this or find a way to make marching cubes accept such input let alone one that doesn't treat each geometry item as an electric charge with so little decay.
This would afford an old school "organic" modeling paradigm that T-Splines replaced, but the T-Spines pipe command can't do nearby lines right either, which just makes overlapping junk. Metaballs and lines are not as elegant in that there is a real "dumb clay" aspect to the result that affords little natural structure beyond just smoothing, but still, if it works at all that beats T-Splines, and then I can feed the crude mesh result into Kangaroo MeshMachine to afford surface tension relaxation that will add elegant form to it.
I need both quick hacks and some help on how to deeply approach the mathematics of the required isosurface, now that I can think in Python better than ever.
I got a hint the other day here, about using a different power of fall-off but am not sure how to do the overall task mathematically:
"and just as with point based potentials, one can use different power laws for the distance, function, resulting it different amounts of rounding at the junctions. Below is with a 1/d^3 law for comparision with the above 1/d" - Daniel Piker
http://www.grasshopper3d.com/forum/topics/meshes?commentId=2985220%3AComment%3A1324050
He also included this link about bulging:
http://paulbourke.net/geometry/implicitsurf/
Am I supposed to create an actual implicit equation for my assigned points and lines and use that with marching cubes to surface it? If so, how do I define that equation, at all, and then how to control bulging too?
…
edit 29/04/14 - Here is a new collection of more than 80 example files, organized by category:
KangarooExamples.zip
This zip is the most up to date collection of examples at the moment, and collects t
duttiva, sarà finalizzata alla realizzazione di un modello d'architettura complesso attraverso l'utilizzo di comandi e tecniche avanzate di rappresentazione con i software Rhinoceros e 3dsMax.Durante l'openDAY verranno mostrate le caratteristiche e le potenzialità degli strumenti Nurbs (Rhino) e Mesh (3dsMax) chiarendo i nuovi valori assunti dalla modellazione 3D per il progetto e per il rilievo.Inoltre come conclusione al mini-corso, sarà illustrato il potenziale di V-ray per 3dsMax renderizzando il modello disegnato durante l'incontro e verrà mostrata la potente plug-in Grasshopper del software Rhinoceros, strumento sempre più utilizzato in ambito europeo ed internazionale.
La lezione e la presentazione si terranno presso lo studio IL PEDONE - officine di architettura.
PROGRAMMAZIONE
- Mini-corso integrato di modellazione avanzata con Rhinoceros e 3dsMax;
-Il modello dinamico: il modello digitale come prototipo virtuale per il concept progettuale
[Michele Calvano];
-Nuove tecniche di modellazione parametrica con Grasshopper:
[Michele Calvano];
- Il modello espressivo: la mesh e le sue capacità di strutturare lo spazio architettonico
[Wissam Wahbeh];
- Esempio di rendering con Vray per Max:
[Wissam Wahbeh];
- Offerta formativa 2013 - Corsi e Workshop [Francesca Guadagnoli];
- Question Time per chiarimenti sugli argomenti illustrati.
COMEL' openDAY SARA' APERTO A TUTTI GLI INTERESSATI, COMPLETAMENTE GRATUITO E SARA' REPLICATO IN DUE SESSIONI DI UGUALI CONTENUTI ORGANIZZATE NEI SEGUENTI ORARI:
Sessione [1] 15,00 - 17,00
Sessione [2] 18,00 - 20,00
Per necessità di organizzazione, è importante la prenotazione all'evento utilizzando il form presente in fondo alla pagina, dove nella stringa apposita (Evento), si dovrà specificare il nome dell'evento, la sessione (es. open day sessione 1) e agli altri dati richiesti.
per info contattare la Coordinatrice Didattica Francesca Guadagnoli
cell: 347 7189175 oppure 340 3476330
@: parametricart@gmail.com
Presentazione precedente parametricDAY -14 gennaio 2013http://www.youtube.com/watch?v=YSdVf6ppATwhttp://www.youtube.com/watch?v=IzsMPuLfCLQ…
s, the participants will focus on the key advantages of Grasshopper’s capabilities through a range of design challenges in order to aid designers in both their drafting tasks and modelling capabilities.
The workshop covers many concepts such as Object Attributes/Parameters, Data Types, Data Structures, and Designing with Algorithms. Specifically, this course will focus on understanding both Lists and Data Trees, as well as the best practices for integrating Grasshopper into your Professional Design Workflow. The workshop offers guided curriculum and continuous support, based on in-depth and professional learning experiences.
Workshop outcomes:Teach the participants how to:-
+ be proficient in parametric logics learning the key benefits of parametric techniques in architecture design workflow (when to use it & how to use it)+ Correctly communicate with different 3D and BIM packages in order to keep the geometry clean and light while preserving all NURBS information.+ Develop architecture design based on mathematical equations to create non-standard free form building skin.+ Create a pattern that changes dynamically based on specific inputs which can be applied over the building façade, interior walls or ceiling or even floor pattern.+ Automate and Optimize design variables to achieve the optimum solution for the design problem.
Program Outline:
DAY 1:-Introduction to Parametric Design -Introduction to Grasshopper & Rhino (technical tools).
DAY 2:-Exploring the parametric workflow. -Setup the design algorithm & generating a list of data.
DAY 3:-Introducing the new ways of generating parametric curves and surfaces.-Parametric form generation in-dept
DAY 4:-Introducing Data Tree logic and parametric transformations.-Creating Associative techniques – Attractors (points, curves and vectors).
DAY 5:-Working with advanced form generation with dynamic pattern.-Parametric optimization based on environmental analysis -featuring the Performance-Driven Design possibilities
DURATION:6 – 8 hours per day [50 - 60 hours Total]Every Saturday [9.00 Am : 1.00 Pm & 2.30 Pm : 6.00 Pm]
PREREQUISITES:No need of any specific knowledge of Rhinoceros or Grasshopper.
REGISTRATION:In order to register, you will need to fill the Registration Form .https://docs.google.com/forms/d/1PckdW1hrWs9fJAHWBZlVsuhH8K0PfDuMWIpXHT_4FYw/viewform
REGISTRATION DEADLINE:23th October 2014.…
Added by ayman wagdy at 7:48am on October 19, 2014