Collision detection between moving objects using uniform space subdivision

Save this PDF as:

Size: px
Start display at page:

Transcription

1 Collision detection between moving obects using uniform space subdivision Smilan Šinur Laboratory for Geometric Modelling and Multimedia Algorithms Institute of Computer Science Faculty of Electrical Engineering and Computer Science University of Maribor Maribor / Slovenia Abstract Fast and accurate collision detection between general solid models is a fundamental problem in solid modeling, robotics, animation and computer-simulated environments. The most of the algorithms are restricted to an approximate collision detection. In the paper, we also present an algorithm for collision detection between 3D obects. The algorithm can be used in simulation robotics or any other simulation in 3D space. It works only with triangles, so the obects must be triangulated first, and obtained triangles are tested for collision detection then. Two methods are described for a triangle intersection test. The first one is a raw method, which tests all pairs of triangles in the space. Besides it, the improved algorithm with the space subdivision is given. The raw method is slow and it is not suitable for real time simulation. The space subdivision method is faster and it is expected to be quick enough for many real time simulations. The simulation is modelled and visualised in VRML, and the collision test and movement controlling are implemented in Java. Keywords: algorithms, collision detection, space subdivision, triangle-triangle intersection, geometry. 1. Introduction In recent years, the use of robot systems has rapidly increased, but these systems are still very expensive. Therefore, they must be protected from any damage. Unfortunately, it is usually impossible to directly prevent collisions between robots and obects surrounding them, while a robot cannot see its surroundings. A danger of going something wrong with a real physical robot is large. A small inattention when moving a robot can cause incorrigible damage or high expenses of repair. A robot could be equipped with eyes in a form of sensors and precise measuring instruments, but this would increase cost significantly. Therefore, it is much cheaper to use computer simulated robots [1], [2], specially for teaching purposes in robotics. Of course, it is expected that a collision detection is included in a simulation as well [3], [4]. It prevents collisions between a robot model and models of other obects. By reporting an error of collision

2 in simulation, a damage that could be made on a real robot performing the same action as its model is prevented. But the simulation with collision detection is not usable only for students learning about robotics. Information obtained from the simulation can also be used to contol a real robot. A computer model represents a real robot in a virtual world, which is a precise copy of robot's surroundings. The robot may repeat moves, which were previously recognized safe by simulating them on robot's model, and of course, the robot should not perform an operation, if its model collided with some virtual obect during simulation. The previously mentioned papers [1], [2] describe controlling a physical robot with a computer via internet. In this paper, we give a description how the collision detection is performed in simulation. This simulation is programmed with VRML and Java. The Virtual reality modelling language (VRML) is a multi platform file interchange format for building 3D graphical models. The VRML standard defines semantics found in 3D modelling applications e.g. construction of geometric primitives, hierarchical transformations, lighting sources, viewpoints, animation, etc. Java is also a platform independent programming language, which can interact with VRML scenes. In VRML, we create a virtual robot and the world that surrounds this robot, and the robot movement is controlled with Java components. The paper is organised into six chapters. After this introduction, a problem refered in the continuation is briefly discussed and the main actions are listed. In the third chapter, triangulation of particular VRML shape nodes is described. Namelly, our collision detection operates with triangles only, and therefore, more compex shapes have to be triangulated first. After this, two approaches to collision detection are explained: the raw method and the space subdivision method. In the fifth chapter, mathematical background of a triangle triangle intersection test, which presents the fundamental operation of the collision test, is observed. Finally, our work is briefly highlighted once more in the conclusion, and our future work in this field is described. 2. Interaction between VRML and Java in computer simulations For controlling a real robot by help of a computer, it suffices to calculate whether the robot collides with some other obect, but really efficient simulation should use all abilities of computer graphics to visualize a model of the robot and its virtual surroundings. We have used a possibilities offered by VRML to implement this task. The VRML is very suitable for simulations in 3D environment, because a user only has to describe the geometry and the lighting parameters of the virtual world, and all the rest is done by the VRML browser. The user need not think how to implement proections, rendering and navigation in a virtual world, while all these tasks are provided by the browser already. Besides this, the VRML browsers are typically designed as additional components to standard internet browsers, and therefore, VRML brings virtual worlds to internet. The main building element in the VRML language is called a node. It unites a set of fields, which can present parameters of types known from other programming languages, or other (nested) nodes. In VRML, the geometry is described with so-called shape nodes like a Sphere or a Cone. There are two possibilities. The first one is to use predefined primitive shapes. These shapes are boxes, cones, cylinders and spheres, which can ber represented by the Box, the Cone, the Cylinder and the Sphere nodes. Beside to the primitive shapes, the IndexedFaceSet node can be used to represent a 3D obect. By this node, the face geometry is described. Among all, the IndexedFaceSet node contains the coord field, which specifies the coordinates of points available for building faces within the face set. A complex obect can be represented by a group of

