Honours Project Report
|
|
- Nickolas Henry
- 5 years ago
- Views:
Transcription
1 1 Honours Project Report Natural Looking Graph Generator Author : Eashan Kumar Singh Supervisor : Dr. David Mould, School of Computer Science, Carleton University Date : 11th December 2015
2 2 Abstract The aim of this project was to create pseudo random graphs that look like something that would exist in nature, like the pattern on insect wings. It achieves this by modelling the random graphs using linear and angular springs on the nodes to make the graph more curvy rather than straight and jagged. This can be used to create randomly generated textures for objects that exist in nature. The main conclusion drawn was that cohesive circular structures looked more natural and graphs with nodes anchored by multiple edges produced the best results. Acknowledgements I d like to thank Dr. David Mould for supervising my honours project and for helping me with my project all the way from the selection of my topic to helping with the problems in the code.
3 3 Table of Contents Abstract 2 Acknowledgements 2 Table of Contents 3 Table of Figures 4 Outline 5 Introduction 6 Problem Statement 6 Motivation 6 Goals 7 Objectives 7 Background 8 Processing 8 Running the Project 8 Report 9 Generating Completely Random Graphs 9 Subdividing Edges 10 Anchoring Nodes 11 Edges That Try To Make Circular Patterns 12 Edges That Try To Make Sine Curves 13 Combining The Two Types Of Curves 14 Adding Variety In Angles And Anchoring Primary Vertices 15 Conclusion 17 Looking Forward 17 Appendix A Graphs generated for the statistics in the conclusion 18
4 4 List of Figures FIGURE 1 Bubbles under ice 6 FIGURE 2 A Completely Random Graph 9 FIGURE 3 Graph with edges subdivided 10 FIGURE 4 Graph with anchored edges 11 FIGURE 5 Graph with circular patterns 12 FIGURE 6 Graph with sine curves 13 FIGURE 7 Graph with sine curves and circular curves 14 FIGURE 8 Graph with variable circular curves and fixed primary vertices 15 FIGURE 9 Graph with variable sine curves and fixed primary vertices 16 FIGURE 10 Natural looking sine curve 1 18 FIGURE 11 Natural looking sine curve 2 19 FIGURE 12 Natural looking sine curve 3 19 FIGURE 13 Natural looking circular curve 1 20 FIGURE 14 Natural looking circular curve 2 20 FIGURE 15 Natural looking circular curve 3 21
5 5 Outline This document will talk about the Natural Looking Graph Generator project. The document will start off with an introduction which will present the problem statement being challenged, the motivation for the production of this project, the goals that need to be achieved and the objectives of the project. The background will give a small introduction to Processing and explain how to run the project. Finally, the report will chronicle all the major advancements in the code, explain the rationale behind each of them and analyze a screenshot from that version of the project.
6 6 Introduction Problem Statement When modelling graphs, is it possible to randomly generate graphs and alter them using linear and angular springs to make something more natural looking, e.g., the pattern on an insect wing, or the bubbles under ice in FIGURE 1. FIGURE 1 Bubbles under ice Motivation Most randomly generated graphs have straight edges with intersections that look jagged but when we look at patterns that exist in nature, we rarely see such structures. When we want to generate random structures, the easiest structures to generate are graphs since we only need to randomly generate some nodes and randomly generate which pairs of those nodes will have edges between them. The purpose of this project was to find a way to randomly generate graphs and modify them using linear and angular springs to make them look natural.
7 7 Goals 1. Randomly generate graphs that would work well with springs. 2. Add linear(hookean) springs between each edge. 3. Add angular springs between each pair of edges that is connected. 4. Study what values work for both types of springs. 5. Study what constraints on graph generation work well with spring modeling. Objectives 1. Make a completely randomly generated graph. a. Randomly generate coordinates for the nodes. b. Randomly assign edges between nodes. c. Add a linear spring with a random desired length on each edge. d. Add an angular spring with a random desired angle between each pair of edges that share a parent. 2. Study the completely random graphs to find desirable traits. 3. Make a Pseudorandomly generated graph with constraints dependant on the desirable traits 4. Study the Pseudorandomly generated graphs to find desirable traits and move to step 3 (Repeat as many times as desired)
8 8 Background Processing Processing is an open source programming language and integrated development environment (IDE) built for the electronic arts, new media art, and visual design communities with the purpose of teaching the fundamentals of computer programming in a visual context. The language builds on the Java language, but uses a simplified syntax and graphics programming model.this project uses Processing because it is an incredibly simple language for creating purely graphical programs. The simplicity of the language allows the code to be written much faster and leaves time to focus on the research aspects of this project. Running the project This project uses processing To install processing 2.2.1, 1. Go to 2. Look for under stable releases and download the version for your operating system 3. Extract the package that was downloaded To run the project, 1. Open the directory that was extracted 2. Execute processing.exe 3. In the menubar, select File > Open 4. Navigate to the project directory and select NaturalLookingGraphGenerator.pde 5. Press the run button 6. In order to activate the linear springs, press the left mouse button 7. In order to activate the angular springs, press any key on the keyboard
9 9 Report Generating completely random graphs At the start of the project, the graph generation was incredibly unsophisticated, it was just as a sanity check for the graph generation framework actually working. The results were mostly insignificant but there were two very important findings from it. Firstly, the graph was incredibly jagged so edges had to be divided into a lot of sub edges to make curves. Secondly, dangling edges make the graph look more sloppy so every node in the graph had to be anchored to the edges of the screen at two points. It also definitively proved that the graph manipulation framework was working as intended. FIGURE 2 A Completely Random Graph
10 10 Subdividing edges To subdivide the edges, the program divides each edge large enough into two edges by inserting a vertex between them and recursively sends both edges through the same process. After a couple of iterations, it seemed like keeping the threshold at 10 pixels worked out pretty well, keeping the length of all edges between 5 to 10 pixels. While the problem of the graph looking jagged was fixed, the anchoring problem became even more apparent. The dangling edges could not get to a rest state with the angular springs because they would just keep swinging with nothing to keep them anchored. Two other problems also arose at this point. The first was that the randomly generated angles were making slightly odd looking structures which could be fixed by making the primary edges have some cohesive structure that the sub edges tried to follow, like a sine curve. The second was that intersections didn t look very nice when the physics were being applied. This could be fixed by making a node at the intersection point and dividing the two edges intersecting there into four edges converging on that node. FIGURE 3 Graph with edges subdivided
11 11 Anchoring nodes The first few attempts at anchoring all nodes to two points on the edge of the screen ended in the program running into an infinite loop until I realized that for nodes to be anchored, there needed to be a minimum of two points on the edge of the screen. The graphs that had only two points on the edge of the screen looked very biased toward one corner of the screen if the points were on adjacent edges of the screen, or very narrow if the points were on the opposite sides of the screen. This problem got fixed by mandating a node on each edge of the screen. This led to more structured graphs but made the cohesive edge angles problem more apparent. FIGURE 4 Graph with anchored edges
12 12 Edges that try to make circular patterns To make all edges try to follow circular patterns, I set all the desired angles for angular springs to the same value. This made them all curve evenly making a perfect semicircle. FIGURE 4 was a huge success for the project because the left hand side of it has a pattern that has more of a natural look to it than anything that had been produced till now. This was a breakthrough for the project. That being said, the rest of the graph was still very bare and bland. FIGURE 5 Graph with circular patterns
13 13 Edges that try to make sine curves The next experiment was to make a graph where all the edges were trying to form a sine curve. This was done by assigning the first two subdivisions of an edge the values 1 and 1 and multiplying the fixed desired angles with the sign of the edge. FIGURE 5 brings an image that closely resembles a butterfly wing at the center which signified that the project was moving in the right direction. The rest of the graph was still very unremarkable. FIGURE 6 Graph with sine curves Remark In order to make the graph generate sine curves instead of circular curves, change the value of the boolean variable SINE to true.
14 14 Combining the two types of curves I was curious as to how the two types of curves mixed into a graph so I made edges have a 50% chance of being one of the two curves to see how it would turn out. After looking at a lot of randomly generated graphs, FIGURE 6 is the best graph that was produced. I think the graph became less natural looking by using both types of curves. FIGURE 7 Graph with sine curves and circular curves
15 15 Adding variety in angles and anchoring primary vertices In all the previous iterations with sine curves and circular curves, all of the angular springs were using the same angles regardless of which primary edge they were a part of. The next experiment was to change the angles each of the primary edges made. Another test I did here was that I made all the primary vertices immovable. This made the angles exert more force within their constraints which I think made the angles look more pronounced. I tried this with both circular curves and sine curves. FIGURE 7 and 8 show that adding the variety in angles and anchoring the primary vertices in both types of curve graphs made the graphs more natural looking. FIGURE 8 Graph with variable circular curves and fixed primary vertices
16 FIGURE 9 Graph with variable sine curves and fixed primary vertices 16
17 17 Conclusion The project set out to randomly generate natural looking graphs and I made a lot of progress on that front but ultimately the program only partially succeeds in that endeavour. In order to get three natural looking sine curve graphs, it took the program 13 tries and to get three natural looking circular curve graphs, it took the program 15 tries. There are a couple of ideas that I have listed in the section titled Looking Forward that I believe would have made the program have a better success rate. Given the start point, the program has evolved a decent bit and is capable of generating some beautiful graphs but the success rate is too low for me to label it a success. Looking Forward These are a couple of features I wanted to implement in the project but did not get the time to 1. Line intersections At every point of intersection, add a new node and split the two edges into four edges that converge at that node. 2. Coulombs s Law I wanted to solve the problem of edges crossing over each other due to the spring forces by making nodes have charges based on their parent edge that would repel all vertices that belong to other edges. 3. Bezier Curves I wanted to make a keypress function that made the physics simulation halt at the current point and model the current state of the graph using Bezier curves.
18 18 Appendix A Graphs generated for the statistics in the conclusion FIGURE 10 Natural looking sine curve 1
19 19 FIGURE 11 Natural looking sine curve 2 FIGURE 12 Natural looking sine curve 3
20 20 FIGURE 13 Natural looking circular curve 1 FIGURE 14 Natural looking circular curve 2
21 FIGURE 15 Natural looking circular curve 3 21
Fundamentals of Operations Research. Prof. G. Srinivasan. Department of Management Studies. Indian Institute of Technology Madras.
Fundamentals of Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology Madras Lecture No # 06 Simplex Algorithm Initialization and Iteration (Refer Slide
More information4. Write sets of directions for how to check for direct variation. How to check for direct variation by analyzing the graph :
Name Direct Variations There are many relationships that two variables can have. One of these relationships is called a direct variation. Use the description and example of direct variation to help you
More information(Refer Slide Time: 00:02:24 min)
CAD / CAM Prof. Dr. P. V. Madhusudhan Rao Department of Mechanical Engineering Indian Institute of Technology, Delhi Lecture No. # 9 Parametric Surfaces II So these days, we are discussing the subject
More informationDirect Variations DIRECT AND INVERSE VARIATIONS 19. Name
DIRECT AND INVERSE VARIATIONS 19 Direct Variations Name Of the many relationships that two variables can have, one category is called a direct variation. Use the description and example of direct variation
More information1. Mesh Coloring a.) Assign unique color to each polygon based on the polygon id.
1. Mesh Coloring a.) Assign unique color to each polygon based on the polygon id. Figure 1: The dragon model is shown rendered using a coloring scheme based on coloring each triangle face according to
More informationCS 4349 Lecture October 18th, 2017
CS 4349 Lecture October 18th, 2017 Main topics for #lecture include #minimum_spanning_trees. Prelude Homework 6 due today. Homework 7 due Wednesday, October 25th. Homework 7 has one normal homework problem.
More information(Refer Slide Time 3:31)
Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology Madras Lecture - 5 Logic Simplification In the last lecture we talked about logic functions
More informationThe name of our class will be Yo. Type that in where it says Class Name. Don t hit the OK button yet.
Mr G s Java Jive #2: Yo! Our First Program With this handout you ll write your first program, which we ll call Yo. Programs, Classes, and Objects, Oh My! People regularly refer to Java as a language that
More information(Refer Slide Time: 4:00)
Principles of Programming Languages Dr. S. Arun Kumar Department of Computer Science & Engineering Indian Institute of Technology, Delhi Lecture - 38 Meanings Let us look at abstracts namely functional
More information(Refer Slide Time: 01.26)
Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture # 22 Why Sorting? Today we are going to be looking at sorting.
More informationExcel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller
Excel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller Table of Contents Introduction!... 1 Part 1: Entering Data!... 2 1.a: Typing!... 2 1.b: Editing
More informationPhotoshop Introduction to The Shape Tool nigelbuckner This handout is an introduction to get you started using the Shape tool.
Photoshop Introduction to The Shape Tool nigelbuckner 2008 This handout is an introduction to get you started using the Shape tool. What is a shape in Photoshop? The Shape tool makes it possible to draw
More informationFig. A. Fig. B. Fig. 1. Fig. 2. Fig. 3 Fig. 4
Create A Spinning Logo Tutorial. Bob Taylor 2009 To do this you will need two programs from Xara: Xara Xtreme (or Xtreme Pro) and Xara 3D They are available from: http://www.xara.com. Xtreme is available
More informationMITOCW watch?v=kz7jjltq9r4
MITOCW watch?v=kz7jjltq9r4 PROFESSOR: We're going to look at the most fundamental of all mathematical data types, namely sets, and let's begin with the definitions. So informally, a set is a collection
More informationKuratowski Notes , Fall 2005, Prof. Peter Shor Revised Fall 2007
Kuratowski Notes 8.30, Fall 005, Prof. Peter Shor Revised Fall 007 Unfortunately, the OCW notes on Kuratowski s theorem seem to have several things substantially wrong with the proof, and the notes from
More informationMITOCW watch?v=r6-lqbquci0
MITOCW watch?v=r6-lqbquci0 The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free. To
More information(Refer Slide Time: 06:01)
Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 28 Applications of DFS Today we are going to be talking about
More informationView Frustum Culling with Octree
View Frustum Culling with Octree Raka Mahesa 13508074 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia if18074@itb.ac.id
More informationData Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi.
Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 18 Tries Today we are going to be talking about another data
More informationEECS 203 Spring 2016 Lecture 8 Page 1 of 6
EECS 203 Spring 2016 Lecture 8 Page 1 of 6 Algorithms (3.1-3.3) Algorithms are a huge topic. In CSE we have 2 theory classes purely dedicated to algorithms (EECS 477 and EECS 586) and a number of classes
More informationPhysically-Based Laser Simulation
Physically-Based Laser Simulation Greg Reshko Carnegie Mellon University reshko@cs.cmu.edu Dave Mowatt Carnegie Mellon University dmowatt@andrew.cmu.edu Abstract In this paper, we describe our work on
More informationCSC 2515 Introduction to Machine Learning Assignment 2
CSC 2515 Introduction to Machine Learning Assignment 2 Zhongtian Qiu(1002274530) Problem 1 See attached scan files for question 1. 2. Neural Network 2.1 Examine the statistics and plots of training error
More informationMITOCW watch?v=zm5mw5nkzjg
MITOCW watch?v=zm5mw5nkzjg The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free. To
More informationCMSC 425: Lecture 9 Geometric Data Structures for Games: Geometric Graphs Thursday, Feb 21, 2013
CMSC 425: Lecture 9 Geometric Data Structures for Games: Geometric Graphs Thursday, Feb 21, 2013 Reading: Today s materials is presented in part in Computational Geometry: Algorithms and Applications (3rd
More informationYup, left blank on purpose. You can use it to draw whatever you want :-)
Yup, left blank on purpose. You can use it to draw whatever you want :-) Chapter 1 The task I have assigned myself is not an easy one; teach C.O.F.F.E.E. Not the beverage of course, but the scripting language
More informationSketching Data
Sketching Data 101010001010 Carson Smuts - GSAPP 2013 This document outlines the core principles behind Parametric and Algorithmic computation. What has become evident is that users tend to learn as much
More informationChapter 9- Animation Basics
Timing, Moving, Rotating and Scaling Now that we know how to make stuff and make it look good, it s time to figure out how to move it around in your scene. Another name for an animation is Interpolation
More information6 Using Adobe illustrator: advanced
6 Using Adobe illustrator: advanced This document was prepared by Luke Easterbrook 2011. 1 Summary This document covers the use of the Adobe Creative Suite for Scientific Illustration. The adobe creative
More informationAdvanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras
Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture 18 All-Integer Dual Algorithm We continue the discussion on the all integer
More information02291: System Integration
02291: System Integration Hubert Baumeister hub@imm.dtu.dk Spring 2011 Contents 1 Recap 1 2 More UML Diagrams 2 2.1 Object Diagrams........................................... 2 2.2 Communication Diagrams......................................
More information(Refer Slide Time: 00:51)
Programming, Data Structures and Algorithms Prof. Shankar Balachandran Department of Computer Science and Engineering Indian Institute Technology, Madras Module 10 E Lecture 24 Content Example: factorial
More information(Refer Slide Time 6:48)
Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology Madras Lecture - 8 Karnaugh Map Minimization using Maxterms We have been taking about
More informationSimple Graph. General Graph
Graph Theory A graph is a collection of points (also called vertices) and lines (also called edges), with each edge ending at a vertex In general, it is allowed for more than one edge to have the same
More informationMemorandum Participants Method
Memorandum To: Elizabeth Pass, Associate Professor, School of Writing, Rhetoric and Technical Communication From: Andrew Carnes, WRTC 456 Section 1[ADC] Date: February 2, 2016 Re: Project 1 Competitor
More informationLab 9. Julia Janicki. Introduction
Lab 9 Julia Janicki Introduction My goal for this project is to map a general land cover in the area of Alexandria in Egypt using supervised classification, specifically the Maximum Likelihood and Support
More informationIntroduction to Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras
Introduction to Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Module - 05 Lecture - 24 Solving LPs with mixed type of constraints In the
More information(Refer Slide Time: 02.06)
Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 27 Depth First Search (DFS) Today we are going to be talking
More informationDgp _ lecture 2. Curves
Dgp _ lecture 2 Curves Questions? This lecture will be asking questions about curves, their Relationship to surfaces, and how they are used and controlled. Topics of discussion will be: Free form Curves
More informationUnit 10 Circles 10-1 Properties of Circles Circle - the set of all points equidistant from the center of a circle. Chord - A line segment with
Unit 10 Circles 10-1 Properties of Circles Circle - the set of all points equidistant from the center of a circle. Chord - A line segment with endpoints on the circle. Diameter - A chord which passes through
More informationAn Introduction to Computers and Java CSC 121 Spring 2015 Howard Rosenthal
An Introduction to Computers and Java CSC 121 Spring 2015 Howard Rosenthal Lesson Goals Learn the basic terminology of a computer system Understand the basics of high level languages, including java Understand
More informationInteractive Scientific Visualization of Polygonal Knots
Interactive Scientific Visualization of Polygonal Knots Abstract Dr. Kenny Hunt Computer Science Department The University of Wisconsin La Crosse hunt@mail.uwlax.edu Eric Lunde Computer Science Department
More informationNaming Angles. One complete rotation measures 360º. Half a rotation would then measure 180º. A quarter rotation would measure 90º.
Naming Angles What s the secret for doing well in geometry? Knowing all the angles. An angle can be seen as a rotation of a line about a fixed point. In other words, if I were mark a point on a paper,
More informationLesson 1: Creating T- Spline Forms. In Samples section of your Data Panel, browse to: Fusion 101 Training > 03 Sculpt > 03_Sculpting_Introduction.
3.1: Sculpting Sculpting in Fusion 360 allows for the intuitive freeform creation of organic solid bodies and surfaces by leveraging the T- Splines technology. In the Sculpt Workspace, you can rapidly
More informationHere is the design that I created in response to the user feedback.
Mobile Creative Application Development Assignment 2 Report Design When designing my application, I used my original proposal as a rough guide as to how to arrange each element. The original idea was to
More informationSkill 1: Multiplying Polynomials
CS103 Spring 2018 Mathematical Prerequisites Although CS103 is primarily a math class, this course does not require any higher math as a prerequisite. The most advanced level of mathematics you'll need
More informationKeyword: Quadratic Bézier Curve, Bisection Algorithm, Biarc, Biarc Method, Hausdorff Distances, Tolerance Band.
Department of Computer Science Approximation Methods for Quadratic Bézier Curve, by Circular Arcs within a Tolerance Band Seminar aus Informatik Univ.-Prof. Dr. Wolfgang Pree Seyed Amir Hossein Siahposhha
More information6.001 Notes: Section 17.5
6.001 Notes: Section 17.5 Slide 17.5.1 Now, let's look at one example in which changing the evaluation model allows us to explore a very different kind of computational problem. Our goal is to show how
More information(Refer Slide Time: 1:27)
Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 1 Introduction to Data Structures and Algorithms Welcome to data
More informationKINEMATICS FOR ANIMATION. Rémi Ronfard, Animation, M2R MOSIG
KINEMATICS FOR ANIMATION Rémi Ronfard, Animation, M2R MOSIG Direct and inverse kinematics in animation Fast numerical methods for inverse kinematics by Bill Baxter My Adventures with Inverse Kinematics
More informationLecture 34 SDLC Phases and UML Diagrams
That Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur Lecture 34 SDLC Phases and UML Diagrams Welcome
More information(Refer Slide Time: 00:01:53)
Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology Madras Lecture - 36 Design of Circuits using MSI Sequential Blocks (Refer Slide Time:
More information9 R1 Get another piece of paper. We re going to have fun keeping track of (inaudible). Um How much time do you have? Are you getting tired?
Page: 1 of 14 1 R1 And this is tell me what this is? 2 Stephanie x times y plus x times y or hm? 3 R1 What are you thinking? 4 Stephanie I don t know. 5 R1 Tell me what you re thinking. 6 Stephanie Well.
More informationGeometric Entities for Pilot3D. Copyright 2001 by New Wave Systems, Inc. All Rights Reserved
Geometric Entities for Pilot3D Copyright 2001 by New Wave Systems, Inc. All Rights Reserved Introduction on Geometric Entities for Pilot3D The best way to develop a good understanding of any Computer-Aided
More informationChapter 17: The Truth about Normals
Chapter 17: The Truth about Normals What are Normals? When I first started with Blender I read about normals everywhere, but all I knew about them was: If there are weird black spots on your object, go
More informationCS140 Final Project. Nathan Crandall, Dane Pitkin, Introduction:
Nathan Crandall, 3970001 Dane Pitkin, 4085726 CS140 Final Project Introduction: Our goal was to parallelize the Breadth-first search algorithm using Cilk++. This algorithm works by starting at an initial
More informationThere we are; that's got the 3D screen and mouse sorted out.
Introduction to 3D To all intents and purposes, the world we live in is three dimensional. Therefore, if we want to construct a realistic computer model of it, the model should be three dimensional as
More informationHex Planet Technical Demo Joel Davis
Hex Planet Technical Demo Joel Davis joeld42@yahoo.com Introduction Recently, on the yahoo Gamedesign-l mailing list, there was a discussion of different techniques for tiling a civ-like grid around a
More information6 Stephanie Well. It s six, because there s six towers.
Page: 1 of 10 1 R1 So when we divided by two all this stuff this is the row we ended up with. 2 Stephanie Um hm. 3 R1 Isn t that right? We had a row of six. Alright. Now before doing it see if you can
More information1Anchors - Access. Part 23-1 Copyright 2004 ARCHIdigm. Architectural Desktop Development Guide PART 23 ANCHORS 1-23 ANCHORS
Architectural Desktop 2005 - Development Guide PART 23 ANCHORS Contents: Anchors - Access ---- Working with the Curve Anchor ---- Working with the Leader Anchor ---- Working with the Node Anchor ---- Working
More informationVANSTEENKISTE LEO DAE GD ENG UNFOLD SHADER. Introduction
VANSTEENKISTE LEO 2015 G E O M E T RY S H A D E R 2 DAE GD ENG UNFOLD SHADER Introduction Geometry shaders are a powerful tool for technical artists, but they always seem to be used for the same kind of
More informationTangents. In this tutorial we are going to take a look at how tangents can affect an animation.
Tangents In this tutorial we are going to take a look at how tangents can affect an animation. One of the 12 Principles of Animation is called Slow In and Slow Out. This refers to the spacing of the in
More informationGenerating Test Data with Enhanced Context Free Grammars
Generating Test Data with Enhanced Context Free Grammars Peter M. Maurer Department of Computer Science and Engineering University of South Florida Tampa, FL 33620 ABSTRACT Enhanced context free grammars
More informationAlgebra 2: Chapter 8 Part I Practice Quiz Unofficial Worked-Out Solutions
Algebra 2: Chapter 8 Part I Practice Quiz Unofficial Worked-Out Solutions In working with rational functions, I tend to split them up into two types: Simple rational functions are of the form y = a x h
More information(Refer Slide Time: 01:01)
Principles of Programming Languages Dr. S. Arun Kumar Department of Computer Science & Engineering Indian Institute of Technology, Delhi Lecture - 32 Monomorphism Welcome to lecture 32. So today I will
More informationBonus Ch. 1. Subdivisional Modeling. Understanding Sub-Ds
Bonus Ch. 1 Subdivisional Modeling Throughout this book, you ve used the modo toolset to create various objects. Some objects included the use of subdivisional surfaces, and some did not. But I ve yet
More information6.001 Notes: Section 6.1
6.001 Notes: Section 6.1 Slide 6.1.1 When we first starting talking about Scheme expressions, you may recall we said that (almost) every Scheme expression had three components, a syntax (legal ways of
More informationTextures and UV Mapping in Blender
Textures and UV Mapping in Blender Categories : Uncategorised Date : 21st November 2017 1 / 25 (See below for an introduction to UV maps and unwrapping) Jim s Notes regarding Blender objects, the UV Editor
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 informationChapter 10 Recursion
Chapter 10 Recursion Written by Dr. Mark Snyder [minor edits for this semester by Dr. Kinga Dobolyi] Recursion implies that something is defined in terms of itself. We will see in detail how code can be
More information1 Leaffix Scan, Rootfix Scan, Tree Size, and Depth
Lecture 17 Graph Contraction I: Tree Contraction Parallel and Sequential Data Structures and Algorithms, 15-210 (Spring 2012) Lectured by Kanat Tangwongsan March 20, 2012 In this lecture, we will explore
More informationData Structures And Other Objects Using Java Download Free (EPUB, PDF)
Data Structures And Other Objects Using Java Download Free (EPUB, PDF) This is the ebook of the printed book and may not include any media, website access codes, or print supplements that may come packaged
More information** Pre-Sell Page Secrets **
** Pre-Sell Page Secrets ** Page 1 - CommissionBlueprint.com 2008 Introduction Using a pre-sell page is a highly effective tactic that can be used in almost any market to motivate a visitor into purchasing
More informationA DIVIDE AND CONQUER METHOD FOR CURVE DRAWING
ECS 78 Course Notes A DIVIDE AND CONQUER METHOD FOR CURVE DRAWING Kenneth I. Joy Institute for Data Analysis and Visualization Department of Computer Science University of California, Davis Overview In
More informationMath Dr. Miller - Constructing in Sketchpad (tm) - Due via by Friday, Mar. 18, 2016
Math 304 - Dr. Miller - Constructing in Sketchpad (tm) - Due via email by Friday, Mar. 18, 2016 As with our second GSP activity for this course, you will email the assignment at the end of this tutorial
More informationRead & Download (PDF Kindle) Data Structures And Other Objects Using Java (4th Edition)
Read & Download (PDF Kindle) Data Structures And Other Objects Using Java (4th Edition) Data Structures and Other Objects Using Java is a gradual, "just-in-time" introduction to Data Structures for a CS2
More informationA Survey of Software Packages for Teaching Linear and Integer Programming
A Survey of Software Packages for Teaching Linear and Integer Programming By Sergio Toledo Spring 2018 In Partial Fulfillment of Math (or Stat) 4395-Senior Project Department of Mathematics and Statistics
More informationFundamentals. Fundamentals. Fundamentals. We build up instructions from three types of materials
Fundamentals We build up instructions from three types of materials Constants Expressions Fundamentals Constants are just that, they are values that don t change as our macros are executing Fundamentals
More informationLet s start with occluding contours (or interior and exterior silhouettes), and look at image-space algorithms. A very simple technique is to render
1 There are two major classes of algorithms for extracting most kinds of lines from 3D meshes. First, there are image-space algorithms that render something (such as a depth map or cosine-shaded model),
More informationProblem Solving through Programming In C Prof. Anupam Basu Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur
Problem Solving through Programming In C Prof. Anupam Basu Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur Lecture - 04 Introduction to Programming Language Concepts
More informationUKNova s Getting Connectable Guide
UKNova s Getting Connectable Guide Version 1.2 2010/03/22 1. WHAT IS "BEING CONNECTABLE" AND WHY DO I NEED IT? Being connectable means being able to give back to others it is the fundamental principle
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 informationAdvanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras
Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture 16 Cutting Plane Algorithm We shall continue the discussion on integer programming,
More informationECE 600, Dr. Farag, Summer 09
ECE 6 Summer29 Course Supplements. Lecture 4 Curves and Surfaces Aly A. Farag University of Louisville Acknowledgements: Help with these slides were provided by Shireen Elhabian A smile is a curve that
More informationGeoGebra Workshop. (Short Version)
GeoGebra Workshop (Short Version) Contents Introduction... 2 What is GeoGebra?... 2 Get GeoGebra... 2 Workshop Format... 2 GeoGebra Layout... 3 Examples... 5 The Incenter and Incircle... 5 The Sine Function
More informationCOMP 410 Lecture 1. Kyle Dewey
COMP 410 Lecture 1 Kyle Dewey About Me I research automated testing techniques and their intersection with CS education My dissertation used logic programming extensively This is my second semester at
More informationShape and Line Tools. tip: Some drawing techniques are so much easier if you use a pressuresensitive
4Drawing with Shape and Line Tools Illustrator provides tools for easily creating lines and shapes. Drawing with shapes (rectangles, ellipses, stars, etc.) can be a surprisingly creative and satisfying
More informationPoint based global illumination is now a standard tool for film quality renderers. Since it started out as a real time technique it is only natural
1 Point based global illumination is now a standard tool for film quality renderers. Since it started out as a real time technique it is only natural to consider using it in video games too. 2 I hope that
More informationComputer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 24 Solid Modelling
Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 24 Solid Modelling Welcome to the lectures on computer graphics. We have
More informationPrezi Quick Guide: Make a Prezi in minutes
Prezi Quick Guide: Make a Prezi in minutes by Billy Meinke Updated Feb 2016 by Gina Iijima Welcome! This short guide will have you making functional and effective Prezis in no time. Prezi is a dynamic
More informationHi everyone. I hope everyone had a good Fourth of July. Today we're going to be covering graph search. Now, whenever we bring up graph algorithms, we
Hi everyone. I hope everyone had a good Fourth of July. Today we're going to be covering graph search. Now, whenever we bring up graph algorithms, we have to talk about the way in which we represent the
More informationProject Final Report
Project Final Report Automatic Number Plate Recognition BSc (Hons) Software Development Year 4 Student name: Michael Reid Student ID: C00112726 Project supervisor: Mr. Nigel Whyte Table of Contents 1 Introduction...
More informationPolar Coordinates. 2, π and ( )
Polar Coordinates Up to this point we ve dealt exclusively with the Cartesian (or Rectangular, or x-y) coordinate system. However, as we will see, this is not always the easiest coordinate system to work
More informationCIS 121 Data Structures and Algorithms with Java Spring 2018
CIS 121 Data Structures and Algorithms with Java Spring 2018 Homework 2 Thursday, January 18 Due Monday, January 29 by 11:59 PM 7 Required Problems (85 points), and Style and Tests (15 points) DO NOT modify
More informationTRINITAS. a Finite Element stand-alone tool for Conceptual design, Optimization and General finite element analysis. Introductional Manual
TRINITAS a Finite Element stand-alone tool for Conceptual design, Optimization and General finite element analysis Introductional Manual Bo Torstenfelt Contents 1 Introduction 1 2 Starting the Program
More informationProject report Augmented reality with ARToolKit
Project report Augmented reality with ARToolKit FMA175 Image Analysis, Project Mathematical Sciences, Lund Institute of Technology Supervisor: Petter Strandmark Fredrik Larsson (dt07fl2@student.lth.se)
More informationUtilizing a Common Language as a Generative Software Reuse Tool
Utilizing a Common Language as a Generative Software Reuse Tool Chris Henry and Stanislaw Jarzabek Department of Computer Science School of Computing, National University of Singapore 3 Science Drive,
More informationPaul's Online Math Notes. Online Notes / Algebra (Notes) / Systems of Equations / Augmented Matricies
1 of 8 5/17/2011 5:58 PM Paul's Online Math Notes Home Class Notes Extras/Reviews Cheat Sheets & Tables Downloads Algebra Home Preliminaries Chapters Solving Equations and Inequalities Graphing and Functions
More informationCase Study: Best Strategy To Rank Your Content On Google
Case Study: Best Strategy To Rank Your Content On Google SEOPressor Connect Presents: Case Study: Best Strategy To Rank Your Content On Google Copyright 2016 SEOPressor Connect All Rights Reserved 1 There
More informationCSE143 Notes for Monday, 4/25/11
CSE143 Notes for Monday, 4/25/11 I began a new topic: recursion. We have seen how to write code using loops, which a technique called iteration. Recursion an alternative to iteration that equally powerful.
More information3 Polygonal Modeling. Getting Started with Maya 103
3 Polygonal Modeling In Maya, modeling refers to the process of creating virtual 3D surfaces for the characters and objects in the Maya scene. Surfaces play an important role in the overall Maya workflow
More information