CPU (grasshopper-kangaroo sadly lacks in multicore support )
also, for your goal, maybe you need a different type of origami (the type of the video change its area from 1 to 0.2)
maybe this instead: http://farm3.static.flickr.com/2118/2840088474_ea513667ce_m.jpg
and: http://bryantyee.files.wordpress.com/2011/01/dsc_0305.jpg
(this change the area from 1 to 0 , "virtually" tought )
i've already some versions of the definition of that...
I'll reply soon to your contact.
Btw I'll try first to explain shortly what I do in the video.
1 from a surface I create a squared grid mesh - all quads;
2 i create a pattern that resemble this specific waterbomb origami type;
3 with this pattern i "save" 1 quad face each 5, the other 4 quad faces are converted to 8 triangle faces;
4 from the target surface i create a second "offsetted" surface;
then with kangaroo functions i:
5 - convert every edge of the mesh to a rigid spring;
6 - every vertex of the remaining quad faces is pulled to the surface "A"
7 - every other vertex (not part of any quad face) is pulled to surface "B"
playing with offset distance, strenght and air friction (kangaroo custom settings)
you can have somehow an origami simulator (3% errors)
note that if you know how and where to use origami its ok, otherwise the errors can easly go up to 50% or worse...…
a modélisation paramétrique avec Grasshopper pour Rhinoceros3D ainsi que démontrer plusieurs façons de l’appliquer à votre travail architectural.
Cette formation est conçue comme une expérience augmentée autour de l’architecture paramétrique et elle comprend aussi :
+ Une introduction au design paramétrique par Francesco Cingolani+ Une étude de cas d’un projet de l’agence de l’agence HDA Hugh Dutton Associés+ Acces gratuit 3 journées à l’espace de coworking SUPERBELLEVILLE
INSTRUCTEURS
FRANCESCO CINGOLANI . designer, enseignant en architecture paramétrique, co-fondateur deSUPERBELLEVILLE coworking, collaborateur de l’agence Hugh Dutton Associés. – voir le profil Linked-in
ŞULE ERTÜRK . Architecte diplômée de l’Université Yildiz Teknik à Istanbul, Master en architecture paramétrique, travaille actuellement aux Ateliers Jean Nouvel dans le département 3D. - voir le profil Linked-in
QUENTIN GAUCHER . Architecte DE-HMONP, diplômé de l’ENSA Paris La Villette, intervenant en architecture paramétrique sur divers projets - voir le profil Linked-in
DATES 25 mars 2013 . Annonce de la formation / Début des inscriptions5 avril 2013 . Fin des inscriptions13 – 14 avril 2013 . Formation
HORAIRES Samedi et Dimanche 13 et 14 avril . 10:00 > 13:00 – 14:00 > 19:00Total : 16 heures
TARIF700 € professionnels400 € étudiants
RÈGLEMENT50% est à régler lors de l’inscription (au plus tard le 5 avril)50% au début de la formation.Les règlements s’effectuent par carte bancaire via Paypal ou par virement bancaire.
NOMBRE DE PARTICIPANTSMinimum pour l’activation de la formation : 5Maximum : 7
CONTACTInscriptions et réglements : fr.cingolani@gmail.com . SUPERBELLEVILLE coworkingInformations : quentin.gaucher@gmail.comimmaginoteca.com/grasshopper
EN BONUSLe café italien et les plats faits maison de Claudia offerts aux participants :)…
Angeles, which has 12% of the year made comfortable, and Shiraz, Iran, which also has 12% comfortable (assuming default parameters).
Jerusalem also makes sense to me. There is only a maximum possible 9% of the year that is inside the polygon (you'll see this if you set the timeConstant to a very high number). The default strategyPar makes 6% of these hours comfortable and 3% without cool enough temperatures in the previous hours. This seems reasonable to me.
I could be convinced to change the default time constant to 12 hours (instead of 8) as I know that 12 is the default of climate consultant but that seemed really idealized in my opinion. You'll need really high exposed mass and insulation without much internal heat gain to make conditions stable for more than 8 hours in my opinion.
As for the solarHeatCapacity, I get changes when I drop it down to 10 W/m2 or boost it up to 100 W/m2. It's definitely a parameter that operates on an "order of magnitude" scale and little tweaks to it won't change it too much. You can think of this number as representative of a lot of other physical properties: most notably the depth of the space being passively heated and the thermal mass of that space's materials that participate in heat exchange over the time constant. Climate consultant uses a default assumption of 30 W/m2 but, from my calculations, this is likely assuming a space that has a facade to floor area ratio that is greater than 1. If we say that we need to raise the temperature of 10 cm of an exposed concrete floor for passive heating purposes, and we have a facade-to-floor area ratio of 1:
Required solar flux = ((1 facade-to-floor ratio) x (0.1 m3 of concrete) x (2400 kg/m3 concrete density) x (880 J/kg-K concrete specific heat capacity)) / 3600 seconds/hour
This lands you with a required solar flux of 58 W, which is almost twice the 30 W climate consultant default. While me might say that not all 10 cm of concrete participates over the course of a default 8-hour time constant (most of the action is probably within the first 5 cm), we also have to account for things like transmittance of solar though the window, which, for triple pane, is probably only half of the incident solar. So 50 W seemed to be a more reasonable rule of thumb from my perspective, essentially assuming a facade-to-floor ratio of roughly 1 with 5 cm of concrete participating in an 8 hour heat exchange and a little more than half of solar heat getting through a fully glazed window.
Let me know if that makes sense or if you have any suggestions,
-Chris…
list of points (only if you have too many points, so that you don't have a big delay)
2. Use a data recorder with a record limit (right click on the recorder to set this) at least twice the number of points and as large as possible to still run smoothly. (I am testing 50 points and have set the record limit to 1000 and it works ok)
3. Use [CullPt] set to "Cull All" (right click again).
4. And test when this list of points will be empty (list length equal to 0).
The accuracy of this depends on the number of points tested(larger=better), the record limit of Data recorder(larger=better) and the T input of CullPt(smaller=better).
If you want to be absolutely sure the simulation has finished completely, you could add another data recorder at the output of [Equality] and use [Mass Addition] to count the number of True's, so you could bake only after you have, let's say, 1000 true's.…
r spatial studies farther down the road, but I digress; on to my Grasshopper script:
I've built a Grasshopper script that will display a point field for a given topography map (curves extracted from contour lines). The idea here is to display higher levels of density where the highest slopes are within a given topo map.
The file works, but I'm wondering if there is a simpler way of going about this, since my file contains so much redundant info (open the cluster "Pt:50" to see what I mean). My Grasshopper Kung-Fu skills aren't anywhere near expert yet, so I defer to the experts out there for a simpler solution. Here's my breakdown:
1. Start at curve start point, and find closest point within the group of curves.
2. Get distance to that closest point, and find second point along said curve at that distance.
3. Repeat process along curve starting at each new point at each new process.
Thanks in advance for any suggestions/comments!
Cheers,
cb…
he start point.
Generation (2) i have 4 points + (3*3points) = 13 points.
Generation (3) i have 13 points + (9*3points) = 50 points.
But when i bake the python component i have 157 points ? Why ?
What's the logic behind this ?
Also how can i have in a, lists of points according to generations and for exemple in b lines according to generations too ??
Here's the code:
import rhinoscriptsyntax as rsimport random as rr.seed(seed)
def Main():....allGenerations = []....allGenerations.append(startPt)....curGeneration = []....curGeneration.append(startPt)....for i in range(gens):........newGeneration = []........for pt in curGeneration:............ang1 = r.randint(-30,30) ............ang2 = r.randint(90,150) ............ang3 = r.randint(210,270) ............dist1 = r.randint(10,40) ............dist2 = r.randint(10,40) ............dist3 = r.randint(10,40) ............zV = -1 ............newPoints = branch(pt, ang1, ang2, ang3, dist1/(i+1), dist2/(i+1), dist3/(i+1), zV) ............newGeneration.extend(newPoints) ............curGeneration = newGeneration ............allGenerations.extend(newGeneration)....return allGenerations
def branch(pt, ang1, ang2, ang3, dist1, dist2, dist3, zV):....ptP1 = rs.Polar(pt, ang1, dist1)....ptP2 = rs.Polar(pt, ang2, dist2) ....ptP3 = rs.Polar(pt, ang3, dist3) ....ptA1 = rs.AddPoint(ptP1)....ptA2 = rs.AddPoint(ptP2)....ptA3 = rs.AddPoint(ptP3) ....pt1 = rs.MoveObject(ptA1, [0,0,zV])....pt2 = rs.MoveObject(ptA2, [0,0,zV])....pt3 = rs.MoveObject(ptA3, [0,0,zV]) ....ln1 = rs.AddLine(pt, pt1)....ln2 = rs.AddLine(pt, pt2)....ln3 = rs.AddLine(pt, pt3) ....return [pt1, pt2, pt3]
a = Main()
Thanks for you replies and sorry for my noob questions...
…
the river Plate is an unexplored opportunity. The grid that configures the city’s urban tissue remains oblivious to its context, imposing a constant order. Its relationship with the river is one of mutual exclusion; as soon as the grid reaches the river it stops, but never modifies its nature. There is one happy exception to this condition – the northern riverside area of Buenos Aires called ‘Tigre’, which responds to the topography of the natural delta. In this workshop, projects will embrace the boundary between river and city as a means of managing alternative metropolitan ecosystems. By challenging the traditional relationship between architectural, urban and natural forces, students will propose new territorial organisations that develop both floating and rooted structures that are responsive to the nature of the delta. In this research workshop students have the opportunity to develop a range of computational techniques in order to explore alternative design opportunities. Week 1 Organised in teams, students will work with the articulation of the grid and the river. The goal is to produce several iterations analysing the potential transformation of the grid as it reaches the riverbank. This analysis will form the basis of an urban design proposal that establishes a new relationship between the city and the river. Design tutors, including Victor Orive, Arturo Revilla and professionals from the A A and other institutions, will provide digital tutorials and lectures on their own urban design research and projects. Week 2 During this phase we will address how such conditions affect discrete objects and/or a field of objects. The goal is to design a pavilion and study how a gradual change in field conditions will affect its size, porosity and orientation. This will unfold new opportunities to redefine the relationship between form and function.
Applications
The deadline for applications is 2 July 2012. All participants travelling from abroad are responsible for securing any visa required. After payment of fees, the AA can provide a letter confirming participation in the workshop. A portfolio or CV is not required, only the online application form and payment.
Fees
The AA Visiting School requires a fee of £695 per participant, which includes a £50 Visiting Membership. If you are already a member, the total fee will be reduced automatically by £50 by the online payment system. Fees are non refundable. Fees do not include flights. Accommodation during the workshop is not provided, but advice on accommodation options can be given. Students need to bring their own laptops, digital equipment and model making tools. Please ensure this equipment is covered by your own insurance as the AA takes no responsibility for items lost or stolen at the workshop.
Eligibility The workshop is open to architecture and design students and professionals worldwide.…
, but at the lowest level computers only manipulate ones-and-zeros according to exact and unambiguous rules. As a result of this it is actually impossible to generate true random numbers using a computer. Computers use algorithms that create sequences of pseudo random numbers, numbers that appear to be random, but in fact are created by the application of a deterministic algorithm.
One of the major benefits of pseudo random numbers over actual random numbers is that it's easy to reproduce a sequence of numbers. If you generate the first 50 numbers in the pseudo-random sequence with seed=5 they will be exactly the same as when you did it last week. If you want different random numbers, you have to use a different seed. In Grasshopper I thought it important that the same random numbers are always generated, as that minimizes the 'surprise'. However, since the default numbers might not be to your liking, you can always play around with the seed value until you find a pseudo random sequence that suits you.
If you generate 8 random numbers between 1 and 10, you might get a sequence like this:
{5, 8, 2, 4, 2, 7, 3, 10}
The pseudo random number generator guarantees that the spread of the numbers in the sequence is equal everywhere, but only when you generate an infinite amount of numbers. Since every sequence you care to generate in one human lifetime will not be infinite, there will always be some 'clumping' of values. A small stretch along the number line that is somewhat more densely populated by random numbers than the adjacent stretch.
There is also absolutely no guarantee that you won't get the same number more than once. Obviously this is impossible if you were to generate 50 values between 1 and 10 (there are only 10 possible unique numbers), but even if you generate only 2 values between 1 and 10 you might still get the same number twice.
Indeed in my example above the value 2 occurs twice, whereas the value 1 doesn't occur at all. If you want a range of numbers without overlaps, it's better to not use the Random component, but instead generate all the numbers using a Range or Series component and then Jitter the list, thus randomizing the order of the values, but not the values themselves.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
tion plays a role, so number 1 and 7 are maybe the same in math sense but not by my definition.
but what im aiming for is plotting out all possible combination of lets say n=50 cubes. so i need some kind of logic to generate these combinations. filtering ( and predefing start combinations-like dedackelzuchts link ) out these combinations according to some criteria would be the next thing.
i have no scripting abilities therefore my question was if this could be done also by gh components.
i thought about something like this:
add cube
extrude one face (x,y or z) -> one possible geometry (if orientation doesnt play a role)
check the two cubes
extrude one face (faces that are at same position are not valid) - > two possible combinations
check the 3 cubes
...
and so on
the thig is that the combinations branches and i have no clue how to do this with grasshopper.
thanxs a bunch
…