3 primitive types, or by a set of faces described by the IndexedFaceSet node, or by a combination of all these nodes. Figure 1: A robot arm created in VRML and controled with Java buttons In Figure 1, an example of a virtual robot is shown. The virtual world is built from different shapes (Box, Cone, Sphere, Cylinder and IndexedFaceSet). A single shape or more shapes build obects. Interesting obects presenting the parts of the robot are named oint1, oint2, oint3, pitch, yaw, roll and gripper. The static table and two cylinders lying on it are also obects. At first, we have to gather a geometry of all shapes to be able to build geometry of all obects. Besides nodes and fields, the third consistent part of the VRML language are events. Events bring dynamics into VRML world. We use them to change coordinates of particular obects. Actually, each obect is nested, one by one, in so-called Transform node, and the values of fields of these nodes, which represent parameters of geometric transformations (rotations, scalling and translation), are modified. A user can interactively modify these parameters by using Java buttons at the top of the window (see Figure 1). In this way, movement of the robot is controlled. A part of the robot may be moved only if it would not collide some other obect (the table, two cylinders on the table or other part of the robot) in its new position. The collision detection is also implemented in Java. The shapes are exported from VRML into the Java application first. While the collision detection is performed on triangles only, the obects being moved have to be triangulated then. After the triangulation, triangles are tested for intersections. If some intersection is determined, the application reports error, otherwise transformation parameters for obects being moved are exported back to VRML ( they are routed to appropriate fields in appopriate Transform nodes), and the VRML browser can visualize modified virtual world. From Figure 1, it can be noticed that we use the browser Cosmo Player.

4 Structure of the whole system and interaction of all included parts are shown in Figure 2. Figure 2: The collision detection system based on interaction of VRML and Java 3. Triangulation Our collision detection, as mentioned before, is performed on triangles only. Therefore it is necessary to triangulate every shape. Each shape is decomposed into several triangles. A triangle is described by three points (vertices): Triangle(P 0, P 1, P 2 ). The primitive shapes are triangulated in the following way: - A box consists of six sides. Each side is a rectangle described with four vertices. Two triangles are generated for each side. Example of triangulation of a box is shown in Figure 3a. - A cylinder cosists of the curved side and circular top and bottom side. Every part of a cylinder is triangulated separately. The circular top and bottom are described with sixteen triangles each. For better accuracy, a circle can be triangulated with more triangles, but the collision test would become slower in this way. With less triangles, we gain on time, but lose on accuracy. The curved side is trianglulated with thirty-two triangles. Therefore, the cylinder is described with sixty-four triangles. A triangulated cylinder is shown in Figure 3b.

5 - A cone is consists of a circular bottom and a curved side. The bottom is triangulated in the same way as the circular top or bottom of a cylinder. The curved side of a cone is triangulated with sixteen triangles. One vertex of a triangle is the top point of the cone, and the other two vertices are situated on the circle that represents the bottom. The whole cone surface therefore consists of thirty-two triangles. An example is given in Figure 3c. - On a sphere, the grid of meridians and parallels is created first. Here, it is also possible to change the accuracy of triangulation. Usually, we use sixteen meridians and eight parallels. At the top and at the bottom of the sphere, we obtain sixteen spherical triangles on each side, and they are appoximated by planar triangles. Therefore, each of these two regions is triangulated in a similar way as the curved side of a cone. The region between two neighbouring parallels consists of sixteen curved rectangles. Each of them is approximated by a planar rectangle, and then divided into two triangles. The operation is similar to triangulation of the curved face of a cylinder, but note that the top and the bottom side of the region between the neighbouring parallels are not of the same size. The number of obtained triangles on a sphere is two hundred and eighty-eight, if the default accuracy is used. An example of a triangulated sphere is shown in Figure 3d. a) b) c) d) Figure 3 : Trianglulation of a) Box, b) Cylinder, c) Cone, d) Sphere Non-primitive shapes represented by IndexedFaceSet are triangulated in the following way. When building shapes with this node, it must be considered first whether the shape is convex or concave. All the shapes mentioned before are convex. At the curent level of implementation, our application also allows only obects with all the faces described by the IndexedFaceSet node being convex. Typically, the coord field includes the Coordinate node. The coordindex field specifies a list of the coordinate indices refering to the points describing a single face or more

6 faces. The points are specified in the coord field. The convex field is TRUE or FALSE indicating whether all the faces in the face set are convex. The IndexedFaceSet node has also some other fields, but they are not so important for representing geometry. More imformation on VRML nodes and the structure of VRML files can be found in the book [6]. From IndexedFaceSet, we obtain several planar polygons. The polygons can vary in number of vertices. Each polygon must be triangulated. From a polygon with n vertices {P 0, P 1, P 2,, P i, P i+1,, P n }, we obtain n-2 triangles sharing common top vertex: (P 0, P 1, P 2 ),, (P 0, P i, P i+1 ),, (P 0, P n-1, P n ). In figure 4, an example of a pentagon is given. After triangulation, we obtain three triangles. Figure 4: Triangulation of a pentagon With these nodes (Box, Cone, Cylinder, Sphere and IndexedFaceSet), we can describe any robot in space. Later, more complex concave faces will also be available in simulation, but for simple use for educational purposes the described shapes are sufficient. Every obect is described with a list of triangles. Therefore, every triangle has an id, to tell us to which obect the triangle belongs. To every triangle, a 4x4 matrix belongs also. This matrix describes the position of the triangle in space. When transforming- translating, scaling or rotating an obect a triangle that presents the obect, we change the values in this matrix, not the vertex coordinates of triangle. Real position of the triangle in space is then obtained by multipling all the vertices of the triangle by the matrix. Every obect each triangle that represents the obect, also has a tag, which describes, whether the obect is static or dynamic. If the triangle has a static tag, it means that it cannot be moved. For example, the table in Figure 1 is a static obect. Dynamic triangles can be moved. 4. Collision detection Each triangle in our virtual world has its own id, which identifies the obect that the triangle is a part of. A triangle is also equipped with the matrix, which describes its position in the space. When some obects are being moved, the matrices of all triangles that represent these obects must be corrected. Collision detection is then performed on these triangles. Two triangles need not be tested if :

