And you can see there a broad range of these browser on them is Instagram and just kind of think about different algorithmic techniques and kind of approaches and, you know, visual effects and visual claim wayful designs. So this is one, I'm kind of lovely place to browse. We get introduced to his work. He's also just been a contributor to these communities and a whole kind of wide variety of ways. So for a very long time, he's been part of a design company called Yes, Yes, No, they do all sorts of interactions design. Do a lot of like commercial work, as well as kind of more artistic independent work, I wanted to share. And if this one example of a project, I did a few. I'm the physical night lights. A large scale interactive projection that's on the side of a building there. Struggling. But some Okay, I'll go ahead and stop that for now. But you have a sense of some of that kind of work that they do. I wanted to mention one other proper, so many out, but mentioned one other thing of or a couple of other things. He's also one of the founders of a kind of important, interesting influential, like school called the school for poetic this is a place where if you're interested in these kinds of technologies or this kind of work you can actually with the study kind of the artistic creative use of. And then finally, he's one of the developers behind a set of tools called open frameworks that somebody played with are used open frameworks if you familiar with this. So open frameworks in the way, is a kind of cousin or like big brothers or processing. It's a C++ kind of set of libraries those like super powerful and versatile that's been developed for doing like interactive kind of visual programming. So, if you're interested in this space and especially if you comfortable working, that's really amazing that of libraries that are constantly growing most recently. There's a lot of And so just really powerful library for doing interactive. So yeah, these are really interesting person. And encourage you to check out this work and some of these tools. Okay, so that I wanted to back to knowledge. Any worst about, like what we went over on Tuesday, where we left off, kind of thinking about the turtle with preacher, okay? Actually, before I jumped into that, I wanted to mention one more thing, which is that you have your second assignment do on carpenter and purchase a. Check it out is do before class on Tuesday and if you're so first like coding assignment, there are a couple of like components that are designed to kind of flex your geometry muscles a little bit. So to do a simple polar plot to write a turtle-based procedure that draws a circle. But with a radius for this circle as input. So a bit of translating back and forth between additional geometry, internal geometry right? Internal procedure. That draws a flower with petals pedals that stick like perfectly within kind of the circle and you can choose the number of pedals. So this is an example of a flower with 11 pedals. I should be able to you know enter 6 as an input and get up a flower with six perfectly spaced kind of pedals around the center. And then finally there's like an open-ended component which is just to right like three different turbo procedures that draw interesting patterns on this weakness. So those are totally up to you to just explore like some of those. See what we went over on and then you'll document your work and post it on the website, a description of like each the elements before offense of the assignment images that are generated by your program when over the first kind of that the second day of class had to generate images and save them from processing and then also your code. So, you'll have floating code, your There are some very simple food style, viadlands right now. They mostly just say you should have like an a comment with your name and stuff that at. Yeah. Should this header thing in the close valve? That's guidelines. Be in every fire or just the main files. Yeah, and I'm asking you to have like each each component. Each of the four different things. Be an ending tab in the processing. They law automatically all kind of open together and so just your headers should just be enough. And the other questions that I have. Yeah, the slides from last class are not three not being errors. Like okay, I'll fix that. Okay, any other stuff? Okay? So before we move on to Elsa's I wanted to talk just a little bit more about geometry from kind of a higher level so in our you know, first programming class, we talked about these different coordinate systems, different ways of making sense of space. So, you know, that traditional kind of Cartesian coordinate system and then polar and sphericals or miss systems, think the the right way that I think about total geometry is just like a very different geometrical perspective. So, in particular, all of the traditional coordinate systems, it's like you are at a distance and you are like, looking down on this coordinate system. You have like a god's idea, right? Like you can see everything and like understands like the whole thing all at once and equations defined like you know, the equation for a circle. For example, define like the circle like simultaneously for like all points on the circle, right? It's like a truth about like this is the nature of the entire circle turtle geometry and do a lot of the same stuff, but it takes this really different perspective, where you don't have a God's value instead, you're embedded in the geometry, so you don't have that global understanding necessary of what's going on, but you have a different understanding this understanding and being like, physically embedded in the geometry and importantly, it's also a procedural approach to Says, this is how you like walk out the geometric packed instead of like this is the, you know, the true nature of some shape. It says, this is how you like can act, you know, a process to draw the shape. So it's kind of interesting just like contrast these different representational systems. So here's like equation for a line in Cartesian coordinates, or kind of how we English draw a line and processing and partition coordinates. So you get its four points, right? So or these two points, the initial x and y values, and the final epsom or values and do align using polar coordinates using instead of the key points, a radius value and angle and then internal geometry, what you do is kind of you give it a heading and then addition different kind of ways to generate exactly the same thing. One of the things that comes out of that turtle geometry representation is that simple programs can generate complex shapes for which mathematical equation would be really really complex or like impossible to enter represent. So like what's the xy equation for this shape? Like what's the you know, why is equal to? What the heck? Like this would be extremely complex to represent in traditional equilibrium. The same is true for all of these issues. So, it lets you kind of easily believe represent and generate kind of just entirely different classes of What Like really powerful and interesting example of how like the way we think about things can just profoundly impact like the kinds of things we do. And and what we're able to understand is this wonderful story that's about this earth formation called the Nazca Lines. How many of you know about like what the Nazareth. Okay, so there are things. Amazing structures that are in the desert in Peru that were built in. I think around 500 BC archaeologists estimate and they are massive. Human made forms that are kind of like these roads that are between like a quarter, and three quarters of a mile in size. So the massive like on the earth of and they were made a long time ago, of course, then then when you know, you know, white colonialists came to South America for a long time. They didn't had no idea that these were even there right there on the ground. And so they would see these roads and like, oh, pack that somebody made, but they had no idea that there would be shapes on the ground until Intel people started to be able to kind of get off the ground and then they were able to see these shapes. And so, for a long time, people were just like, oh my god. This is like an amazing thing. There's no way. Like people could have even done this, like we do not understand how to make us like this. So it must have been aliens that made these shapes and for it must have been ancient astronauts. And in fact, there was like a large body of lake literature of like white explorer. People like, saying talking about how these ancient astronauts like came to South America and through these shapes. Because clearly the only way today could be drawn is if you were looking at it from a guy God's like you had to have this high level perspective to like map it out and draw it that they were. Just like that's the only possible way these could have been created. But of course, they can be created if you kind of take a different approach to space from like our traditional kind of godsight including you, right? And a particular, you can imagine, if you take like kind of a more turtle style approach, where you have like in body approach to geometry, you can generate shapes like that, right? You can imagine like even though you're local you can walk around and like keep track of like where you are relative to where you've been and you can kind of shapes like that with like an embody kind of a local understanding of geometry. You don't have to maybe like on an airplane to be able to make a shape. So he shipped your life perspective of geometry and is different possibilities of percentage. And in particular, I think what is really powerful about turtle geometry? Gets at the essence in a lot of ways about what's powerful about like competition as a food mathematics. So mathematics is really interested in traditional mathematics is really interested in like what is true, and what is not true. And computer sciences interested in something slightly different which is like how can I do something? Like what is the process by? Which I can do something which of course is like related to what's true and what's not true but there's a fundamentally different thing. So it's a procedure for how to do something instead of like what something is a description of what something is, it's kind of like an action like a doing thing instead of overcome fact. So in like there's a long kind of fill-up topical tradition of life, knowing how versus knowing that like versus computer science. Like is a wonderful example of the fact that those things are really different and appreciation for process and doing is really powerful and complements like traditional mathematical perspective of just appreciating. What fruits? Hey, so Fox Lake. I don't know, I think turtles. Be on the street. A nice glimpse into this difference between traditional math and computer science basement. Any questions about that? Dive into another and my hands on public. So let's go ahead and open up past that thing. And if you want, you can open up the Google library weapon. Now, we're gonna talk to you talking today about one kind of common. And we interesting approach to computational design which is around stimulating, natural systems and particularly like how natural systems grow. And we'll be talking about our particular kind of algorithmic approach to simulating natural growth which is like health systems. So else systems were developed by this botanist named Astrid or our arrested. Sorry, Linda Meyer in the 60s. He is like one of the authors of this book, which was kind of the seminal early book on this topic. And he really developed it as a way to like understand plant growth and how plants that grew over time, what an elf system is, and those patiently a set of rules that turns a simple, kind of starting word. Usually use letters and kind of words to represent these things. So instead of rules that turns a simple starting word, we're just typically called an axiom into a more complex word by replacing symbols. So we have so a word will, so an else system consists of a starting word and then a rule that says, how that replacement takes place and in this case, I have a starting word of F and my rule says, I should replace every F in that word with this more complex pattern, of that minus that works f. For those of you who've taken like computer science theory classes and else system is an example, the grammar and for the purposes of this class, we're going to just look at context. Three context for your grammars. So they're not quite turning elite, but you can think of them on that like theoretical kind of hierarchy of lang. So, what you can then do to kind of visualize these systems, is that you can turn that generated string that generated work into a visual pattern using turtle geometry, where you interpret each symbol in your else system with a total movements. So, for example, for what we just looked at, we can interpret an F as a forward movement or certain amount, a minus as a left hand, turn, and a plus, as a right hand turn of a certain angle and then we can see that kind of patterns, we generate using different rules and different interpretations of rules different for. So here's an example, interpretation of like the rule that we just looked at and this this turtle interpretation. So let's say we start with the first words and that's just F, is forward 100. So that's the iterate once change back into F minus F plus plus F minus F and so that will give us, this shapes milk at 60 degrees to the left minus f, and then we go F forward. Again, 60 degrees to the right plus another 60 degrees to the right. One plus, and f again, 60 degrees minus, and then F. So we get this line with a little spike, the next iteration, every single F in that formulation, will we be replaced with that simple again? And so another way to think of this graphically is that every single line which is an F will be replaced with a copy of this pointy line. So every line will be replaced with it line jet and that'll give us the sheet. That looks like this. So here you can see the original shape like line jet line, but you can see that every line within it is replaced with another pocket. So this is an example of a fractal pattern where there's the self similarity in the shape. It turns out L systems and total geometry are really great and kind of quickly and easily generating some pract. So that's, of course, is an example of a famous oak, curve mathematician developed it. And you can keep iterating and iterating and you get the same overall shape, which just like more and more and more detailed. It's just a lovely simple example of what you can do, with Jennifer's health system. Okay, let's start implementing this in code. Let's see if we can build this. So, go ahead and open up processing and start trying to program, AA. The new sketch. And the first thing we're going to do is just add our little steps open for little star. So great. Going to go ahead and save and sketch soon as So, this just gives me a basic like turtle program. Now actually gonna add a new tab to this program and I'm gonna what else? And one of the things you can do in a new tab is actually you can define classes that are of, you know, very similar slightly different. A little bit of basically, pretty similar to traditional define, an ele system class has always been Think about what we want to have in this health system. So, we want to strain the Starting were Good word. I'm going to represent our set of Use this to be. Right. Now, I'm gonna to use our and minus, that was the first step. Had. Go now. Define a function that will kind of carry out the iterations of our and we'll pass it in a variable that says what's telling me iterations. Track of our temporary iterations of the work through. Initialize. Start forever. Taking. So first for every iteration we want to say our template is the computer word and then when they say you did order, Word. Place all. And you'll notice I can use a job, not functionality and process place all successful and then just for that heck of it, I'm in their print out like the starting work. Think about this. After every iteration the difference. Just, Let's just talk through this one more time, so we're gonna hit a rate and each iteration, we first copy, the current computed word, into our temporary variable. And then we're just gonna look through that temporary word, and replace every instance of an F which is rules zero with this new strain. That plan is that. And then we're going to print it out. So, let's go ahead and just try. To get that size or something else. Frames. So we only have that for long. Excitement, so that you can help us. Any questions about that before we go towards? Like, I'm getting on the line of computer work. Let might have not done this. Yeah, that's exactly. Yeah. So somewhere we have to initialize computer work. Sorry, I was just a little late when I was talking to the food, any other questions and Secret the health. Could be eight and also some variables at the top, initialize it and just call it literate. Because now, let's jump back over to this class of us to write our life. Interpreter essentially, like what we're going to do with this string, we're going to change, turn it into a pattern. So let's go to draw that little system. Take that turtle as an input. Caroline say, You know, it's less than When I look at every symbol in the word hardware here, good app. Here. Yeah. And he says rules as a string, we need to do our character at Oh wait, I'm sorry. I'm like, do you know? That, if a character at the position is an app, and when we want to forward, Right. Okay, plus minus that which was all of us, two bowls. Characters of the word into actions to full actions or forward or left or right. We've written out and all come back to that building in a second iterated, the health system generated as frames. 3 iteration. Yeah, that's true. What you to make it? Not we should probably rename this just clear our brand. So let's say, draw elves or something? Was it given it included? Or putting it in the oven file that clean it? Not draw over them. It's just because it's were like, overwriting. It like, giving it an input. So it it's able to distinguish between this law and after, but it's, oh, I see what you say. It's a week is still called withdrawal. It's not the input. Yeah, so it's better. That's avoid. Any other questions? So whatever we change our accent from the F to Will get. Just going to turn on the end. While the picture should turn on the end line, right? The top picture of my dog. I'm thinking it'll close because it's just three Forget like the fractal for our second. What was this? Just give us with our rules trying, right? The triangle and and then what will up walk? Hold that fractal. Do they each one of these apps? Replace each page. Yeah, exactly. So, let's run this and see. So here we turn first just and then you know, there's one that there's one it's useful to like let's go back and look at them some different information. So that's it right once? Well, that's interesting zero which is One, go with one spike. Fake sign. And this is like, this is called that coke snow point. Equilateral triangle built out of curves. What all happened? So it'll happen if I just change this angle of it from, say 60 to 70 tuition to battle be. Here's our original, like the lines, those two like this angle is 60 methods. 70 little gap. But we still lose the triangle. To come back. Okay. Of any questions about that and graphical shape. All right, So let's put it around with like, some other stuff that we can do. So this is the very simple poke purse, Let's just again, ask you some of these questions but let's we've kind of gone through this one already. This is the triangle shape. It's the angle is 90 one so shape. What shape is generate. And by this expression To work right? The square foot forward left forward, left or left. How about if we have an angle of 45? What would the expression be like, of s and pluses, or minuses to generate zig? Right. Okay. So F plus F, minus F plus About what's an angle, my expression that would generally get started. And that angle. How many? So changing the parameters, as well as that starting to shape and generate a range of differently. Polygons or here. So let's play around with some of these. Let's choose a new rule, so I'm gonna just go back to where else is going through here. I'm gonna have just a new This one and say half goes to, And had a little, Here, we Today, we're going to start it with a size of five and 90. Not a full square. So, I'm not gonna actually have a lot of I'm using a new rule which is the square root. Square. But I can not facing okay. All right. That's bad. Sorry, I'm trying. Okay, so we have a new axiom and then we're using this square rule instead of the rule, That's very take machine. Let's now play around, just adding some flexity to our rules. So instead of just having one rule, where we replace one simple and f with a collection of more complex symbols, let's add some symbols to our grammar. So in in particular, work going to add to symbols one for an L symbol and an R simple. And this is going to keep track of like thinking about has the kind of turned left versus paths that turn, right? So let's change our rules to add the simple. Also, the So, we're gonna have L those. So plus, or El Faro, goes to the greatest. Now, because we're adding complexity before cooking these rules, we didn't need to tell the health system, what to do with plus and minus. They just kind of persisted through these rules. But now that we have L and R, you'll see here. We're gonna need to get the explicit rules for what to do, for every single and even if we want to have plus and minus just persist to the organizing classes of course, Now, we're also going to are wool competition method or iterate because we can't just use this replace ball function anymore because we have more than plate. And so we're going to have to instead of using replace all. We're going to have to step through symbol in word and then teach rule, and of course, listen. So, let's Eat this in order to publicly place all. Instead, we're gonna have to do. Thank you. This is a second before I start writing that code. So we're going to have to, we have our computed word, we're going to have to leave weeks through social plus or what else or something, we have to read through each symbol in the word. Very, it's less than Word. Now we have our array of rules and we have to move through the whole array of rules to check and see whether the symbol that we're at like matches any of the things in our array of rules. So, knowing another four loops that's like, always to say me, A is called was less. And then when I say yeah see is we also Walls. Zero. So it's equal to the first entry. But we have to change that into our character. So, So, we found a match for this character, in our rule base. Then you want to start building up our new spring. And so to do that, let's new bringing to work with. And so computed word. As an appeal men, the new word and it's going to start empathy. And if we find a rule that matches the character we're at, then we're going to say who did word Looking at. Will work our hands, this strength. And then, we can learn. Any questions about that? It. To do the I think what we did at the started with a text, go back. Oh we have a couple of them. So we started looking at them. There's no F in our rule. So we need to start with a different. That and then what's the other thing that we haven't done yet that we need? The water visual eyes are also. Or just kind of go forward work in a tree tails and bars. Just one more interpreting that different. This is five iterations. And iterations of cashier might need a little bit of papers. This is a another famous fractal, called the dragon curve from what you guys see in this. So we're reaching the end of class today. We'll, we'll talk more about these next class. And next week, any any questions before we sign up for today this and I'll post over this. Okay, one quick note. Next Tuesday, we're going to meet instead of meeting in this room. We're going to meet in the lab. My lab which is there are directions posted to it on the website but it's in Ferris on the basement for a Ferris kind of if you're kind of the basement side that faces in 10 Centennial but again they're directions and stuff. So try to remember that we'll meet there next Tuesday at all. I'll start to introduce you to the leader of the, which will be of those bigger assignment. All right, cool. Well, thank you all have a great weekend and I will see you on Tuesday. I'm excited to get your programs here first program from a segment. We'll look at some of those next week. Yes, I post system careers have access to Here and take the space and my question in the perfect place. I'm going to, yeah. Simple. And, Yes, but one thing Shape.