Algorithmic Modeling #1.1: Berlin Holocaust Memorial

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hi and welcome to this tutorial I'm going to in this tutorial I'm going to you more all with Rhino and with grasshopper I'm going to model Peter Eisenman's Berlin Holocaust Memorial Museum as you can see this is a building that is a public space it's comprised of a lot of a grid of concrete blocks each one of them having different heights and all together as a whole they form this kind of like undulating surface on top of them and I think this is a really nice example like a really good introductory example to do with parametric modeling and for this example I'm going to be using right now and grasshopper I use this exercise a lot of my in my courses so I felt that doing it here today as a tutorial would be interesting for many of you to learn something I'm going to do this in two parts the first part is going to be I'm going to start with like a super basic example where I'm just going to do a basic grid I'm going to populate that grid with boxes and then I'm going to adjust their heights to a design surface that we're going to create on top of it and then I will probably do a second part where I will try to replicate some of the more nuanced details of the actual examples of for example instead of being a pure grid I will probably add that degree to you a parcel that is not a square I will probably tilt in the boxes because that's how they are in real world and we will try to replicate this effect where the closer we get to the boundaries of the site some of the blocks start disappearing fading out so that will be part two of this video um I don't know when are you watching this or how you will watching this but feel free a lot of the info related to this video and the livestream that it belongs to will be on the description right here so feel free to check it out before we start modeling anything I'm going to I'm going to describe with a quick sketch what I'm going to do for the first part for the basic part and have these like sketching board here that took me a lot to set up but I'm very proud of it so what we're going to do is we're going to assume we're gonna start from a flat surface all right like this and basically all the blocks that we're going to design are going to be something like this so they're going to be displayed in a you know in an array in a 2x2 grid and somehow they're going to form this kind of like surface form on top of them so in order for us to replicate this form how do I create a new sketch okay whatever in order to create a new and in order to create this form what I'm going to do is first of all I'm going to start by creating a grid of points okay this grid of points is going to serve as the base for all those blocks that I'm going to I'm going to replicate then probably the second step that I'm going to follow is that I'm going to create some blocks on top of them so I will be creating these blocks here you know and another block here etc I'm really bad at sketching this right it's very difficult to do it on on a vertical screen and then the third part the third part that I will follow will be once I have all the blocks I will create for example I will probably create that in right now I will probably create some kind of like surface on top of this you know and I will then take each one of those points and measure the distance to the design surface to measure that distance and use that distance to drive the height of each one of the boxes they are going to form this monument okay why am i choosing a surface as opposed to doing for example some kind of mathematical rule were for example I could use a function I could use the sine function that you guys know does something like this I could use a sine function I could use a pearly noise function to calculate the height instead of in this surface but since it is an architectural project it's probably my understanding that if you guys were architects and you wanted to really really have control of the shape of this monument you would want to have something that you can have a bit more fine almost like touch you know and I think that modeling that surface on right now and like touching it and modifying it with control points would feel a bit closer to the real experience if you were making this model on the site and you will not be thinking about mathematical functions or probably noise you will be thinking about like oh I want this area a bit higher I want this area to be a bit more depress right so that tactility I think it's nice and we can get something close to that by modeling a surface in Rhino and then using that as the control surface that is going to drive the shape of this boxes okay so that's why I chose to make that you could choose a mathematical function that's perfectly fine this is my choice as a designer okay so so let's start the first thing I'm going to do is I'm going to create a grid of points and for that I'm going to go to the vector tab and I'm going to go to the grid category and use a rectangular grid of points just so you know I happen to be a icons person when using grasshopper it's my experience as an indicator that icons are much easier for beginners to remember because if you're using grasshopper it means that you're probably some kind of visual thinker and remembering images is much easier than remembering texts I find that so so you will be using I will be using grasshopper with icons I can change you can change that those two modes between icons syntax here on draw icons but anyway if you sometimes get lost I will be pointing to where these icons are on the menu and I will somehow I don't know how yet but I will post all these files to some kind of repository that you can download so you will be able to see them later later on okay okay so we can create a grid of points then when you can see here is that this component takes a plane which right now by default is the XY plane and it takes the sizes of the cell and how many elements in each direction x and y direction we want to have and the result is the outlines of the cells so the rectangles and the planes so sorry the points which is what I want here so I'm going to hide this component and I'm going to connect here a points parameter box so that I can just clearly see the points here and now I'm going to connect some components some sliders here to this components so that we can control this size of the green okay so for example the spacing between points in the X direction I'm going to say I'm going to say that's going to be a slider with decimal precision 10 and now the size in Y is going to be another slider and then how many elements and you see that I used decimal values here that's because we may want to have like really fine really fine control between them but for example when it's about the number of elements on the grid in each direction we may want that to be an integral with no decimal part just because we don't want to have like 95.7 elements right so for that I'm going to use an slider with an integer value here and now I have a grid of a hundred by a hundred points which are separated by ten by ten okay that's a lot of elements I'm gonna crank this down a little bit okay so it's gonna bet it's gonna get really vc varies so now that we have the now that we have a grid of points we can I'm going to I'm going to crank this down this is very very busy we can probably like crank it up later on so now that we have a grid of points I want to create boxes on top of these points before I do that now sorry let me create those boxes I'm going to go to surfaces and I'm going to go to primitives and here I see that I have five options for boxes okay I will want to use for example I could use a lot of different things but I think I want to use create box Center on a plane yeah just because these can work out of the box if I plug in if I plug in points right nevertheless something that I would like to do is I would like to notice that this component is asking me for planes and planes are a much more interesting structure than points because points only define location in space whereas planes define location and orientation all right which is much it's a much nicer structure to work with so because it contains more information so I would like to not let grasshopper decide for me how these planes how these points are turned into planes I would like to be the one who decides which planes are those that are here and right now it may not seem very important because we're going to do all those planes are going to be parallel to the XY but you will see on the second part of this video as soon as we start tilting these boxes having those planes will be of extremely important because we will be tilting those points those planes to create those steel boxes okay so I'm just going to here I'm going to go to vector and I'm going to planes and I'm going to create an XY plane based on those points and that's what I'm going to use to feed to the boxes I think my planes are really large on my screen size so I'm going to go here to the options preview plane size and lower that down to 0.5 for example maybe that's a little nah that's fine that's that's kind of good alright so now that we have boxes that are centered on these planes now I would want to control this size of these boxes right for now we're just gonna control well we're going to add values for example here we're going to add values of zero point zero zero for the x value and five for the y value and we may want to control these guys something like this all right and you can see that these controls the dimensions of these boxes and if we combine that with this then we start getting an array of boxes that is a bit closer to the them to the to the monument now I'm also temporarily I'm going to plug in another number for the Z height even though we want the seat height to be control parametrically and to be different for each one of them just for the sake of trying I'm going to test this with a value and what I see is something that I don't really like very much right now which is the fact that the seat height is making these boxes grow in both directions and so up and down and if I'm thinking of these planes here as the base on top of which the box grows from then mmm and it's not nice it's not it's not very it's not pure so I think I want to control this better by instead of using a box that is centered on a plane instead of using that component I would want to use a component that has a box that is controlled in size by domains all right what is a domain a domain in grasshopper is an interval between two numbers so it's something that starts at a minimum value and something that ends at a maximum value you can see that if I plug these guys here right now and I turn this one off you can see that the default values are minus 2 minus minus 2 plus 2 these are -5 and 5 and C is from zero to point 25 and you can see that these boxes are indeed now starting from this plane as the base which is an effect that I want much better than the previous one that I had so what I can do is I don't know if I can again this directly in here yes so I can plug it in and it will convert the value of 1.75 directly to a domain that goes from zero to one point 75 so what am I going to do what I'm going to do is I'm going to take these values here and I'm going to convert them to domains that I can plug in here so I'm going to do that by going here to the domain tab and constructing a domain the domain is going to ask me for two parameters the start of the domain and the end of the domain the end of the domain for example for X is going to be 3.58 but for the start is going to be the same value in negative form so I'm just going to use that negative form and I'm going to plug this into X and you can see that now this value is controlling because if I didn't if I hadn't done the domain if I hadn't created a domain and I had just plugged in Y you can see how the box is just growing in one direction only maybe that we could have gotten away with that I don't think it's a very clean solution so I think this is better so I'm going to copy-paste this I'm going to create I'm going to plug this in here negative negative and you can see that very soon we're getting a spaghetti here that's why it's very important to keep your grasshopper definitions tidy and clean I'm not sure if I will have time to do that now but definitely when we post this somewhere on this we will make the effort to clean them up and comment them a little bit better okay same for the inputs value and value is not a great thing to read this should read like X size of the box y size of the box etc cetera okay okay so we're good so we have a parametric definition that can with which we can create an array of concrete blocks that are separated a control parameter between each other all right so we're getting there the next thing we're going to do is because we want we don't want AC height that is fixed for all the boxes but we want those boxes to adapt to an undulating surface or we're going to do is we're going to create a surface in Rhino that we will import into grasshopper and then we will perform some calculations to figure out the distance between the plane and that surface and then use that distance as the height of these boxes okay in order to do that I'm going to go here to Rhino and I'm going to physically make draw a surface here in in right now how am I going to do that I'm probably just going to make two curves something like this and now I'm going to make another one something like this all right I'm going to maybe move move one of them all the way here to the end and then I'm going to love them I guess I don't know you guys probably have a you guys feel free to experiment how do you think this could be done and now I have this surface that I can perhaps like Center a bit better on top of here and I may want to remove these two curves that I created and I have now this surface alright that is floating on top of these boxes I'm going to import that surface by creating an empty box to contain the surface I'm going to right click here set one surface I'm going to import this here and now in Rhino so that I have a clearer view I'm going to hide this object and now you can see that I have this parametric well the surface is not really parametric but um there have this surface on the top of my boxes the next thing that I will need to do is that I want to take I want to figure out what the vertical distance between each one of these planes and the surface that is living on top of it so what I will do for that is I'm going to perform a projection operation I'm going to take all these planes and because I know where they are I'm going to take that point the point that is at the center of the point of the plane I'm going to project it vertically into the surface and I'm going to figure out where it hits that surface and after I do that I'm going to have another point on top of that surface I'm going to compute the distance between both of them and then that's going to be the value that I'm going to feed into the sea height of this of these of these boxes okay so in order to do that I'm going to use a project point this component is a component that takes any point and any vector and projects it onto some geometry that we can specify if you guys don't know where this component is I can control alt and click here and you can see that the component component belongs to the vector tab inside the point category it's project point here all right this component is asking me for a bunch of things it's asking me for the point that I want to project is asking me for the direction of projection and it's asking me for which geometry I want to project onto well that one is the easy one that's going to be the surface we just brought in and for the points and for the directions I want to keep it clean so what I'm going to do is because I wanted these planes to be exactly what I want to work with I'm going to deconstruct these planes this was here in vector plain I'm going to deconstruct this plane into its components so the origin that is the point that I want to project I could have taken it from here but this is a little cleaner to do and I'm going to use the normal direction of the plane so the sea height I'm going to use that as the projection direction and you can see that the result is that I'm getting this family of points that is projected on top of the surface right here all right so very easy now so I can just go here where is it point distance or I can double-click and type distance to compute the distance between two points the origin of the plane and the all the points that I just created and if I used that I'm going to move this all the way here if I use that distance as the sea height of my boxes you can see that all these boxes are now adapted to the geometry of the surface all right isn't that nice let me disable the visualization of some of these things yeah now and let me do like a preview custom preview I think I'm going to render them pink yeah but whatever you know now isn't this nice huh the nice thing about this way of modeling the the monument is that if I if I now unhide the surface okay and if I now touch the surface activate control points with for example f10 and then I drag any of these control points but that was not nice but if I drag it up for example you can see that everything adapts correspondingly and I can hide the surface again and I get this like massive bump as part of my modeling so this is very nice because I have some kind of like very tangible way of touching the surface and adapting the overall design of the monument to this guiding surface okay so with that I think I'm going to I'm going to finish this first part of the tutorial for the second part I will be adding more detail according to the real mode the monument and you will see somehow either on the screen here popping up as a card or on the video description you will see a link to the second part of this tutorial okay thank you very much
Info
Channel: ParametricCamp
Views: 1,709
Rating: 5 out of 5
Keywords:
Id: dRVLoui_rUU
Channel Id: undefined
Length: 22min 7sec (1327 seconds)
Published: Tue Apr 28 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.