7 - they belong to the same obect. We suppose that shapes of all obects remain unchanged all the time. While none of the parts of the robot does not intersect itself at the beginning, this cannot even happen later. - they are static. If two static obects do not intersect at the begining of simulation, there is no need to test a pair of static triangles later in simulation. Therefore, the triangle-triangle intersection test is made only when we compare two dynamic triangles or a static and a dynamic triangle. Before calling a routine for triangle-triangle intersection test, all triangles must be described with points at correct positions. All three points of both triangles must be multiplied with the transformation matrix of the corresponding triangle. In the next two subsections, we describe two methods for collision detection. They differ significantly in number of triangles that have to be tested. First, the raw method is described. This method is slow and it is not suitable for a real time simulation. The second method is based on space subdivision. It is expected to be faster than the raw method for more than 80 %. 4.1 Raw method This is the simplest method for testing collision detection. Each triangle is tested for intersection with all the others triangles in space. When testing a pair of triangles, both triangles must present parts of two different obects. There are two possibilities when to stop the intersection test : - stop when two triangles intersect. We are only interested in the answer whether any obect collide with any other obect. After we have found out that two obects, to which the two intersecting triangles bellong, collide, there is no need to test whether any other obects collide. - stop after all triangles have been tested for collision. Here, we are interested in obtaining the list of all obects that collide (to draw them with the different color or modify the movement parameters to avoid collisions). During processing, the list of collided obects is made. When choosing two triangles for the intersection test, they should present parts of obects, which are not in the list. In robot simulation, it is usually expected that the obect collision rarely appears. Every user avoids these situations. The most collision process time is needed when there are no collided obects in the space. For this situation, the O( n 2 ) time complexity is obtained, where n is the number of triangles in the space. Actually, the number of intersection tests is a bit lower while we do not test pairs of triangles gelonging to the same obect, but it is in general still O(n 2 ). If we have a lot of triangles in the space, time spent for testing collisions is very long. For example, if there are two thousand triangles, the triangle-triangle intersection is made up to two millions times (probably less, while we do not test triangles of the same obect). The robot in Figure 1 is described with approximately 1500 triangles, and requires about a million of repetitions of the intersection test. Beside to this, the intersection test is not a simple operation. For faster and real time simulations, some acceleration technique is recommended. In the next subsection, we propose one of them the space subdivision method. 4.2 Space subdivision method Here, we employ a 3D generalization of the acceleration technique, which is widely used in applications of computational geometry, especially in GIS, where we have to deal with large

8 amounts of geometric data. We divide the space into subspaces usually named cells and then determine for each geometric element (a triangle in our case) the cells that at least partially contain the obect. After this, it suffices to test for intersections only the elements belonging to the same cell. It is important to divide the space efficiently. It is recommendable that the cells are simple shapes to accelerate the containment test whether an element belongs to the cell. The most natural way is to use rectangles in 2D, and cubes in 3D space, both with the sides parallel to coordinate axes. Beside to this, it is desired that a particular cell does not contain to many geometric elements. Note that a particular element can spread over more adacent cells. We use a heuristics to determine size of the cells. We use an average length of all triangles in all three coordinate directions. Dimensions of a cell are then calculated as follows. dim dim dim x y z = = = n 1 i= 0 n 1 i= 0 n 1 i= 0 (max( x ) min ( x [ 1..3] [ 1..3] (max( y n ) min ( y [ 1..3] [ 1..3] (max( z n ) min ( z [ 1..3] [ 1..3] n )) )) )) It is expected that a particular triangle spreads over a small number of cells, and that each cell contains a small number of triangles. Consecutively, the number of repetitions of the triangletriangle intersection test is also small. The time complexity for this method is O(a m 2 ), where a is the number of cells, and m is the avarage number of triangles in a particual cell. The value of m is always much smaller than the number of all triangles in the space (m << n). The space subdivision is performed only once at the begining of the simulation. The space has to be limited in a way to assure that none of the obects would fall out of it later after performing geometric transformations on obects. This seems impossible, but we should not forget that we usually know the real-world environment of the robot being simulated (the robot is placed in the room, for example). Each cell has a list of triangles that are at least partially contained in the cell. If the transformation is performed on an obect, it must be performed on all triangles that form this obect. Such triangle must then be removed from all cells containing it before the transformation, and inserted in the triangle lists of cells containing the triangle after the triangulation. After this, a triangle-triangle intersection test for all pairs of triangles in particular cells is performed. To increase efficiency, any two triangles of the same obect and any two static triangles are not being tested. This method is in general much faster than the raw method. If we have two thousand triangles, and assume that we divide the space into one hundred twenty-five cells (five subdivisions in each coordinate direction), we obtain sixteen triangles per cell in average. The number of triangle-triangle intersection tests will then be about thirty thousand (152 * 16 2 ) or even less. This number is much smaller than two millions obtained with raw method.

