Midterm Project: L-systems in Practice and Theory
|
|
- Julie Harrison
- 5 years ago
- Views:
Transcription
1 Midterm Project: L-systems in Practice and Theory Joey Gonzales-Dones March 28, Introduction Lindenmayer systems, or L-systems, are systems for algorithmically rewriting a string of characters. Given a string µ over an alphabet V (µ V ), a set of productions P is used to replace substrings of µ to form a new string over V. The system must also include an axiom string, ω, which represents its initial state. (An L-system can formally be represented as a 3-tuple G = (V, ω, P ), using the same elements defined above.) L-systems are similar to Chomsky grammars, another category of string rewriting systems, and have similar naming conventions (context-free, context-sensitive). However, in Chomsky grammars, productions are applied one at a time, whereas in L-systems, productions are simultaneously applied to the whole string. This makes L-systems strictly more powerful than their corresponding grammars. [1, 1-3]. For example, the set {x a : x = 2 n, n 0} (i.e., all strings of all as whose length is a power of 2), is not generated by any context-free grammar (proof omitted for brevity s sake; see [2, 153] for the general idea), but it is generated by the context-free L-system V : {a} ω: a P : {a aa} Given the axiom a, we can apply the system s rule a aa to produce the string aa, then apply the same rule on both of the as simultaneously to produce the string aaaa. We could then produce aaaaaaaa using a third iteration, and so on. In addition to generating formal languages, the strings that L-systems generate can, when interpreted suitably, create mathematically interesting graphics, including fractals and plant-like shapes. 1
2 2 Graphical Interpretations Consider the Koch snowflake, a fractal formed by taking an equilateral triangle and recursively replacing each straight edge with a generator figure, as Prusinkiewicz and Lindenmayer illustrate in their book. Figure 1: An illustration of how the Koch snowflake is constructed. [1, 2] The book brings up the Koch snowflake as an example of the initiator and generator pattern without explicitly giving the the L-system that produces it. However, if we take an L- system that operates on strings and assign to each character an operation using turtle graphics (a system consisting of an imaginary turtle with a pen with a location point (x, y) R 2 and an orientation angle α R. See [1, 7] for a more in-depth explanation), we can easily use L-systems to produce graphical patterns. Using the Koch snowflake example, notice that the equilateral triangle initiator can be produced with turtle graphics using the following sequence of steps: 1: Draw forward 1 unit 2: Turn right by 120 (i.e., 60 twice) 3: Draw forward 1 unit 4: Turn right by 120 (i.e., 60 twice) 5: Draw forward 1 unit 2
3 Meanwhile, the generator can be produced with turtle graphics using the following sequence of steps: 1: Draw forward 1 unit 2: Turn left by 60 3: Draw forward 1 unit 4: Turn right by 120 (i.e., 60 twice) 5: Draw forward 1 unit 6: Turn left by 60 7: Draw forward 1 unit This suggests that we can produce the Koch snowflake with the following L-system: V : {A,, +} ω: A A A P : {A A + A A + A} with turtle interpretations A: Draw forward 1 unit +: Turn left by 60 : Turn right by 60. Note that there are no productions with + or on their left-hand sides; it is assumed in this case that the identity productions + + and hold. The first few strings produced by this L-system are: 0: A A A 1: A+A A+A A+A A+A A+A A+A 2: A+A A+A+A+A A+A A+A A+A+A+A A+A A+A A+A+A+A A+A A+A A+A+A+A..., 3
4 We see that this does indeed produce the Koch snowflake. Figure 2: The starting state and the first 4 iterations of an L-system that generates the Koch snowflake, visualized with OpenSCAD. For this and for subsequent examples, I wrote a Java program to represent an arbitrary L- system, and then for each example, another Java program to interpret the L-system string and carry out the turtle s actions. Rather than having the Java program draw directly, I decided to have it produce an OpenSCAD file using the turtle s position at each step. More specifically, the OpenSCAD file creates an ordered list (p 1, p 2,..., p k ) of rectangular prisms at each of the points the turtle visits, and then produces the convex hull of prisms p i and p i+1 for all i k 1, which creates a wall along the turtle s path. For another example (taken from Wikipedia), this is an L-system to produce the Sierpinski triangle, another common example of a fractal. V : {F, G,, +} ω: F G G P : {F F G + F + F F, G GG} 4
5 with turtle interpretations F, G: Draw forward 1 unit +: Turn left by 120 : Turn right by 120. Figure 3: The 5th iteration of an L-system that generates the Sierpinski triangle [3], visualized with OpenSCAD. Figure 4: A 3D print I made from the model in the above figure. 5
6 3 Stochastic L-systems So far, all the examples of L-systems have belonged to the simplest class, deterministic context-free L-systems, or DOL-systems. Since they are deterministic, DOL-systems will always produce the exact same string every time their productions are applied on the starting axiom. This is uninteresting and unrealistic when trying to model real-life objects such as plants. However, stochastic (context-free) L-systems have for each symbol in their alphabet a set of possible productions, along with a probability distribution π : P (0, 1], which maps to each production a probability that it will be chosen in a derivation. (A stochastic L-system is thus formally be represented as a 4-tuple G = (V, ω, P, π). [1, 28]). For a simple example, consider the stochastic L-system V : {A, a} ω: A P : {A 0.75 AA, A 0.25 a} Every time a production with left-hand side A occurs, there is a 75% chance of applying the production A AA, and a 25% chance of applying the production A a. Since there are no listed productions with a on their left-hand side, it is assumed that the identity production a 1.00 a holds. Here s an example 10-step derivation of this system: 0: A 1: AA 2: AAa 3: AAAAa 4: AAaaAAa 5: AAaaaaaa 6: AAAAaaaaaa 7: AAAAAAAAaaaaaa 8: AAaaAAAAAAaAAaaaaaa 9: AAAAaaAAAAAAaAAAAaaaaaaaaa 10: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa I made up my own interpretation for this system as follows. When interpreting the ith character: A: Draw a red rectangular prism at the coordinate x = i a: Draw a yellow rectangular prism at the coordinate x = i 6
7 Figure 5: The interpretations in OpenSCAD of four different derivations (for n = 10) of the stochastic L-system given above. (Note that the viewport is the same in all four images.) Here s another example, taken from Prusinkiewicz and Lindenmayer ([1, 28]): V : {F, +,, [, ]} ω: F P : {F 0.33 F [+F ]F [ F ]F, F 0.33 F [+F ]F, F 0.34 F [ F ]F } Again, we use a (slightly more complicated) turtle interpretation. This time, the turtle also has a stack (a data structure where an item may only be pushed onto or popped off of the top, which means data enters the stack in a last-in, first-out manner.) F : Draw forward 1 unit +: Turn left by δ : Turn right by δ [ : Push the turtle s current position and angle onto the stack ] : Pop the stack and set the turtle s current position and angle to the values that were popped. 7
8 As a result of introducing the brackets to the L-system s alphabet, it can create branched structures that resemble simple trees: Figure 6: Five trees rendered in OpenSCAD, using the above L-system and interpretation for n = 5 iterations, and a change in angle of δ = 20. 8
9 Figure 7: A close-up view of the trees in the previous figure. 4 Context-sensitive L-systems Another variation of L-systems are known as context-sensitive L-systems; this means that the symbol on the left, on the right, or on both sides of the current symbol (the strict predecessor) determines which production to apply. For example, the production a l < a > a r χ means Apply the rule a χ if and only if the symbol a l is to the immediate left of a and a r is to the immediate right of a. [1, 30] Context-sensitive L-systems can model more complex phenomena than context-free L-systems. Prusinkiewicz and Lindenmayer given an example involving signal propagation: V : {b, a} ω: baaaaaaaa P : {b < a b, b a} Notice that this system contains both a context-sensitive and context-free production; in that case that they both have the same strict predecessor, the context-sensitive production takes precedence. [1, 31] This system produces the following strings: 9
10 0: baaaaaaaa 1: abaaaaaaa 2: aabaaaaaa 3: aaabaaaaa 4: aaaabaaaa 5: aaaaabaaa 6: aaaaaabaa 7: aaaaaaaba 8: aaaaaaaab 9: aaaaaaaaa After iteration 9, the system does not change further (i.e., only the identity production a a is ever applied). It is more complicated to implement context-sensitive L-systems with brackets, which are useful for generating tree structures. In this case, the symbols to the immediate left and right of the strict predecessor may not be the correct left and right contexts, and thus we may need to skip over an arbitrary number of symbols to find the correct contexts. [1, 32] 5 Future Work Although I feel that I accomplished a lot over the course of this project, there are many more ways I could explore L-systems in the future. I did not have the time to implement bracketed contextsensitive L-systems, and thus do not have any interesting graphical models to show involving them. There is also one more important class of L-systems, parametric L-systems, which come in both context-free and context-sensitive varieties. Parametric L-system strings consist of modules, which are made of letters A V with associated sequences of parameters a 1, a 2,..., a n R. [1, 41] Modules work somewhat like functions in programming languages; In the example taken from Wikipedia, we might have the production rule a(x, y) : x == 0 a(1, y + 1)b(2, 3), so that the example string a(0, 1)[b(0, 0)]a(1, 2) will become a(1, 2)b(2, 3)[b(0, 0)]a(1, 2). Parametric L-systems allow properties associated with turtle interpretations, such as line segment length and change in angle, to become part of the system itself. [3] 10
11 As 2-dimensional turtle interpretation of L-systems is possible, so is 3-D turtle interpretation. The turtle s location is represented by a point (x, y, z) R 3, and its heading is represented by a set of three mutually orthogonal vectors H (heading), L (left), and U (up). Rotations about these three vectors can be represented by 3 3 matrices. Since I took the course CSCI 383: Theory of Computation, I have been interested in systems capable of general computation, and it would be interesting to study L-systems from that angle. I briefly mentioned in the introduction how L-systems are more powerful than Chomsky grammars of the same class. I suspect that parametric context-sensitive L-systems may be as powerful as Turing machines, since non-parametric context-sensitive L-systems are already more powerful than context-sensitive grammars, which are as powerful as nondeterministic linear-bounded automata (nondeterministic Turing machines with their tape limited to the length of their input) [2, 258]. A construction that converts an arbitrary Turing machine to a parametric context-sensitive L-system (and vice versa), may be something possible to study in the future. References [1] Prusinkiewicz, Przemyslaw, and Aristid Lindenmayer. The Algorithmic Beauty of Plants. New York, NY: Springer-Verlag, Print. [2] Kozen, Dexter C. Automata and Computability. New York, NY: Springer-Verlag, Print. [3] L-system. L-system. Wikipedia: The Free Encyclopedia, 25 Feb Web. 23 Mar
Fractals and L- Systems
Fractals and L- Systems Sanyam Gupta January 26, 2018 1 Lindenmayer systems Have you ever wondered, how to formulate a mathematical equation for the plant in your verandah or garden? The nature produces
More information12.2 Plants. CS Dept, UK
1 12.2 Plants - modeling and animation of plants represents an interesting and challenging area - exhibit arbitrary complexity while possessing a constrained branching structure - grow from a single source
More informationCS 4300 Computer Graphics. Prof. Harriet Fell Fall 2012 Lecture 28 November 8, 2012
CS 4300 Computer Graphics Prof. Harriet Fell Fall 2012 Lecture 28 November 8, 2012 1 Today s Topics Fractals Mandelbrot Set Julia Sets L-Systems 2 Fractals The term fractal was coined in 1975 by Benoît
More informationComputer Science 173 Fall, Project 3: Lindenmayer Systems Due in class on Monday, September 28
Computer Science 173 all, 2015 Project 3: Lindenmayer Systems Due in class on Monday, September 28 Work on this project with a partner. Create a new directory for this project, copy the Makefile from the
More informationTopics. Recursive tree models. Procedural approach L-systems. Image-based approach. Billboarding
Plant Modeling Topics Recursive tree models Billboarding Procedural approach L-systems Image-based approach Tree Model The structure of a tree Trunk (linkage) Branches (linkage, child of trunk node) Leaves/Buds/flowers/fruit
More informationDevelopmental Systems
Developmental Systems 1 Biological systems Early development of the Drosophila fly http://flybase.bio.indiana.edu dorsal view lateral view 2 Biological systems Early development of Drosophila [Slack 2006]
More informationImaginary Gardens A Model for Imitating Plant Growth
Imaginary Gardens A Model for Imitating Plant Growth Anne M. Burns Mathematics Department Long Island University, C.W. Post Campus Brookville, NY 11548, USA Email: aburns@liu.edu Abstract A simplified
More informationGenetic L-System Programming: Breeding and Evolving Artificial Flowers with Mathematica
Genetic L-System Programming: Breeding and Evolving Artificial Flowers with Mathematica C. Jacob, jacob@informatik.uni-erlangen.de, Chair of Programming Languages, Department of Computer Science, University
More informationCSE 167: Lecture #15: Procedural Modeling. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012
CSE 167: Introduction to Computer Graphics Lecture #15: Procedural Modeling Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Announcements Monday, Nov 26: Midterm review in
More informationParametric L-Systems and borderline fractals
1 Parametric L-Systems and borderline fractals A preprint version of a Mathematical graphics column from Mathematica in Education and Research. Mark McClure Department of Mathematics University of North
More informationL-Systems. Simulation of development and growth
L-Systems Simulation of development and growth The algorithmic beauty of plants L-Systems The central concept of L-Systems is that of rewriting A classical example of an object defined using rewriting
More informationKoch-Like Fractal Images
Bridges Finland Conference Proceedings Koch-Like Fractal Images Vincent J. Matsko Department of Mathematics University of San Francisco vince.matsko@gmail.com Abstract The Koch snowflake is defined by
More informationNovel Approach of Modeling Self Similar Objects using Parallel String Rewriting Methods through Combined L-System Techniques
International Journal of Information & Computation Technology. ISSN 0974-2255 Volume 2, Number 1 (2012), pp. 1-12 International Research Publications House http://www. ripublication.com Novel Approach
More informationA New Vision of Fractal Geometry with Triangulation Algorithm
A New Vision of Fractal Geometry with Triangulation Algorithm Yasser M. Abd El-Latif, Fatma S.Abousaleh, and Daoud S. S. Abstract L-system is a tool commonly used for modeling and simulating the growth
More informationUniversiteit Leiden Computer Science
Universiteit Leiden Computer Science Dynamically evolving L-system generated plant visualizations Name: Sander Ruijter S1415212 Date: 25/08/2016 1st supervisor: Dr. M.T.M. Emmerich 2nd supervisor: Dr.
More information1/16. Emergence in Artificial Life. Sebastian Marius Kirsch Back Close
1/16 Emergence in Artificial Life Sebastian Marius Kirsch skirsch@moebius.inka.de 2/16 Artificial Life not life as it is, but life as it could be very recent field of science first a-life conference in
More informationJournal of Applied Mathematics and Computation (JAMC), 2018, 2(1), 13-20
Journal of Applied Mathematics and Computation (JAMC), 2018, 2(1), 13-20 http://www.hillpublisher.org/journal/jamc ISSN Online:2576-0645 ISSN Print:2576-0653 Generation of Fractal Vessel Structure Functions
More informationCHAPTER-3 STUDY OF GRAMMAR TREE USING L-SYSTEM. The central concept of L-systems is that of rewriting. In general, rewriting is a
CHAPTER-3 39 CHAPTER-3 STUDY OF GRAMMAR TREE USING L-SYSTEM Generation is a needful solution to render fractal objects like trees that have a complex geometry characterized by a huge quantity of details..this
More informationCSE 167: Lecture #17: Procedural Modeling. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011
CSE 167: Introduction to Computer Graphics Lecture #17: Procedural Modeling Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 Announcements Important dates: Final project outline
More informationProcedural modeling and shadow mapping. Computer Graphics CSE 167 Lecture 15
Procedural modeling and shadow mapping Computer Graphics CSE 167 Lecture 15 CSE 167: Computer graphics Procedural modeling Height fields Fractals L systems Shape grammar Shadow mapping Based on slides
More informationConstructive Solid Geometry and Procedural Modeling. Stelian Coros
Constructive Solid Geometry and Procedural Modeling Stelian Coros Somewhat unrelated Schedule for presentations February 3 5 10 12 17 19 24 26 March 3 5 10 12 17 19 24 26 30 April 2 7 9 14 16 21 23 28
More informationModeling Leaf Shapes Using L-systems and Genetic Algorithms
Modeling Leaf Shapes Using L-systems and Genetic Algorithms Yodthong Rodkaew Intelligent System Lab (ISL), Department of Computer Engineering, Faculty of Engineering, Chulalongkorn University 43718130@student.chula.ac.th
More informationGraphical modeling using L-systems
Chapter 1 Graphical modeling using L-systems Lindenmayer systems or L-systems for short were conceived as a mathematical theory of plant development [82]. Originally, they did not include enough detail
More informationGenerate Leaf Shapes using L-system and Genetic Algorithms
Generate Leaf Shapes using L-system and Genetic Algorithms Yodthong Rodkaew 1, Suchada Siripant 2, Chidchanok Lursinsap 3 and Prabhas Chongstitvatana 4 Department of Computer Engineering Faculty of Engineering
More informationL-Systems and Affine Transformations
L-Systems and Affine Transformations Moreno Marzolla Dip. di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Copyright 2014, Moreno Marzolla, Università di
More informationFun with Fractals Saturday Morning Math Group
Fun with Fractals Saturday Morning Math Group Alistair Windsor Fractals Fractals are amazingly complicated patterns often produced by very simple processes. We will look at two different types of fractals
More informationImplementing Lindenmayer Systems Simon Scorer BSc Computer Science & Mathematics (International) 2004/2005
Implementing Lindenmayer Systems Simon Scorer BSc Computer Science & Mathematics (International) 2004/2005 The candidate confirms that the work submitted is their own and the appropriate credit has been
More informationTREE FAÇADES. Generative Modelling with an Axial Branch Rewriting System
C. M. Herr, N. Gu, S. Roudavski, M. A. Schnabel, Circuit Bending, Breaking and Mending: Proceedings of the 16th International Conference on Computer-Aided Architectural Design Research in Asia, 175-184.
More information8 Special Models for Animation. Chapter 8. Special Models for Animation. Department of Computer Science and Engineering 8-1
Special Models for Animation 8-1 L-Systems 8-2 L-Systems Branching Structures Botany Display geometric substitution turtle graphics Animating plants, animals 8-3 Plant examples http://algorithmicbotany.org/papers/#abop
More informationTurtle Graphics and L-systems Informatics 1 Functional Programming: Tutorial 7
Turtle Graphics and L-systems Informatics 1 Functional Programming: Tutorial 7 Heijltjes, Wadler Due: The tutorial of week 9 (20/21 Nov.) Reading assignment: Chapters 15 17 (pp. 280 382) Please attempt
More informationbiologically-inspired computing lecture 7 Informatics luis rocha 2015 biologically Inspired computing INDIANA UNIVERSITY
lecture 7 -inspired Sections I485/H400 course outlook Assignments: 35% Students will complete 4/5 assignments based on algorithms presented in class Lab meets in I1 (West) 109 on Lab Wednesdays Lab 0 :
More informationAnimating Plant Growth in L-System By Parametric Functional Symbols
Animating Plant Growth in L-System By Parametric Functional Symbols Somporn Chuai-aree, Suchada Siripant, and Chidchanok Lursinsap Advanced Virtual and Intelligent Computing Center (AVIC) Department of
More informationGenetic L-System Programming
Genetic L-System Programming Christian Jacob Chair of Programming Languages, Department of Computer Science, University of Erlangen-Nürnberg, Martens-Str. 3, D-958 Erlangen, Germany email: jacob@informatik.uni-erlangen.de
More informationDo not write in this area. Style (10) TOTAL. Maximum possible points: 30
Name: Student ID: Lab Instructor: Borja Sotomayor Impl (20) Do not write in this area Style (10) TOTAL Maximum possible points: 30 This is your individual grading sheet. You must hand this sheet along
More informationONE-STACK AUTOMATA AS ACCEPTORS OF CONTEXT-FREE LANGUAGES *
ONE-STACK AUTOMATA AS ACCEPTORS OF CONTEXT-FREE LANGUAGES * Pradip Peter Dey, Mohammad Amin, Bhaskar Raj Sinha and Alireza Farahani National University 3678 Aero Court San Diego, CA 92123 {pdey, mamin,
More informationTheory of Computation Dr. Weiss Extra Practice Exam Solutions
Name: of 7 Theory of Computation Dr. Weiss Extra Practice Exam Solutions Directions: Answer the questions as well as you can. Partial credit will be given, so show your work where appropriate. Try to be
More informationCSE 167: Introduction to Computer Graphics Lecture #16: Procedural Modeling
CSE 167: Introduction to Computer Graphics Lecture #16: Procedural Modeling Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 Announcements Reduced office hours today and tomorrow
More informationRepresentations of Palindromic, Prime and Number Patterns
Representations of Palindromic, Prime and Number Patterns Inder J. Taneja 1 Abstract This work brings representations of palindromic and number patterns in terms of single letter a. Some examples of prime
More informationA Characterization of the Chomsky Hierarchy by String Turing Machines
A Characterization of the Chomsky Hierarchy by String Turing Machines Hans W. Lang University of Applied Sciences, Flensburg, Germany Abstract A string Turing machine is a variant of a Turing machine designed
More informationTheory of Programming Languages COMP360
Theory of Programming Languages COMP360 Sometimes it is the people no one imagines anything of, who do the things that no one can imagine Alan Turing What can be computed? Before people even built computers,
More informationCSC 470 Computer Graphics. Fractals
CSC 47 Computer Graphics Fractals 1 This Week Approaches to Infinity Fractals and Self-Similarity Similarity Iterative Function Systems Lindenmayer Systems Curves Natural Images (trees, landscapes..) Introduction
More informationMore modelling. Ruth Aylett
More modelling Ruth Aylett Overview The great outdoors: fractals L-systems City Models Procedural generation of models How to make models.. Interactive modeling Human with a software modeling tool Scanning
More informationImproving the Process of Plant Modeling: The L+C Modeling Language UNIVERSITY OF CALGARY. Radosław Mateusz Karwowski A THESIS
UNIVERSITY OF CALGARY Improving the Process of Plant Modeling: The L+C Modeling Language by Radosław Mateusz Karwowski A THESIS SUBMITTED TO THE FACULTY OF GRADUATE STUDIES IN PARTIAL FULFILMENT OF THE
More informationTheory of Computations Spring 2016 Practice Final Exam Solutions
1 of 8 Theory of Computations Spring 2016 Practice Final Exam Solutions Name: Directions: Answer the questions as well as you can. Partial credit will be given, so show your work where appropriate. Try
More informationFractals & Iterative Function Systems
CS 543: Computer Graphics Fractals & Iterative Function Systems Robert W. Lindeman Associate Professor Department of Computer Science Worcester Polytechnic Institute gogo@wpi.edu (with lots of help from
More informationFractals. Fractals. Beautiful designs of infinite structure and complexity Qualities of Fractals:
Fractals Fractals Beautiful designs of infinite structure and complexity Qualities of Fractals: Fractional dimension Self similarity Complex structure at all scales Chaotic dynamical behavior Simple generation
More informationFractals: Self-Similarity and Fractal Dimension Math 198, Spring 2013
Fractals: Self-Similarity and Fractal Dimension Math 198, Spring 2013 Background Fractal geometry is one of the most important developments in mathematics in the second half of the 20th century. Fractals
More informationNatural Generation of Realistic Trees. Craig Bonathan
Craig Bonathan Bachelor of Science in Computer Science with Honours The University of Bath April 2009 This dissertation may be made available for consultation within the University Library and may be photocopied
More informationCS402 - Theory of Automata Glossary By
CS402 - Theory of Automata Glossary By Acyclic Graph : A directed graph is said to be acyclic if it contains no cycles. Algorithm : A detailed and unambiguous sequence of instructions that describes how
More information6.045J/18.400J: Automata, Computability and Complexity. Practice Quiz 2
6.045J/18.400J: Automata, omputability and omplexity March 21, 2007 Practice Quiz 2 Prof. Nancy Lynch Elena Grigorescu Please write your name in the upper corner of each page. INFORMATION ABOUT QUIZ 2:
More informationChapter 5. Models of plant organs. 5.1 Predefined surfaces
Chapter 5 Models of plant organs Many concepts presented in the previous chapters were illustrated using realistic images, but the modeling techniques for leaves and petals have not been described yet.
More information11. Recursion. n (n 1)!, otherwise. Mathematical Recursion. Recursion in Java: Infinite Recursion. 1, if n 1. n! =
Mathematical Recursion 11. Recursion Mathematical Recursion, Termination, Call Stack, Examples, Recursion vs. Iteration, Lindenmayer Systems Many mathematical functions can be naturally defined recursively.
More information12. Recursion. n (n 1)!, otherwise. Educational Objectives. Mathematical Recursion. Recursion in Java: 1, if n 1. n! =
Educational Objectives You understand how a solution to a recursive problem can be implemented in Java. You understand how methods are being executed in an execution stack. 12. Recursion Mathematical Recursion,
More informationCS39N The Beauty and Joy of Computing
CS39N The Beauty and Joy of Computing UC Berkeley Computer Science Lecturer SOE Dan Garcia Lecture #11 Recursion III 2009-11-09 It has been a challenge to power electronic components implanted within a
More informationSmooth Animation for Plant Growth Using Time Embedded Component and Growth Function
Smooth Animation for Plant Growth Using Time Embedded Component and Growth Function Somporn Chuai-Aree 1, Willi Jäger 1, Hans Georg Bock 1, Suchada Siripant 2 1 Interdisciplinary Center for Scientific
More informationCopyright 2009 Pearson Education, Inc. Chapter 9 Section 7 - Slide 1 AND
Copyright 2009 Pearson Education, Inc. Chapter 9 Section 7 - Slide 1 AND Chapter 9 Geometry Copyright 2009 Pearson Education, Inc. Chapter 9 Section 7 - Slide 2 WHAT YOU WILL LEARN Transformational geometry,
More informationCommunication Complexity and Parallel Computing
Juraj Hromkovic Communication Complexity and Parallel Computing With 40 Figures Springer Table of Contents 1 Introduction 1 1.1 Motivation and Aims 1 1.2 Concept and Organization 4 1.3 How to Read the
More informationTheory and Compiling COMP360
Theory and Compiling COMP360 It has been said that man is a rational animal. All my life I have been searching for evidence which could support this. Bertrand Russell Reading Read sections 2.1 3.2 in the
More informationFrom Theorem 8.5, page 223, we have that the intersection of a context-free language with a regular language is context-free. Therefore, the language
CSCI 2400 Models of Computation, Section 3 Solutions to Practice Final Exam Here are solutions to the practice final exam. For some problems some details are missing for brevity. You should write complete
More informationPlant synthesis Due: Monday, November 17
CMSC 23700 Introduction to Computer Graphics Project 2 Fall 2003 October 30 Plant synthesis Due: Monday, November 17 1 Introduction One of the xenobiology groups at NASA has finally found alien DNA hanging
More information: Intro Programming for Scientists and Engineers Assignment 1: Turtle Graphics
Assignment 1: Turtle Graphics Page 1 600.112: Intro Programming for Scientists and Engineers Assignment 1: Turtle Graphics Peter H. Fröhlich phf@cs.jhu.edu Joanne Selinski joanne@cs.jhu.edu Due Date: Wednesdays
More informationDecidable Problems. We examine the problems for which there is an algorithm.
Decidable Problems We examine the problems for which there is an algorithm. Decidable Problems A problem asks a yes/no question about some input. The problem is decidable if there is a program that always
More informationCREATION OF THE TREE MODEL ADAPTING TO ENVIRONMENT
CREATION OF THE TREE MODEL ADAPTING TO ENVIRONMENT Ryota Ueno Yoshio Ohno {ryota ohno}@on.ics.keio.ac.jp Graduate School of Science and Technology, Keio University 3-14-1 Hiyoshi, Kohoku-ku Yokohama 223-8522
More informationL-system Implementation of Multiresolution Curves Based on Cubic B-Spline Subdivision
L-system Implementation of Multiresolution Curves Based on Cubic B-Spline Subdivision K. Poon, L. Bateman, R. Karwowski, P. Prusinkiewicz and F. Samavati University of Calgary Abstract It has been previously
More informationLecture 3: Art Gallery Problems and Polygon Triangulation
EECS 396/496: Computational Geometry Fall 2017 Lecture 3: Art Gallery Problems and Polygon Triangulation Lecturer: Huck Bennett In this lecture, we study the problem of guarding an art gallery (specified
More informationECS 120 Lesson 16 Turing Machines, Pt. 2
ECS 120 Lesson 16 Turing Machines, Pt. 2 Oliver Kreylos Friday, May 4th, 2001 In the last lesson, we looked at Turing Machines, their differences to finite state machines and pushdown automata, and their
More informationLanguages and Compilers
Principles of Software Engineering and Operational Systems Languages and Compilers SDAGE: Level I 2012-13 3. Formal Languages, Grammars and Automata Dr Valery Adzhiev vadzhiev@bournemouth.ac.uk Office:
More informationFinal Exam 2, CS154. April 25, 2010
inal Exam 2, CS154 April 25, 2010 Exam rules. he exam is open book and open notes you can use any printed or handwritten material. However, no electronic devices are allowed. Anything with an on-off switch
More informationReflection in the Chomsky Hierarchy
Reflection in the Chomsky Hierarchy Henk Barendregt Venanzio Capretta Dexter Kozen 1 Introduction We investigate which classes of formal languages in the Chomsky hierarchy are reflexive, that is, contain
More informationMatrices. Chapter Matrix A Mathematical Definition Matrix Dimensions and Notation
Chapter 7 Introduction to Matrices This chapter introduces the theory and application of matrices. It is divided into two main sections. Section 7.1 discusses some of the basic properties and operations
More informationScope and Sequence for the New Jersey Core Curriculum Content Standards
Scope and Sequence for the New Jersey Core Curriculum Content Standards The following chart provides an overview of where within Prentice Hall Course 3 Mathematics each of the Cumulative Progress Indicators
More informationParallel and perspective projections such as used in representing 3d images.
Chapter 5 Rotations and projections In this chapter we discuss Rotations Parallel and perspective projections such as used in representing 3d images. Using coordinates and matrices, parallel projections
More informationDirected Graph for Finite-State Machine
Directed Graph for Finite-State Machine Tito D. Kesumo Siregar (13511018) 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,
More informationCS 441G Fall 2018 Exam 1 Matching: LETTER
CS 441G Fall 2018 Exam 1 Matching: match the best term from the following list to its definition by writing the LETTER of the term in the blank to the left of the definition. All 31 definitions are given
More information3. Syntax Analysis. Andrea Polini. Formal Languages and Compilers Master in Computer Science University of Camerino
3. Syntax Analysis Andrea Polini Formal Languages and Compilers Master in Computer Science University of Camerino (Formal Languages and Compilers) 3. Syntax Analysis CS@UNICAM 1 / 54 Syntax Analysis: the
More informationGeneration of 3D Fractal Images for Mandelbrot and Julia Sets
178 Generation of 3D Fractal Images for Mandelbrot and Julia Sets Bulusu Rama #, Jibitesh Mishra * # Department of Computer Science and Engineering, MLR Institute of Technology Hyderabad, India 1 rama_bulusu@yahoo.com
More informationMidterm Exam Fundamentals of Computer Graphics (COMP 557) Thurs. Feb. 19, 2015 Professor Michael Langer
Midterm Exam Fundamentals of Computer Graphics (COMP 557) Thurs. Feb. 19, 2015 Professor Michael Langer The exam consists of 10 questions. There are 2 points per question for a total of 20 points. You
More informationLogic, Algorithms and Data Structures Recursion and Stacks. By: Jonas Öberg
Logic, Algorithms and Data Structures Recursion and Stacks M1 By: Jonas Öberg What is recursion? Quick answer: A recursive function is a function which uses itself Example We define by the use of f( n
More informationGrade 6 Math Circles. Shapeshifting
Faculty of Mathematics Waterloo, Ontario N2L 3G1 Plotting Grade 6 Math Circles October 24/25, 2017 Shapeshifting Before we begin today, we are going to quickly go over how to plot points. Centre for Education
More informationCGT 511 Procedural Methods
3D object representation CGT 511 Procedural Methods Volume representation Voxels 3D object representation Boundary representation Wire frame Procedural Fractals Bedřich Beneš, Ph.D. Purdue University Department
More informationpp Variants of Turing Machines (Sec. 3.2)
pp. 176-176-182. Variants of Turing Machines (Sec. 3.2) Remember: a language is Turing recognizable if some TM accepts it. Adding features may simplify programmability but DO NOT affect what a TM can compute.
More informationTuring Machine Languages
Turing Machine Languages Based on Chapters 23-24-25 of (Cohen 1997) Introduction A language L over alphabet is called recursively enumerable (r.e.) if there is a Turing Machine T that accepts every word
More informationRepositorio Institucional de la Universidad Autónoma de Madrid.
Repositorio Institucional de la Universidad Autónoma de Madrid https://repositorio.uam.es Esta es la versión de autor del artículo publicado en: This is an author produced version of a paper published
More informationIn this lesson, students build fractals and track the growth of fractal measurements using tables and equations. Enduring Understanding
LessonTitle: Fractal Functions Alg 5.8 Utah State Core Standard and Indicators Algebra Standards 2, 4 Process Standards 1-5 Summary In this lesson, students build fractals and track the growth of fractal
More informationA Double-Minded Fractal
A Double-Minded Fractal Andrew J. Simoson, King College, Bristol, TN 376, ajsimoso@king.edu The fractal in Figure 1 appears to say Yes at the topmost level, then No at the secondary level, and Yes at the
More informationLindenmayer systems, fractals, and their mathematics
Lindenmayer systems, fractals, and their mathematics Alasdair McAndrew Alasdair.McAndrew@vu.edu.au College of Engineering and Science Victoria University PO Box 14428, Melbourne, Victoria 8001, Australia
More informationIntroduction to Computers & Programming
16.070 Introduction to Computers & Programming Theory of computation 5: Reducibility, Turing machines Prof. Kristina Lundqvist Dept. of Aero/Astro, MIT States and transition function State control A finite
More informationMathematics 350 Section 6.3 Introduction to Fractals
Mathematics 350 Section 6.3 Introduction to Fractals A fractal is generally "a rough or fragmented geometric shape that is self-similar, which means it can be split into parts, each of which is (at least
More informationFinite Automata. Dr. Nadeem Akhtar. Assistant Professor Department of Computer Science & IT The Islamia University of Bahawalpur
Finite Automata Dr. Nadeem Akhtar Assistant Professor Department of Computer Science & IT The Islamia University of Bahawalpur PhD Laboratory IRISA-UBS University of South Brittany European University
More informationDoes it Look Square? Hexagonal Bipyramids, Triangular Antiprismoids, and their Fractals
Does it Look Square? Hexagonal Bipyramids, Triangular Antiprismoids, and their Fractals Hideki Tsuiki Graduate School of Human and Environmental Studies Kyoto University Yoshida-Nihonmatsu, Kyoto 606-8501,
More informationFractals and Solid Modeling
EUROGRAPHICS '92 / A. Kilgour and L. Kjelldahl (Guest Editors), Blackwell Publishers Eurographics Association, 1992 Volume 11, (1992), number 3 Fractals and Solid Modeling Eduard Gröller Technische Universität
More informationCS5371 Theory of Computation. Lecture 8: Automata Theory VI (PDA, PDA = CFG)
CS5371 Theory of Computation Lecture 8: Automata Theory VI (PDA, PDA = CFG) Objectives Introduce Pushdown Automaton (PDA) Show that PDA = CFG In terms of descriptive power Pushdown Automaton (PDA) Roughly
More informationSpace Filling: A new algorithm for procedural creation of game assets
Space Filling: A new algorithm for procedural creation of game assets Paul Bourke ivec@uwa, The University of Western Australia, 35 Stirling Hwy, Crawley, Perth, West Australia 6009. Email: paul.bourke@uwa.edu.au
More informationWe can create PDAs with multiple stacks. At each step we look at the current state, the current input symbol, and the top of each stack.
Other Automata We can create PDAs with multiple stacks. At each step we look at the current state, the current input symbol, and the top of each stack. From all of this information we decide what state
More informationCHAPTER 1 Graphics Systems and Models 3
?????? 1 CHAPTER 1 Graphics Systems and Models 3 1.1 Applications of Computer Graphics 4 1.1.1 Display of Information............. 4 1.1.2 Design.................... 5 1.1.3 Simulation and Animation...........
More informationCT32 COMPUTER NETWORKS DEC 2015
Q.2 a. Using the principle of mathematical induction, prove that (10 (2n-1) +1) is divisible by 11 for all n N (8) Let P(n): (10 (2n-1) +1) is divisible by 11 For n = 1, the given expression becomes (10
More informationPDA s. and Formal Languages. Automata Theory CS 573. Outline of equivalence of PDA s and CFG s. (see Theorem 5.3)
CS 573 Automata Theory and Formal Languages Professor Leslie Lander Lecture # 20 November 13, 2000 Greibach Normal Form (GNF) Sheila Greibach s normal form (GNF) for a CFG is one where EVERY production
More informationFrom Modeling Foliage with L-systems to Digital Art
From Modeling Foliage with L-systems to Digital Art Glyn M. Rimmington glyn.rimmington@wichita.edu Mara Alagic mara.alagic@wichita.edu Wichita State University 1845 N Fairmount Wichita, Kansas, 67260-0142
More informationA Visual and Interactive Automata Theory Course with JFLAP 4.0
A Visual and Interactive Automata Theory Course with JFLAP 4.0 Ryan Cavalcante Duke University Durham, NC 27708-0129 Thomas Finley Cornell University Ithaca, NY 14853-7501 Susan Rodger Duke University
More informationProcedures: Algorithms and Abstraction
Procedures: Algorithms and Abstraction 5 5.1 Objectives After completing this module, a student should be able to: Read and understand simple NetLogo models. Make changes to NetLogo procedures and predict
More information