viors that aren't the sum of its parts... but as the project progressed, my understanding of the idea emergence has changed... The universe doesn't produce something out of the blue, everything is part of a series of events, its the minute deviance in the details and the reading that cause the system to tip from its usual behavior or appear random, emergence in true sense ( or strong emergence as they call it) is just apparent...
The next question that came to my mind was if the universe is a series of cause and effects, then does it produce emergent (new) rules of interactions of particles/ agents... it turns out no, as the universe evolves new rules do form, but then again, they are derived rules, not something out of the blue... they evolve from the current to produce new...
One thing is for certain, emergent systems produce structure and functionality from bottom up, they are capable of achieving very complex behaviors by interactions of simple rules at bottom level...
Coming to the spatial rules to produce emergent systems, one example is the circulation in my system, which resolves itself providing various exit routes for any organization.
There are 3 agents namely personal spaces, combine spaces, open spaces
These are the rules (very simplified)
Two personal spaces share one common wall
Newborn Personal space will share at least one wall with the parent
A Combined space hold up to 3 personalized spaces only
At least one side of combined space is connected to an open space
Every open space have at least 2 open spaces connected to it to provide entrance and exit
http://www.youtube.com/watch?v=HkKMImNOATM
The result produced is this simulation, where red and blue are the personalized and combined spaces while yellow are the open spaces... Things to observe here is the circulation being resolved and the creation of wide open spaces, which was never intended or expected from the code... and it is not a coincidence, no matter how times and in how many different ways it is simulated, the circulation resolution and the wide spaces are prominent, so it is part of the system behavior
…
you may know, PCS (from now I will call polar coordinate system with PCS, and cartesian one with CCS) describes point position with 2 values (like x and y in CCS) which are r and theta(r,theta). r is for distance from PCS center, theta is angular dimension which is in 0 to 360 or 0 to 2*pi domain.
To hark back to David's guide line - here it is replaced with guide circle.
Why to sort points like this ? As usual, one image tells more...
Here is logic behind all this stuff :
Find an average point of all given points*
Search for furthest point from an average point*
Create a circle with center at average point and radius = distance from average point to furthest point*
*Steps 1-3 can be replaced with custom hand-made circle, I decided to automate it that way.
For each point find closest point on circle - this will be used for finding theta value
For each point find distance to average point - this is r value
To overcome problem with same theta (t) values (like same x values in CCS), instead of multiplying by 1000, we will use a new create set component. This component creates set of integers, each one representing one unique input value. So if points A, B, C, D, E are (r,theta) :
A (1, 30)
B (2, 30)
C (3, 30)
D (1, 45)
E (1, 60)
Then create set will output list of integers = 0,0,0,1,2 (same theta for A, B, C other theta for D and E). Now its getting really easy - remap r values to domain 0 to 0.5 (or any less then 1), and add integers from create set component to remapped r values.
7. So what we have now is list of floating point numbers : A=0, B=0.25, C=0.5, D=1, E=2
Profit of remapping is that r values will never affect integers representing theta values - and all the information is stored in one floating point number ! By sorting these values we will obtain proper order of points - to complete this, we need to sort points parallel with values.
What's really cool about polar sorting - there could be any amount of points, but polyline connecting all of them will never self-intersect. Probably there is some relation with 2d convex hull.…
e solution I came up with doesn't work. See screenshot.
In the screenshot you will see all the angles are 360, instead of less than 360. What am I doing wrong?
I think this is very basic, so thanks for your answers.
…
the use of digital technologies as architectural design tools. The workshop " Computer Aided Design: parametric design and digital fabrication " aims to do some introductory teaching in the use of some of these tools.
The workshop will focus on the use of computational models of parametric behavior for generating architectural forms. The generative capacity of these models it will be tested in the development of designs defined by repetitive non-standard components, based on the parametric control of its variations and series differentiations. This process will be developed by the use of a three-dimensional modeling software - Rhinoceros, associated with an application for visual programming - Grasshopper.
The last day of the workshop is dedicated to the use of digital manufacturing tools in architecture. Part of the work will take place at the facilities of the Institute of Design of Guimarães (IDEGUI) providing for the use of their laboratories and manufacturing CNC machines (computer numerically controlled).
At the end of the workshop, it is intended the students to understand that the use of digital technologies in architecture can overcome representational functions, and their integration in the design conception, analysis and construction enriches the methodology of project development.
Terms & Participants
The workshop will take place at the School of Architecture of the University of Minho (Campus Azurém, Guimarães) and the Institute of Design of Guimarães (Couros, Guimarães).
The workshop is pointed at students who attend the 3rd year and 4th year from MiArq, EAUM.
The maximum acceptance is 20 students and a minimum of 10 students.
Deadline for entries is April 11 and must be performed by eaum.pac@gmail.com.
Program summary :
Day 23 April 14 -20h
Introduction to 3D modeling in Rhinoceros. Regular geometries, ruled surfaces and NURBS surfaces.
Day 30 April 14 -20h
Parametric design in architecture. Introduction to methods of visual programming.
May 1, 9 -13h 14 -18h
Development of a design idea by the use visual programming processes in Grasshopper.
May 2, 9 -13h 14 -18h
Introduction to methods of digital fabrication. Manufacture physical models of the proposals made.
It is expected that this meeting will take place in the IDEGUI labs.
team:
Bruno Figueiredo ( Lecturer, EAUM )
Paulo Sousa ( PhD candidate , EAUM )
Nuno Cruz ( Invited Lecturer , EAUM )
Cláudia Alvares ( 5th year MiArq student , EAUM )
Javier Bono ( 4th year MiArq student, EAUM )
João Amaro ( 5th year MiArq student, EAUM )…
inue our emergency aid efforts for Israel’s wounded soldiers during this war, as well as prepare for the aid needed after, we remain hopeful for peaceful days ahead. We pray for a swift recovery for all those injured and for the safe return of the missing and abducted individuals.
Beit Halochem is working closely with the Ministry of Defense to ensure all those who have been recently wounded are supported, visited and welcomed into the ranks of our Beit Halochem family.
A special 24-7 help line has been established for members experiencing emotional distress and trauma. “Check in calls” have been initiated to over 10,700 members living in Israel’s south and families are being assisted to evacuate from their homes near the Gaza border.
Beit Halochem needs your help in these difficult days. We call upon you, our friends in the USA, to support and honor our brave heroes in Israel.
With Your Help, We Can Make A Difference
It happens with lightning speed. There’s no time to think or react. A bullet whizzes through the air. A bomb explodes.
Everything goes black. After the initial silence, sirens scream, medics spring into action, helicopters whir overhead. And a young person, often barely 18, is
rushed to hospital. It is the way of life for soldiers in the Israel Defense Forces and for all Israelis. It is the nightmare they face every day.
After the surgeries and painful treatments, it is Beit Halochem that takes over – to heal, provide therapies, offer a comforting shoulder, lift a broken spirit. Your donations are needed to help support the ongoing rehabilitation of Israel’s Disabled Veterans. You can give them hope for recovery when you make a donation in honor or memory of a loved one. You may wish to use the following giving levels as a guide: $36 – $72 – $100 – $180 – $360 – $500 – $1000 – $1800 – $3600.
In the United States, FIDV–Beit Halochem, a not-for-profit, tax exempt [501(c)(3)], organization is the only authorized institution whose purpose is to facilitate the rehabilitation of disabled Israeli veterans at the state-of-the-art Beit Halochem centers in Israel, which for many become a kind of second home.
Contact -:
FIDV-Beit Halochem
1133 Broadway, Suite 318
New York, NY 10010
Tel: 212.689.3220
info@fidv.org
https://fidv.org/donate/…
arraypolar command. The boxes should then be elevated so that the beginning corner of a box should be at the height of the end of the last.In my attempt to re-create this in Grasshopper, I could not find an arraypolar-component, so I wrote one in c#. It works and places the boxes exactly where Rhino does, but as I am a newbie comments and improvements are welcome:<code> // define params double numberOfCopies; try { numberOfCopies = System.Convert.ToDouble(x); //check if input x was a number } catch (Exception e) { return; //if not break off execution } // if no number of copies are requested, abort if(numberOfCopies <= 0) return; // create a list for the return of new angles List<double> radian = new List <double>(); double divider; // use double in order to get double from division for(int i = 1; i <= numberOfCopies; i++) { divider = i / (numberOfCopies + 1); // add 1 to the copies, in order to divide the copies evenly on the 360 degrees radian.Add(divider * (2 * Math.PI)); // position along circle by 2pi to get radian } A = radian; // return list of radian</code>In the GH file I have set up an input that will set the number of copies and the return is a list of radian angles. This list is fed into a RotAx component which in turn creates an rotates the copies. So far so good.A problem I have is that I can't treat the output from the RotAx component individually. As you can see I want to elevate/move each copy of the box the height of the last. But as I have set it up it moves all copies to the same elevation. How can I set this up so that each copy is elevated higher?Also, how can I delete the object that was moved, to avoid having the original and the elevated?..A further question is if this set-up is valid, or if there are better ways of achieving this?Cheers,Eirik…
;range> of numbers which starts from 0 to 1 with N numbers in between, times 2Pi by <function> component. This would result a range of numbers from 0 to 2pi that makes a complete circle in radian.
Two questions:
1) When I tried the same thing by my own it didn't occur to me to do the step in which we multiply t with 2PI. Why is this necessary? I was able to get a circle still without doing this.
2) Is it the same thing if I multiply t with 360.
Thanks a lot.
…
ere very helpful: the first one showed a very simple way to create a helical curve, and the second showed how to use the Rail Revolution object to extrude a triangle along 3D curve. I had not been aware of this object before and it works really well.
So I used these 2 methods to construct the cluster in the attached GH file.
Since achieving close tolerances with 3D printing is a trial and error process I made all the parameters tuneable via sliders. Their names pretty well describe what each slider does, but there are a few things worth noting:
# Threads is not the actual number of threads on the final part. What it does is control the number of rotations the threads make. I probably should have done something with degrees, radians, and 360 degree revolutions. But I didn't.
Thread Pitch controls the tightness of the threads.
These 2 combined control the overall height of the final result. Since there is no direct way to control the height of the part the actual height is provided by the Height value of the cluster.
The Top Adj. slider is a trick I could not find a way to avoid - essentially because I could not find a way to get the intersection point of a Rail Revolution with a cylinder. So what the Top Adj. slider does is let you whack off the top if the part to the point where you eliminate the left-over part of the thread that sticks out and prevents it from mating with the female part. (This is lots easier to see directly in GH than it is to describe in words.)
Finally, to make the female part I used the ScaleNU object to scale the threads up just enough to let the 2 parts twist together easily. Scale only the X & Y dimension and then use SDiff to make the proper opening. The scale value varies depending on the actual geometry used. For my part I set it to 1.1, but it took several tests to determine this value.
…
Added by Birk Binnard at 7:45pm on September 10, 2017
square and rotated the arcs around those new points as the base plane. I used a Series set to get the arc to rotate in 90 degree steps. So it rotates 90 in one grid square, 180 in the next, 270 in the next, 360 in the next and then just repeats this pattern. (see second image)
The third image is my GH script.
What I WANT is for the arcs to rotate in 90 degree steps at random, not in the same order over and over again, from one grid square to the next. I tried using the Random set, but am not having any luck. Can anyone help me? I am super new to this, so assume I know nothing. Thanks!
…