9 In Figure 5, an example of space subdivision is shown. We use a 2D example, while it is much easier to draw it, but the situation in 3D space is analogous. We have four triangles A, B, C and D belonging to four different obects. A lies in the cells [0, 0], [0, 1], [1, 0], [1, 1], [2, 0] and [2, 1], where the first number in the coordinate pair represents the position of a cell in x- direction, and the second one in y-direction. B is placed in the cells [2, 0], [2, 1], [3, 0], [3, 1] and [4, 1]. C spreads over the cells [0, 1], [0, 2], [1, 1], [1, 2] and [1, 3], and D is positioned into the cells [2, 3], [3, 2], [3, 3], [3, 4], [4, 3] and [4, 4]. We only have to test the pair [A, C], which both occupy the cells [0, 1] and [1, 1], and the pair [A, B], while both the triangles are partially in the cell [2, 1]. With the first pair, an intersection is determined, and with the second one, it is not. Note that the triangles A and C need not be tested in the cell [1, 1] once more, after they had been tested in the cell [0, 1] already. 5. Triangle-triangle intersection Figure 5: An example of space subdivision from 2D space No matter whether we use the raw method or the space subdivision method for the collision detection, the triangle-triangle intersection test is performed in the same way. This is the basic operation of our collision detection algorithm and its is executed really often, so it is expected to be fast enough. The described test is based on fast elimination of triangles which do not intersect. Three vertices of each of the triangles define a plane in 3D space. Regarding the mutual position of two triangles and the planes Π 1 and Π 2 defined be these two triangles, three different situations are possible. a) Both triangles define the same plane ( Π 1 = Π 2 ). The triangles intersect if at least a pair of their edges (an edge of the first and an edge of the second triangle) intersect, or if one of the triangles is contained in another one. In this last step, it suffices to test a single vertex of each triangle. The test can be released as soon as the positive answer is obtained. In the worst case when the triangles do not intersect, the algorithm has to perform six edge-edge intersection tests and two point-in-triangle containment tests. While both mentioned tests are of the same complexity, it is better to build the test on the following statement. Two triangles in the plane intersect if at least one point of any of these two triangles lies inside another triangle. Here, we have to perform only six operations in the worst case. b) All three vertices of one of the triangles lie on the same side of the plane defined by another triangle. The triangles do not intersect for sure.

10 c) The vertices of one of the triangles lie on different sides of the plane defined by another triangle. The intersection line between the planes Π 1 and Π 2 is calculated first. After this, the intersections between this line and both triangles are calculated. An intersection between a line and a triangle (or any other convex polygon) is always connected. It can be a point, a line segment or empty. These two intersections (let us say line segments in general) are then tested for the intersection. If they intersect, the triangles intersect as well. 6. Conclusions The paper indroduces the collision detection with space subdivision that can be performed in simulations. The implementation is based on interaction between the VRML and the Java part. VRML is employed for geometry representation and visualisation, and the Java application provides the collision detection and movement control by Java buttons. Obects are triangulated first. When a part of the robot being simulated is tried to be moved, new positions of this part i.e. all the triangles forming it are calculated by performing geometric transformations. After this, the transformed triangles are tested for intersections. The movement is confirm if no intersections are detected, otherwise the collision detection is reported. The number of triangles is typically large and testing all the pairs would require a lot of time. The space subdivision is used to accelerate the algorithm by reducing the number of pairs that have to be tested. The space is subdivided into cells, and only the pairs of triangles, which belong to two different obect and at least partially lie in the same cell, have to be tested. Experiments have proved that this method is generally faster than the raw method for approximately 80%. The described simulation with collision detection is intended to be a part of the bigger proect for controlling a real robot via internet. The simulation part will be generalized to handle obects with concave sides as well. Besides this, the whole proect will be organised as a client-server application. Users will address the server, and this will communicate to the robot. Acknowledgements I would like to thank to Dr. Riko Šafari

11 ERROR: rangecheck OFFENDING COMMAND:.pdfshow STACK: {--show-- } (-) [0 ] (-)

Computer Graphics: Visualisation Lecture 3. Taku Komura Institute for Perception, Action & Behaviour

Computer Graphics: Visualisation Lecture 3 Taku Komura tkomura@inf.ed.ac.uk Institute for Perception, Action & Behaviour Taku Komura Computer Graphics & VTK 1 Last lecture... Visualisation can be greatly

Blender Notes. Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine

Blender Notes Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine The Blender Game Engine This week we will have an introduction to the Game Engine build

CONNECT: Volume, Surface Area

CONNECT: Volume, Surface Area 1. VOLUMES OF SOLIDS A solid is a three-dimensional (3D) object, that is, it has length, width and height. One of these dimensions is sometimes called thickness or depth.

Off-line Model Simplification for Interactive Rigid Body Dynamics Simulations Satyandra K. Gupta University of Maryland, College Park

NSF GRANT # 0727380 NSF PROGRAM NAME: Engineering Design Off-line Model Simplification for Interactive Rigid Body Dynamics Simulations Satyandra K. Gupta University of Maryland, College Park Atul Thakur

3D shapes. Level A. 1. Which of the following is a 3-D shape? A) Cylinder B) Octagon C) Kite. 2. What is another name for 3-D shapes?

Level A 1. Which of the following is a 3-D shape? A) Cylinder B) Octagon C) Kite 2. What is another name for 3-D shapes? A) Polygon B) Polyhedron C) Point 3. A 3-D shape has four sides and a triangular

10.4 Surface Area of Prisms, Cylinders, Pyramids, Cones, and Spheres. 10.4 Day 1 Warm-up

10.4 Surface Area of Prisms, Cylinders, Pyramids, Cones, and Spheres 10.4 Day 1 Warm-up 1. Which identifies the figure? A rectangular pyramid B rectangular prism C cube D square pyramid 3. A polyhedron

INTRODUCTION TO RENDERING TECHNIQUES

INTRODUCTION TO RENDERING TECHNIQUES 22 Mar. 212 Yanir Kleiman What is 3D Graphics? Why 3D? Draw one frame at a time Model only once X 24 frames per second Color / texture only once 15, frames for a feature

Content Strand: Number and Numeration Understand the Meanings, Uses, and Representations of Numbers Understand Equivalent Names for Numbers Understand Common Numerical Relations Place value and notation

Content Strand: Number and Numeration Understand the Meanings, Uses, and Representations of Numbers Understand Equivalent Names for Numbers Understand Common Numerical Relations Place value and notation

Content Strand: Number and Numeration Understand the Meanings, Uses, and Representations of Numbers Understand Equivalent Names for Numbers Understand Common Numerical Relations Place value and notation

Angle - a figure formed by two rays or two line segments with a common endpoint called the vertex of the angle; angles are measured in degrees

Angle - a figure formed by two rays or two line segments with a common endpoint called the vertex of the angle; angles are measured in degrees Apex in a pyramid or cone, the vertex opposite the base; in

angle Definition and illustration (if applicable): a figure formed by two rays called sides having a common endpoint called the vertex

angle a figure formed by two rays called sides having a common endpoint called the vertex area the number of square units needed to cover a surface array a set of objects or numbers arranged in rows and

Engineering Geometry

Engineering Geometry Objectives Describe the importance of engineering geometry in design process. Describe coordinate geometry and coordinate systems and apply them to CAD. Review the right-hand rule.

Intersection of a Line and a Convex. Hull of Points Cloud

Applied Mathematical Sciences, Vol. 7, 213, no. 13, 5139-5149 HIKARI Ltd, www.m-hikari.com http://dx.doi.org/1.12988/ams.213.37372 Intersection of a Line and a Convex Hull of Points Cloud R. P. Koptelov

Honors Geometry Final Exam Study Guide

2011-2012 Honors Geometry Final Exam Study Guide Multiple Choice Identify the choice that best completes the statement or answers the question. 1. In each pair of triangles, parts are congruent as marked.

Shape Dictionary YR to Y6

Shape Dictionary YR to Y6 Guidance Notes The terms in this dictionary are taken from the booklet Mathematical Vocabulary produced by the National Numeracy Strategy. Children need to understand and use

Introduction to Computer Graphics

Introduction to Computer Graphics Torsten Möller TASC 8021 778-782-2215 torsten@sfu.ca www.cs.sfu.ca/~torsten Today What is computer graphics? Contents of this course Syllabus Overview of course topics

Activity Set 4. Trainer Guide

Geometry and Measurement of Solid Figures Activity Set 4 Trainer Guide Mid_SGe_04_TG Copyright by the McGraw-Hill Companies McGraw-Hill Professional Development GEOMETRY AND MEASUREMENT OF SOLID FIGURES

14 Creating Your Own 3D Models DAZ 3D has an extensive growing library of 3D models, but there are times that you may not find what you want or you may just want to create your own model. In either case

Arrangements And Duality

Arrangements And Duality 3.1 Introduction 3 Point configurations are tbe most basic structure we study in computational geometry. But what about configurations of more complicated shapes? For example,

Induction Problems. Tom Davis November 7, 2005

Induction Problems Tom Davis tomrdavis@earthlin.net http://www.geometer.org/mathcircles November 7, 2005 All of the following problems should be proved by mathematical induction. The problems are not necessarily

Centroid: The point of intersection of the three medians of a triangle. Centroid

Vocabulary Words Acute Triangles: A triangle with all acute angles. Examples 80 50 50 Angle: A figure formed by two noncollinear rays that have a common endpoint and are not opposite rays. Angle Bisector:

521493S Computer Graphics. Exercise 2 & course schedule change

521493S Computer Graphics Exercise 2 & course schedule change Course Schedule Change Lecture from Wednesday 31th of March is moved to Tuesday 30th of March at 16-18 in TS128 Question 2.1 Given two nonparallel,

DXF Import and Export for EASE 4.0

DXF Import and Export for EASE 4.0 Page 1 of 9 DXF Import and Export for EASE 4.0 Bruce C. Olson, Dr. Waldemar Richert ADA Copyright 2002 Acoustic Design Ahnert EASE 4.0 allows both the import and export

Surface Area of Rectangular & Right Prisms Surface Area of Pyramids. Geometry

Surface Area of Rectangular & Right Prisms Surface Area of Pyramids Geometry Finding the surface area of a prism A prism is a rectangular solid with two congruent faces, called bases, that lie in parallel

Carroll County Public Schools Elementary Mathematics Instructional Guide (5 th Grade) August-September (12 days) Unit #1 : Geometry

Carroll County Public Schools Elementary Mathematics Instructional Guide (5 th Grade) Common Core and Research from the CCSS Progression Documents Geometry Students learn to analyze and relate categories

Computational Geometry. Lecture 1: Introduction and Convex Hulls

Lecture 1: Introduction and convex hulls 1 Geometry: points, lines,... Plane (two-dimensional), R 2 Space (three-dimensional), R 3 Space (higher-dimensional), R d A point in the plane, 3-dimensional space,

Warning! Construction Zone: Building Solids from Nets

Brief Overview: Warning! Construction Zone: Building Solids from Nets In this unit the students will be examining and defining attributes of solids and their nets. The students will be expected to have

A Short Introduction to Computer Graphics

A Short Introduction to Computer Graphics Frédo Durand MIT Laboratory for Computer Science 1 Introduction Chapter I: Basics Although computer graphics is a vast field that encompasses almost any graphical

Lines That Pass Through Regions

: Student Outcomes Given two points in the coordinate plane and a rectangular or triangular region, students determine whether the line through those points meets the region, and if it does, they describe

Autodesk Inventor Tutorial 3

Autodesk Inventor Tutorial 3 Assembly Modeling Ron K C Cheng Assembly Modeling Concepts With the exception of very simple objects, such as a ruler, most objects have more than one part put together to

Problem of the Month: Cutting a Cube

Problem of the Month: The Problems of the Month (POM) are used in a variety of ways to promote problem solving and to foster the first standard of mathematical practice from the Common Core State Standards:

Perfume Packaging. Ch 5 1. Chapter 5: Solids and Nets. Chapter 5: Solids and Nets 279. The Charles A. Dana Center. Geometry Assessments Through

Perfume Packaging Gina would like to package her newest fragrance, Persuasive, in an eyecatching yet cost-efficient box. The Persuasive perfume bottle is in the shape of a regular hexagonal prism 10 centimeters

Working with Wireframe and Surface Design

Chapter 9 Working with Wireframe and Surface Design Learning Objectives After completing this chapter you will be able to: Create wireframe geometry. Create extruded surfaces. Create revolved surfaces.

2.3 WINDOW-TO-VIEWPORT COORDINATE TRANSFORMATION

2.3 WINDOW-TO-VIEWPORT COORDINATE TRANSFORMATION A world-coordinate area selected for display is called a window. An area on a display device to which a window is mapped is called a viewport. The window

Pre-Algebra 2008. Academic Content Standards Grade Eight Ohio. Number, Number Sense and Operations Standard. Number and Number Systems

Academic Content Standards Grade Eight Ohio Pre-Algebra 2008 STANDARDS Number, Number Sense and Operations Standard Number and Number Systems 1. Use scientific notation to express large numbers and small

Grade 7/8 Math Circles Winter D Geometry

1 University of Waterloo Faculty of Mathematics Grade 7/8 Math Circles Winter 2013 3D Geometry Introductory Problem Mary s mom bought a box of 60 cookies for Mary to bring to school. Mary decides to bring

Such As Statements, Kindergarten Grade 8

Such As Statements, Kindergarten Grade 8 This document contains the such as statements that were included in the review committees final recommendations for revisions to the mathematics Texas Essential

An Overview of the Finite Element Analysis

CHAPTER 1 An Overview of the Finite Element Analysis 1.1 Introduction Finite element analysis (FEA) involves solution of engineering problems using computers. Engineering structures that have complex geometry

Chapter 8 Geometry We will discuss following concepts in this chapter.

Mat College Mathematics Updated on Nov 5, 009 Chapter 8 Geometry We will discuss following concepts in this chapter. Two Dimensional Geometry: Straight lines (parallel and perpendicular), Rays, Angles

Natural Neighbour Interpolation

Natural Neighbour Interpolation DThe Natural Neighbour method is a geometric estimation technique that uses natural neighbourhood regions generated around each point in the data set. The method is particularly

Geometry and Measurement

The student will be able to: Geometry and Measurement 1. Demonstrate an understanding of the principles of geometry and measurement and operations using measurements Use the US system of measurement for

Introduction to SolidWorks Software

Introduction to SolidWorks Software Marine Advanced Technology Education Design Tools What is SolidWorks? SolidWorks is design automation software. In SolidWorks, you sketch ideas and experiment with different

Level 1. AfL Questions for assessing Strand Five : Understanding Shape. NC Level Objectives AfL questions from RF

AfL Questions for assessing Strand Five : Understanding Shape NC Level Objectives AfL questions from RF Level 1 I can use language such as circle or bigger to describe the shape and size of solids and

Everyday Mathematics CCSS EDITION CCSS EDITION. Content Strand: Number and Numeration

CCSS EDITION Overview of -6 Grade-Level Goals CCSS EDITION Content Strand: Number and Numeration Program Goal: Understand the Meanings, Uses, and Representations of Numbers Content Thread: Rote Counting

NEW MEXICO Grade 6 MATHEMATICS STANDARDS

PROCESS STANDARDS To help New Mexico students achieve the Content Standards enumerated below, teachers are encouraged to base instruction on the following Process Standards: Problem Solving Build new mathematical

Angles that are between parallel lines, but on opposite sides of a transversal.

GLOSSARY Appendix A Appendix A: Glossary Acute Angle An angle that measures less than 90. Acute Triangle Alternate Angles A triangle that has three acute angles. Angles that are between parallel lines,

Everyday Mathematics GOALS

Copyright Wright Group/McGraw-Hill GOALS The following tables list the Grade-Level Goals organized by Content Strand and Program Goal. Content Strand: NUMBER AND NUMERATION Program Goal: Understand the

Shortest Path Algorithms

Shortest Path Algorithms Jaehyun Park CS 97SI Stanford University June 29, 2015 Outline Cross Product Convex Hull Problem Sweep Line Algorithm Intersecting Half-planes Notes on Binary/Ternary Search Cross

Geometry Chapter 1 Vocabulary. coordinate - The real number that corresponds to a point on a line.

Chapter 1 Vocabulary coordinate - The real number that corresponds to a point on a line. point - Has no dimension. It is usually represented by a small dot. bisect - To divide into two congruent parts.

MA.7.G.4.2 Predict the results of transformations and draw transformed figures with and without the coordinate plane.

MA.7.G.4.2 Predict the results of transformations and draw transformed figures with and without the coordinate plane. Symmetry When you can fold a figure in half, with both sides congruent, the fold line

MA 323 Geometric Modelling Course Notes: Day 02 Model Construction Problem

MA 323 Geometric Modelling Course Notes: Day 02 Model Construction Problem David L. Finn November 30th, 2004 In the next few days, we will introduce some of the basic problems in geometric modelling, and

Essential Mathematics for Computer Graphics fast

John Vince Essential Mathematics for Computer Graphics fast Springer Contents 1. MATHEMATICS 1 Is mathematics difficult? 3 Who should read this book? 4 Aims and objectives of this book 4 Assumptions made

Solving Geometric Problems with the Rotating Calipers *

Solving Geometric Problems with the Rotating Calipers * Godfried Toussaint School of Computer Science McGill University Montreal, Quebec, Canada ABSTRACT Shamos [1] recently showed that the diameter of

ME 24-688 Week 11 Introduction to Dynamic Simulation

The purpose of this introduction to dynamic simulation project is to explorer the dynamic simulation environment of Autodesk Inventor Professional. This environment allows you to perform rigid body dynamic

Quickstart for Web and Tablet App

Quickstart for Web and Tablet App What is GeoGebra? Dynamic Mathematic Software in one easy-to-use package For learning and teaching at all levels of education Joins interactive 2D and 3D geometry, algebra,

USING TRIANGULATIONS IN COMPUTER SIMULATIONS OF GRANULAR MEDIA

USING TRIANGULATIONS IN COMPUTER SIMULATIONS OF GRANULAR MEDIA DIDIER MÜLLER, THOMAS M. LIEBLING EPFL-DMA, 1015 Lausanne, Switzerland ABSTRACT The distinct element method used to simulate behavior of granular

Grade 5 Math Content 1 Number and Operations: Whole Numbers Multiplication and Division In Grade 5, students consolidate their understanding of the computational strategies they use for multiplication.

Discovering Math: Exploring Geometry Teacher s Guide

Teacher s Guide Grade Level: 6 8 Curriculum Focus: Mathematics Lesson Duration: Three class periods Program Description Discovering Math: Exploring Geometry From methods of geometric construction and threedimensional

CHAPTER 8, GEOMETRY. 4. A circular cylinder has a circumference of 33 in. Use 22 as the approximate value of π and find the radius of this cylinder.

TEST A CHAPTER 8, GEOMETRY 1. A rectangular plot of ground is to be enclosed with 180 yd of fencing. If the plot is twice as long as it is wide, what are its dimensions? 2. A 4 cm by 6 cm rectangle has

Illinois State Standards Alignments Grades Three through Eleven

Illinois State Standards Alignments Grades Three through Eleven Trademark of Renaissance Learning, Inc., and its subsidiaries, registered, common law, or pending registration in the United States and other

Algebra Geometry Glossary. 90 angle

lgebra Geometry Glossary 1) acute angle an angle less than 90 acute angle 90 angle 2) acute triangle a triangle where all angles are less than 90 3) adjacent angles angles that share a common leg Example:

Academic Content Standards Grade Eight and Grade Nine Ohio Algebra 1 2008 Grade Eight STANDARDS Number, Number Sense and Operations Standard Number and Number Systems 1. Use scientific notation to express

An introduction to 3D draughting & solid modelling using AutoCAD

An introduction to 3D draughting & solid modelling using AutoCAD Faculty of Technology University of Plymouth Drake Circus Plymouth PL4 8AA These notes are to be used in conjunction with the AutoCAD software

SYMMETRY MATHEMATICAL CONCEPTS AND APPLICATIONS IN TECHNOLOGY AND ENGINEERING

Daniel DOBRE, Ionel SIMION SYMMETRY MATHEMATICAL CONCEPTS AND APPLICATIONS IN TECHNOLOGY AND ENGINEERING Abstract: This article discusses the relation between the concept of symmetry and its applications

Indicator 2: Use a variety of algebraic concepts and methods to solve equations and inequalities.

3 rd Grade Math Learning Targets Algebra: Indicator 1: Use procedures to transform algebraic expressions. 3.A.1.1. Students are able to explain the relationship between repeated addition and multiplication.

TWO-DIMENSIONAL TRANSFORMATION

CHAPTER 2 TWO-DIMENSIONAL TRANSFORMATION 2.1 Introduction As stated earlier, Computer Aided Design consists of three components, namely, Design (Geometric Modeling), Analysis (FEA, etc), and Visualization

We call this set an n-dimensional parallelogram (with one vertex 0). We also refer to the vectors x 1,..., x n as the edges of P.

Volumes of parallelograms 1 Chapter 8 Volumes of parallelograms In the present short chapter we are going to discuss the elementary geometrical objects which we call parallelograms. These are going to

Computer Aided Systems

5 Computer Aided Systems Ivan Kuric Prof. Ivan Kuric, University of Zilina, Faculty of Mechanical Engineering, Department of Machining and Automation, Slovak republic, ivan.kuric@fstroj.utc.sk 1.1 Introduction

We can display an object on a monitor screen in three different computer-model forms: Wireframe model Surface Model Solid model

CHAPTER 4 CURVES 4.1 Introduction In order to understand the significance of curves, we should look into the types of model representations that are used in geometric modeling. Curves play a very significant

Homework Exam 1, Geometric Algorithms, 2016

Homework Exam 1, Geometric Algorithms, 2016 1. (3 points) Let P be a convex polyhedron in 3-dimensional space. The boundary of P is represented as a DCEL, storing the incidence relationships between the

Area of Parallelograms (pages 546 549)

A Area of Parallelograms (pages 546 549) A parallelogram is a quadrilateral with two pairs of parallel sides. The base is any one of the sides and the height is the shortest distance (the length of a perpendicular

Basic controls of Rhinoceros 3D software

lecture 2 Basic controls of Rhinoceros 3D software After the start Rhinoceros 3D software shows basic working area compound by four viewports (show model in other positions), popup menu over, palette menu

Visualisation in the Google Cloud by Kieran Barker, 1 School of Computing, Faculty of Engineering ABSTRACT Providing software as a service is an emerging trend in the computing world. This paper explores

Geometry. Higher Mathematics Courses 69. Geometry

The fundamental purpose of the course is to formalize and extend students geometric experiences from the middle grades. This course includes standards from the conceptual categories of and Statistics and

ME 111: Engineering Drawing

ME 111: Engineering Drawing Lecture # 14 (10/10/2011) Development of Surfaces http://www.iitg.ernet.in/arindam.dey/me111.htm http://www.iitg.ernet.in/rkbc/me111.htm http://shilloi.iitg.ernet.in/~psr/ Indian

Area of Parallelograms, Triangles, and Trapezoids (pages 314 318)

Area of Parallelograms, Triangles, and Trapezoids (pages 34 38) Any side of a parallelogram or triangle can be used as a base. The altitude of a parallelogram is a line segment perpendicular to the base

Number Sense and Operations

Number Sense and Operations representing as they: 6.N.1 6.N.2 6.N.3 6.N.4 6.N.5 6.N.6 6.N.7 6.N.8 6.N.9 6.N.10 6.N.11 6.N.12 6.N.13. 6.N.14 6.N.15 Demonstrate an understanding of positive integer exponents

Properties of Polygons Objective To explore the geometric properties of polygons.

Properties of Polygons Objective To explore the geometric properties of polygons. www.everydaymathonline.com epresentations etoolkit Algorithms Practice EM Facts Workshop Game Family Letters Assessment

Topics Covered on Geometry Placement Exam

Topics Covered on Geometry Placement Exam - Use segments and congruence - Use midpoint and distance formulas - Measure and classify angles - Describe angle pair relationships - Use parallel lines and transversals

Pro/ENGINEER Wildfire 4.0 Basic Design

Introduction Datum features are non-solid features used during the construction of other features. The most common datum features include planes, axes, coordinate systems, and curves. Datum features do

Geometry Honors: Extending 2 Dimensions into 3 Dimensions. Unit Overview. Student Focus. Semester 2, Unit 5: Activity 30. Resources: Online Resources:

Geometry Honors: Extending 2 Dimensions into 3 Dimensions Semester 2, Unit 5: Activity 30 Resources: SpringBoard- Geometry Online Resources: Geometry Springboard Text Unit Overview In this unit students

Grade 6 Mathematics Performance Level Descriptors

Limited Grade 6 Mathematics Performance Level Descriptors A student performing at the Limited Level demonstrates a minimal command of Ohio s Learning Standards for Grade 6 Mathematics. A student at this

Improved Billboard Clouds for Extreme Model Simplification

Improved Billboard Clouds for Extreme Model Simplification I.-T. Huang, K. L. Novins and B. C. Wünsche Graphics Group, Department of Computer Science, University of Auckland, Private Bag 92019, Auckland,

Introduction to Visualization with VTK and ParaView

Introduction to Visualization with VTK and ParaView R. Sungkorn and J. Derksen Department of Chemical and Materials Engineering University of Alberta Canada August 24, 2011 / LBM Workshop 1 Introduction

n 2 + 4n + 3. The answer in decimal form (for the Blitz): 0, 75. Solution. (n + 1)(n + 3) = n + 3 2 lim m 2 1

. Calculate the sum of the series Answer: 3 4. n 2 + 4n + 3. The answer in decimal form (for the Blitz):, 75. Solution. n 2 + 4n + 3 = (n + )(n + 3) = (n + 3) (n + ) = 2 (n + )(n + 3) ( 2 n + ) = m ( n

MEL110 GRAPHIC SCIENCE

Department of Mechanical Engg. INDIAN INSTITUTE OF TECHNOLOGY, DELHI MEL110 GRAPHIC SCIENCE Notes on Autodesk Inventor Professional Software 1 Contents 1.What are the basic features of an Autodesk Inventor

Cortona3D Viewer. User's Guide. Copyright 1999-2011 ParallelGraphics

Cortona3D Viewer User's Guide Copyright 1999-2011 ParallelGraphics Table of contents Introduction 1 The Cortona3D Viewer Window 1 Navigating in Cortona3D Viewer 1 Using Viewpoints 1 Moving around: Walk,

B2.53-R3: COMPUTER GRAPHICS. NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions.

B2.53-R3: COMPUTER GRAPHICS NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions. 2. PART ONE is to be answered in the TEAR-OFF ANSWER

Volumes of Revolution

Mathematics Volumes of Revolution About this Lesson This lesson provides students with a physical method to visualize -dimensional solids and a specific procedure to sketch a solid of revolution. Students

Dear Grade 4 Families, During the next few weeks, our class will be exploring geometry. Through daily activities, we will explore the relationship between flat, two-dimensional figures and solid, three-dimensional

Triangulation With Smoothing

Triangulation With Smoothing Triangulation is a process of grid generation that is most commonly applied to data that requires no regional averaging, such as elevation readings. The surface created by

Blender + Zbrush. Character Creation Series Part Four: Setting up in Cycles

Blender + Zbrush Character Creation Series Part Four: Setting up in Cycles 1 Table of Contents Forward 4 Basic introduction to the Part Four Importing to Blender 5 How to import an OBJ file back to Blender