A SKETCHING INTERFACE FOR TERRAIN MODELING. Nayuko Watanabe. A Senior Thesis

Size: px
Start display at page:

Download "A SKETCHING INTERFACE FOR TERRAIN MODELING. Nayuko Watanabe. A Senior Thesis"

Transcription

1 A SKETCHING INTERFACE FOR TERRAIN MODELING by Nayuko Watanabe A Senior Thesis Submitted to the Department of Information Science the Faculty of Science, the University of Tokyo on February 9, 2004 in Partial Fulfillment of the Requirements for the Degree of Bachelor of Science Thesis Supervisor: Takeo Igarashi Assistant Professor of Information Science

2

3 ABSTRACT Three-dimensional terrain models are used not only for geographical analysis but also for entertainment application such as movies and video games. These applications do not require exact numerical values for models. It is only necessary to make terrain model look natural. However most existing methods for terrain modeling require precise numerical control. Some systems allow the user to paint 2D height fields for terrain models, but it is not easy to edit 2D height field appropriately to obtain a scene that has a specific appearance from a given viewpoint. We developed a system where the user can design the terrain model more intuitively. The user edits 3D geographical model by drawing 2D strokes on the model directly. Whenever a stroke is drawn, this system generates a terrain model whose silhouette conforms to the stroke on the screen. The system also supports the construction of more natural look by adding a noise D 2 1 2

4 Acknowledgements We would like to thank to our thesis Supervisor Takeo Igarashi for his support in doing this work. He gave us many hints, useful advice about this thesis. We also would thank members of Igarashi laboratory. It was not possible to complete this work without their encouragement.

5 Contents 1 Introduction 1 2 Related Work D modeling from 2D input Terrain modeling Noise User Interface 9 4 Implementation Detail Data structure Terrain modeling from 2D input Stroke recognition of mountain Stroke recognition of river Noise addition Result 25 6 Limitations and Discussion 28 7 Future Work 29 i

6 List of Figures 1.1 Overview of the system Terragen : input (height-field) and output Composition of noise function in Perlin noise [8] First view of the system Stroke(upper) and top view of mountain(lower) Stroke which has neither local maximum nor minimum point Stroke which has one local maximum point Stroke which has two or more local maximum and local minimum point Round and sharp stroke and mountains generated by these strokes Creating a river Stroke of a river over the mountain and bridging gaps Strokes and mountain generated by the strokes Effect of noise addition on existing terrain Terrain modeling from 2D input altitude of mountain Filling a gap between start and end point Stroke and foot of mountain generated by the stroke Stroke and altitude of mountain generated by the stroke Terrain drawn by author Terrain drawn by test users ii

7 Chapter 1 Introduction Three-dimensional terrain modeling requires considerable labor for data entry. One reason is that designer is required to enter numerical values, and another is that he or she is unable to do modeling interactively. The designer must input numerical values, render the scene, adjust values, and repeat these operations. We therefore develop a pen-based system that reconstruct a terrain from novel viewpoints, given the terrain drawn in two-dimension from a single point of view. There are many researches about 3D modeling from 2D input [7] [5] [15] [10]. Among them, Harold excels at ability of modeling terrain [6]. We extend Harold s algorithm to recognize strokes used for terrain modeling, producing more natural terrain model. In our system, strokes are projected to the vertical plane interpolating the first point on the ground. and then the system generates a terrain model whenever a stroke is drawn. In the terrain model, whole slope of mountain reflects the shape of corresponding stroke. The user draws a stroke like in Figure 1.1(a) and gets terrain model such as Figure 1.1(b). We add noise to the terrain model so that the terrain looks natural. Simple random noise however at times does not look natural. Fractals are more suitable for natural object whereas they take time to generate. So we use noise function developed by Perlin [8] that is able to generate fractal-like noise. Perlin Noise is a noise function that adds noises with various frequencies and amplitudes. This noise function generates very natural noise. 1

8 (a) The user s stroke (b) A mountain generated by the stroke Figure 1.1: Overview of the system We can draw terrain intuitively and interactively, and make a terrain model look natural. The rest of this thesis is organized as follows. Related work section mentions 3D modeling from 2D input, terrain modeling, and noise function. Interface section explains how to use our system. In implementation detail section, we describe data structure for terrain model, stroke recognition algorithm, and noise addition algorithm. Limitations and discussion section describes problems of our method, and in future work section we provides solution to limitations and directions for future work. 2

9 Chapter 2 Related Work This chapter describes related research in 3D modeling from 2D input, terrain modeling, and noise functions D modeling from 2D input A typical procedure for geometric modeling is to start with a simple primitive such as a cube or a sphere, and gradually construct a more complex model through successive transformations or a combination of multiple primitives. Today, interactively constructing 3D objects and scenes from 2D input is an active research area. Cohen et al. described this approach as the inverse of traditional computer graphics [6]. The system tries to construct a geometric model of the object from given rendering. And new renderings can then be obtained from arbitrary viewpoints. Quick-sketch is a 2D and 3D modeling tool for pen-based computers [7]. The user is able to sketch 3D solid objects and B-spline surfaces in Quick-sketch, by sweeping a 2D profile along a straight line (solid objects) or interpolating between two curves (B-spline surfaces). For modeling 3D curves, there is a method using shadow drawing [5]. The SKETCH allows the user to create a 3D object by drawing as 2D representation in similar way to draw with a paper and a pencil [15]. Teddy is the system 3

10 (a) Input to terragen (b) Output of terrain Figure 2.1: Terragen : input (height-field) and output that constructs 3D geometric object from 2D free form strokes/gestures interactively and intuitively [10]. Cohen developed Harold by which the user can draw 3D world and explore in the world [6]. Harold can do terrain modeling interactively. We can explore and expand 3D world in Harold by drawing 2D strokes. A drawback of Harold is that the generated mountains tend to be thin. Modeling natural objects is difficult because of their complexity. Okabe et al. modeled 3D tree from 2D strokes [13]. Tree modeling requires the adjustment of parameters and randomization, in addition to stroke recognition. This is similar to terrain modeling, however tree modeling algorithm cannot be applied to terrain modeling. Elevation grids are frequently used for data structure of terrain model. We use it for reasons of its simplicity and versatility. Terragen TM is a software for terrain modeling using an elevation grid [14]. The user gives 2D height field, and it become height of grid. Figure 2.1(b) is output of Figure 2.1(a) with view point placed in the south. A limitation of this is unable to specify the height interactively. 2.2 Terrain modeling Terrain generation mainly produces a height map (a 2D array of height values), then uses the map to draw the actual terrain. Methods to create a height map 4

11 are generating algorithmically or using real data. There are many algorithms that generate terrain model algorithmically such as Fractional Brownian motion [4], area subdivision (midpoint displacement) [3], function composition and real world based approaches. The key concept of fractional Brownian motion, area subdivision, and function composition is self-similarity (fractal). An object is said to be self-similar when magnified subsets of the object look a rough or fragmented geometric shape that can be subdivided in parts, each of which is (at least approximately) a smaller copy of the whole. Fractals are mathematical functions proposed by Mandelbrot to describe natural phenomena such as coast lines, mountains, branching patterns of trees and rivers, clouds, and earthquakes. Fractional Brownian motion (called fbm) [4], area subdivision [3] and function composition [8] are algorithms for creating self-similar pattern automatically. The fbm expresses mountains vertical section form by using fact that behavior of Brownian motion is similar to the form of mountains. Area subdivision (or midpoint displacement) is a recursive approach. It is not fractal in a precise sense but is a fractal-like method. In one dimension, it takes a horizontal line segment, finds midpoint, then displaces it by a random amount, and repeat these operations. Area subdivision has been used by N.Wiener in 1920 s in order to create Brownian motion. And its efficiency of the calculation is higher than fbm s efficiency. There are many algorithms that process more or less the same way as area subdivision. For instance, Diamond Square algorithm, the Fault algorithm, Circle algorithm, and Hill algorithm. A drawback of these methods is that the computation is dynamic, and it is impossible to directly compute the height of a point. The function composition algorithms use functions to generate curve and compose them to form the surface. And it is similar to Fourier. The algorithms evaluate functions at each point of surface, repeating with lower amplitude, higher frequency for several octaves. There are two classic algorithms: Brown noise and Perlin noise [8]. Details of these noises are described in the next noise section 2.3. In this section, we mention terrain generated by using these noises. 5

12 Brown noise which follows fbm generates results that are highly correlated and good for mountains. Perlin noise can generate terrain more easily as well as textures. Its advantage is that the height at a given point is calculated without need of storing it in memory like subdivision methods. Many computer-generated landscapes use Perlin noise. Other direction of generating terrain model is using real data [11] [9] [2]. An approach is generating 3D model from 2D map with contours, by using a data structure TIN (Triangulated Irregular Network). TIN is a vector-based structure, which treats topographic surface as a surface consisting of number of non-overlapping triangles. TIN can render various geographical features that is impossible to render with DEM (Digital Elevation Model). 2.3 Noise Many people have used random number generators in their programs to create unpredictability, make the motion and behavior of objects appear more natural, or generate textures. At times, random number generators output can be too harsh to appear natural. On the other hand, there are many noise functions besides white noise whose power density is constant over a finite frequency range. Color noises [1] are used in data transmission: white noise, pink noise, red noise, orange noise, green noise, blue noise, purple noise, grey noise, and black noise. Brown noise is also used for terrain modeling. Brown does not means the color brown and the name comes from Brownian motion which produces random signals with the spectrum that has a falloff of 6dB/octave. It is called random walk or drunkard s walk noise. Perlin noise [8] composes noise functions generating curve at a range of different scales. See Figure 2.2. Noise functions (Figure 2.2(a)-2.2(e)) that have various amplitude and frequency are composed and Figure 2.2(f) is output. The output shows large, medium and small variations and looks a little like a mountain range. 1D output is shown but Perlin noise can make 2D noise. 6

13 (a) (b) (c) (d) (e) (f) Figure 2.2: Composition of noise function in Perlin noise [8] 7

14 We use Perlin Noise in order to add noise to a given terrain. 8

15 Chapter 3 User Interface We now describe the system from the user s point of view. Initially the system shows a ground which is a planar region of the xz-plane (Figure 3.1). Figure 3.1: First view of the system The interaction operation in this system is drawing with a stylus pen. A mouse can also be used. The user occasionally clicks buttons or moves slide bars. There are some buttons: undo, redo, clear, noise initialization, save BMP. And there is a checkbox to switch whether adding noise or not. Two slide bars are for adjusting noise parameters. We explain how to use our system in detail. The user first draws a stroke by dragging the cursor with the pen or mouse. When the button is released (or pen 9

16 Figure 3.2: Stroke(upper) and top view of mountain(lower) is released), a mountain is generated. The stroke is interpreted as the ridge of a mountain. The horizontal extent of a generated mountain corresponds to the length of the stroke s shadow (Figure 3.2). In this figure, upper area shows a 2D stroke drawn by the user, and lower area shows top view of mountains generated the stroke. When user s stroke has neigher local maximum point nor local minimum point except for the start and end point of the stroke, a bump between the start and end point of the stroke is generated (Figure 3.3). When user s stroke has only one local maximum point, a mountain is generated (Figure 3.4). 10

17 (a) Stroke which has neither local maximum nor minimum point (b) Terrain generated by the stroke (c) Terrain with noise Figure 3.3: Stroke which has neither local maximum nor minimum point, and a bump generated by the stroke (a) Stroke which has one local maximum point (b) A mountain generated by the stroke (c) A mountain with noise Figure 3.4: Stroke which has one local maximum point, and a mountain generated by the stroke 11

18 Otherwise, two or more mountains are generated (Figure 3.5). (a) Stroke which has two or more local maximum and local minimum point (b) Mountains generated by the stroke (c) Mountains with noise Figure 3.5: Stroke which has two or more local maximum and local minimum point, and mountains generated by the stroke Form of the mountain generated corresponds to form of stroke (Figure 3.6). When user s stroke is round / sharp, whole mountain is round / sharp. If there is a height gap between start and end point of user s stroke, our system fills the gap by adjusting height of terrain. View point can be changed by dragging with the shift key pressed. A river can be created by pressing a control key while drawing a stroke. The stroke should be drawn on the ground (see Figure 3.7). If the user s stroke runs a silhouette of the terrain, the system bridge any gaps with curves that look from above like straight line segments (see Figure 3.8). If the computer without a keyboard is used, shift and control keys are replaced by the function of View, Terrain, River buttons. After buttons are pressed, a stroke is drawn. Then mode returns to the terrain mode. The user can repeat these operations to obtain scene with various mountains. Figure 3.9 shows an example. First, a stroke is drawn (Figure 3.9(a)) and mountains are generated (Figure 3.9(b)). The next stroke is drawn on the mountains, that starts on the ground beyond the mountains (Figure 3.9(b)). The user then obtains a mountain and draws the next stroke in front of the mountains (Figure 12

19 (a) Round stroke (b) Sharp stroke (c) A mountain generated (d) A mountain generated (e) A mountain with noise (f) A mountain with noise Figure 3.6: Round and sharp stroke and mountains generated by these strokes 13

20 (a) A stroke drawn on the ground (b) A river generated by the stroke (c) Top view of the river Figure 3.7: Creating a river (a) A stroke drawn over the mountain (b) Top view of the river Figure 3.8: Stroke of a river over the mountain and bridging gaps 14

21 (a) First stroke (b) Mountains generated by a stroke in Figure 3.9(a) and second stroke (c) Mountains generated by a stroke in Figure 3.9(b) and third stroke (d) Mountains generated by a stroke in Figure 3.9(c) Figure 3.9: In Figure 3.9(a)-3.9(c), strokes are drawn, and by these strokes mountains are generated (Figure 3.9(d)) 15

22 3.9(c)). These three strokes generate mountains in Figure 3.9(d). Optionally, the user can add noise to make the terrain look natural. It is simply done by clicking a check box. The noise is controlled by two slide bars. The strength of existing terrain is for setting how strongly existing terrain effects. The smaller it is, the flatter the terrain become. The strength of noise is for setting how strongly noises affects. When its value is large, noise becomes harsh. See Figure Noise of various strength is added to original terrain (Figure 3.10(a)). In this way, one can obtain mountains with various smoothness of surface starting from the same original terrain. Our system can also add colors to terrains. 16

23 (a) Original terrain (b) Weak original terrain and (c) Strong original terrain weak noise and strong noise (d) Week original terrain and (e) Strong original terrain strong noise and week noise Figure 3.10: Effect of noise addition on existing terrain 17

24 Chapter 4 Implementation Detail 4.1 Data structure We first describe our data structures. The data consists of a geometry of a ground surface, strokes of mountain, and noise map. A ground surface is built by using a grid-based DEM (Digital Elevation Model). Grid-based DEM consists of a raster grid of regularly spaced elevation values. There are some reasons to use grid-based DEM; easiness and simplicity of implementation. Grid-based DEM is appropriate for real time application because complex computation is not required. Additionally, each gridpoint stores the corresponding height of strokes and a flag for a river. Each stroke of mountain is a sequence of 3D points, and has two height maps of mountain generated by this stroke. One map is for height of inside of the stroke, the other is for height of outside of the stroke. These data are created every time one stroke is drawn. Noise map is a grid-based DEM whose range of height is from -0.5 to 0.5. This noise is generated by Perlin Noise function [8] at the beginning. 4.2 Terrain modeling from 2D input In this section, we explain method for recognizing strokes. 18

25 4.2.1 Stroke recognition of mountain There are 5 steps to complete recognizing a stroke for mountain (Figure 4.1). Step 1, we project the start point of 2D stroke to the ground surface. Step 2, heights of other points of 2D stroke are determined. As a result of Step 2, there is a gap between heights of the start point and the end point of the stroke. We fill this gap in Step 3. In Step 4, a foot of mountain is determined. Finally, we complete mountains in Step 5. (a) Step 1 (b) Step 2 (c) Step 3 (d) Step 4 (e) Step 5 Figure 4.1: Terrain modeling from 2D input Step 1 : 2D points to 3D points A stroke for generating mountain is sequence of 3D points. The user inputs sequence of 2D points, so we have to convert the 2D points to 3D points. We will call the 2D point P, and assume that P is converted to 3D point P. A 2D point is projected to 3D ground surface as follows. Four points of each grid are projected to 2D screen, and make quadrangle. We check whether each projected 2D quadrangle contains P in descending order of distance of grid from view point. And coordinate of P is coordinate of 3D grid whose projected quadrangle contains P at the end. Step 2 : Altitude of mountain A sequence of 2D points is projected to a plane. The plane is perpendicular to the horizontal plane and interpolates the first 3D point of sequence S 0. The first point of 2D sequence S is projected to ground 19

26 surface by using above method (Step 1). And we will call this projected 3D point S 0. Other points of sequence are projected to the plane as follows. Figure 4.2: Altitude of mountain : surface N is plane of projection moved so that it corresponds to xz-plane, surface N is plane to which the stroke is projected. V is view point moved, S is start point of the stroke, and P is the point on the stroke. We ll denote a 2D point that we want to project to the plane as P. At the first, we move & rotate S 0 in a such way that the view screen corresponds to the xz-plane, and line of vision to y-axis. As a result, S 0 is moved to S and view point moved to V (see Figure 4.2). Next, we solve V P S P = 0 m P = P and get P which is a 3D vector. The surface N is 2D screen. Then, P is rotated and moved in a such way that the view screen and line of vision return to where they were. Stroke is separated by local maximum points and local minimum points. We denote this separated strokes as s 0, s 1, s 2,..., s n, and distance on xz-plane between 20

27 Figure 4.3: Filling a gap between start and end point P 1 and P 2 as d(p 1, P 2 ). Start point and end point of the stroke are projected on the ground, and denoted as S, T. Step 3 : Height gap between start and end point If there is a height gap between start and end point of user s stroke, our system fills the gap. In order to fill the gap, we define a diameter and determine height of a point P. Let the point P ST be on S T (S T is ST projected to ground) so that S T and P P ST are perpendicular. Height of P is h(p ) = v 0 t(1 t) 2 + v 1 (2t + 1)(1 t) 2 + v 2 t 2 (3 2t) v 3 t 2 (1 t); When P ST lays between S and T, t = d(p, S T )/diameter. v 0 and v 3 are gradient of S and T. If P ST does not lay outside segment S T and T is nearer to P than S, t = d(p, T )/(diameter + h(t )). v 1 is height of point whose distance from the segment S T or S or T is the diameter, v 2 is height of ST or S or T (Figure 4.3). This expression enables height to interpolate v 1 and v 2, and gradient at S and T to correspond with v 0 and v 3. Step 4 : The foot of a mountain We determine the foot of a mountain created by the stroke. 21

28 If the stroke has neither local maximum point nor local minimum point, the length of foot of mountain from stroke (projected to plane) is the height of stroke (Figure 4.4(a)). Next we explain the case that the stroke has local maximum point or local minimum point. Let E a point which is foot of a perpendicular to a point F laying in segment s i. Segment s i has own start point p s i and end point pt i, we assume that p s i is higher than pt i. If d(f, p s) is less than 0.5 (the distance of between F and p s is shorter than that between F and p t ), d(f, E) = v 0 t 2 (1 t) + v 1 t 2 (3 2t) + v 2 (2t + 1)(1 t) 2 where t is d(f, p t i )/d(ps i, pt i ), v 1 is height of p t i, and v 2 is (d(p s i, pt i ) + d(ps i, pt i 1 ))/2 (if s i 1 exists). v 0 is v 2 2, if s i 1 exists (see Figure 4.4(b)). This expression is similar to Hermite curve, height is continuous at t = 0 and t = 1. (a) (b) Figure 4.4: The stroke and foot of mountain generated by the stroke. Distance between F and E is determined by t and length of s i 1, s i, and s i+1. In the case that the distance of between F and p t is shorter than that between F and p s, we compute d(f, E) using s i+1 in similar way. 22

29 Step 5 : Completion of mountain We compute height of a point P laying between F and E as follows. Let u = d(f, P )/d(f, E). We explain only the case that the distance of between F and p s is shorter than that between F and p t. In other case, we are able to compute in similar way by displace p s and s i 1 with p t and s i+1. Let h(u i ) height of a point U i, the distance d(p s i, U i) = u d(p s i, pt i ). And let h(u i 1) height of U i 1, the distance d(p s i, U i 1) = (1 u) d(p s i 1, pt i 1 ) (note that ps i and pt i 1 are the same points) (see Figure 4.5). Altitude of P is average height of h(u i ) and h(u i 1 ), that are normalized so that altitude may be height of the stroke in u = 0 and 0 in u = 1. Figure 4.5: The stroke and altitude of generated by the stroke. Height of P is determined by u Stroke recognition of river For a stroke specifying a river, all 2D points are projected to the ground surface by using above (2D points to 3D points) method. As a result, there is a sequence of 3D points. The corresponding point in the boolean map is set to be true. When the user s stroke goes from the front terrain to the back terrain, the 23

30 projection of the stroke onto the ground terrain is discontinuous. We describe the last point on the front terrain as A, and the first point on the back terrain as B. Then A and B is bridged on the xz-plane. y coordinate of the point between A and B is a unique value, because our terrain is a height field. 4.3 Noise addition Original terrain is generated by drawing strokes. The user is able to add noise on this existing terrain model. A noise map is created by using Perlin Noise, and consists of elements whose values are in the -0.5 to 0.5 range. We assume that we add noise to point (i, j), and denote h(x, y) as height of point (x, y), noise(x, y) as value of point (x, y) on the noise map. Height of point(i, j) is computed as follows, h(i, j) = noise(i, j) noise strength + a(i, j) a(i, j) = 1 6 (h i 1,j + h i+1,j + h i,j 1 + h i,j+1 ) (h i 1,j 1 + h i+1 j h i 1,j+1 + h i+1,j 1 ) h x,y is height of point whose distance from (i, j) is noise(x, y) strength of existing terrain. 24

31 Chapter 5 Result Our prototype system is developed with array of height. It is implemented on Java TM version The author and test users generated terrain by using our system. Figure 5.1 shows sample terrain models designed on our system by the author, and Figure 5.2 shows terrain models designed on our system by the test users. The caption indicates times taken to model. We asked users to use our system and provide some comments. The following is the comments by the test users. When dragging on the area where there is none, view point should be slided. There should be smoothing tool. It is desired to be able to design concave terrain. The stroke of mountain should affect only to local area. Rivers should be physically possible. It is easier to model terrain using this system than existing modeling tool, for example, LiteWave [12]. It is joyful that the user can model fantastical terrain. 25

32 (a) in 7 minutes (b) in 8 minutes (c) in 10 minutes (d) in 5 minutes Figure 5.1: Terrain drawn by author 26

33 (a) in 10 minutes (b) in 7 minutes (c) in 10 minutes (d) in 14 minutes (e) in 15 minutes Figure 5.2: Terrain drawn by test users 27

34 Chapter 6 Limitations and Discussion Main drawback of our system is that at times forms of generated mountains are not intuitive. Firstly, generated mountains are symmetric on the strokes which are drawn in order to create the mountains. It is because that their height are computed by using the same algorithm at the symmetric points on the strokes. Secondly, mountains are, furthermore, not eroded and their roots are too smooth. As a result, this system is hard to create eroded mountains that are typical be in Japan. Finally, when a stroke is drawn in order to continuous mountains, if height of local minimum points are too high, foot of mountains become unnatural. For rendering, flat shading is applied. This shading is not realistic because there are rapid changes on border lines of polygons. If the designer wants realistic rendering, he or she have to use application specialized for rendering. 28

35 Chapter 7 Future Work Our current algorithm can fail or generate appropriate results when the user draws unexpected strokes. For instance, user s stroke may imply rings, or return to a point which has same x, y-coordinate as previous point of the stroke. And we must devise more robust and flexible algorithms to handle a variety of user inputs. An obvious direction for future work is to develop additional modeling operations to support other geographical features. Our current system supports only mountain and river modeling. We will support other geographical features, for example, valley, cliff, and cave. Eroding needs to be implemented for more natural mountains. In order to create caves, however, other data structure is required. There are many possible extensions to the rendering system. One example is to add automatic level-of-detail for terrain in order to speed up the rendering system. Another is to support non-photorealistic rendering style such as Harold [6] and Teddy [10] so that our system are used for variable goal, for example, modeling terrain in computer graphics of games. Currently, ground surface is only colored, but in the future texture mapping will be done. 29

36 References [1] Kevin Bolding. Noise types. Types.htm. [2] Jan Burdziej. Gis and 3dimensional digital terrain modeling. [3] B..., [4] Philippe Carmona and Laure Coutin. Fractional brownian motion and the markov property. In Electronic Communications in Probability, pages Vol.3 no.12 p , [5] J.M. Cohen, L. Markosian, R.C. Zeleznik, J.F. Hughes, and R. Barzel. An interface for sketching 3d curves. In 1999 Symposium on Interactive 3D Graphics, pages 17 21, [6] Jonathan M. Cohen, John F. Hughes, and Robert C. Zeleznik. Harold: A world made of drawings. In To appear in Proceedings of NPAR ACM NPAR, [7] Lynn Eggli, Ching yao Hsu, Beat D Brüderlin, and Gershon Elber. Inferring 3d models from freehand sketches and constraints. Computer-Aided Design, pages 29(2): , [8] Hugo Elias. Perlin noise. perlin.htm. [9] Chistopher Gold and Maciej Dakowicz. Terrain modelling from contours. 30

37 [10] Takeo Igarashi, Satoshi Matsuoka, and Hidehiko Tanaka. Teddy: A sketching interface for 3d freeform design. In SIGGRAPH 99 Conference Proceedings, pages ACM SIGGRAPH, [11] Kazufumi Kaneda, Fujiwa Kato, Ehachiro Nakamae, Tomoyuki Nishita, Hideo Tanaka, and Takao Noguchi. Three dimensional terrain modeling and display for environmental assessment. In Computer Graphics, pages 23(3): ACM SIGGRAPH, [12] NewTek. Litewave. [13] Makoto Okabe and Takeo Igarashi. 3d modeling of trees from freehand skeches. In SHIGGRAPH 2003 conference on Sketches & applications. ACM SIG- GRAPH, [14] Planetside Software. Terragen TM. [15] Robert C. Zeleznik, Kenneth P. Herndon, and John F. Hughes. Sketch: An interface for sketching 3d scenes. In SIGGRAPH 96 Conference Proceedings, pages ACM SIGGRAPH,

A Sketch Interpreter System with Shading and Cross Section Lines

A Sketch Interpreter System with Shading and Cross Section Lines Journal for Geometry and Graphics Volume 9 (2005), No. 2, 177 189. A Sketch Interpreter System with Shading and Cross Section Lines Kunio Kondo 1, Haruki Shizuka 1, Weizhong Liu 1, Koichi Matsuda 2 1 Dept.

More information

03 Vector Graphics. Multimedia Systems. 2D and 3D Graphics, Transformations

03 Vector Graphics. Multimedia Systems. 2D and 3D Graphics, Transformations Multimedia Systems 03 Vector Graphics 2D and 3D Graphics, Transformations Imran Ihsan Assistant Professor, Department of Computer Science Air University, Islamabad, Pakistan www.imranihsan.com Lectures

More information

Scalar Visualization

Scalar Visualization Scalar Visualization Visualizing scalar data Popular scalar visualization techniques Color mapping Contouring Height plots outline Recap of Chap 4: Visualization Pipeline 1. Data Importing 2. Data Filtering

More information

coding of various parts showing different features, the possibility of rotation or of hiding covering parts of the object's surface to gain an insight

coding of various parts showing different features, the possibility of rotation or of hiding covering parts of the object's surface to gain an insight Three-Dimensional Object Reconstruction from Layered Spatial Data Michael Dangl and Robert Sablatnig Vienna University of Technology, Institute of Computer Aided Automation, Pattern Recognition and Image

More information

Scalar Visualization

Scalar Visualization Scalar Visualization 5-1 Motivation Visualizing scalar data is frequently encountered in science, engineering, and medicine, but also in daily life. Recalling from earlier, scalar datasets, or scalar fields,

More information

Animation & Rendering

Animation & Rendering 7M836 Animation & Rendering Introduction, color, raster graphics, modeling, transformations Arjan Kok, Kees Huizing, Huub van de Wetering h.v.d.wetering@tue.nl 1 Purpose Understand 3D computer graphics

More information

Solid models and fractals

Solid models and fractals Solid models and fractals COM3404 Richard Everson School of Engineering, Computer Science and Mathematics University of Exeter R.M.Everson@exeter.ac.uk http://www.secamlocal.ex.ac.uk/studyres/com304 Richard

More information

7. Stochastic Fractals

7. Stochastic Fractals Stochastic Fractals Christoph Traxler Fractals-Stochastic 1 Stochastic Fractals Simulation of Brownian motion Modelling of natural phenomena, like terrains, clouds, waves,... Modelling of microstructures,

More information

Outline. Solid models and fractals. Constructive solid geometry. Constructive solid geometry COM3404. Richard Everson

Outline. Solid models and fractals. Constructive solid geometry. Constructive solid geometry COM3404. Richard Everson Outline Solid models and fractals COM School of Engineering, Computer Science and Mathematics University of Exeter Constructive solid geometry Fractals Dimension s Landscape generation L-systems R.M.Everson@exeter.ac.uk

More information

DIGITAL TERRAIN MODELLING. Endre Katona University of Szeged Department of Informatics

DIGITAL TERRAIN MODELLING. Endre Katona University of Szeged Department of Informatics DIGITAL TERRAIN MODELLING Endre Katona University of Szeged Department of Informatics katona@inf.u-szeged.hu The problem: data sources data structures algorithms DTM = Digital Terrain Model Terrain function:

More information

Module 1: Basics of Solids Modeling with SolidWorks

Module 1: Basics of Solids Modeling with SolidWorks Module 1: Basics of Solids Modeling with SolidWorks Introduction SolidWorks is the state of the art in computer-aided design (CAD). SolidWorks represents an object in a virtual environment just as it exists

More information

Color Segmentation Based Depth Adjustment for 3D Model Reconstruction from a Single Input Image

Color Segmentation Based Depth Adjustment for 3D Model Reconstruction from a Single Input Image Color Segmentation Based Depth Adjustment for 3D Model Reconstruction from a Single Input Image Vicky Sintunata and Terumasa Aoki Abstract In order to create a good 3D model reconstruction from an image,

More information

Chapter 3- Creating & Editing Objects

Chapter 3- Creating & Editing Objects ` Chapter 3- Creating & Editing Objects Edit Mode- Mesh Editing Object Mode After you have created a mesh, you can go into Edit mode (Tab key or Mode option in window) and change its shape. In edit mode,

More information

CHAPTER 1 Graphics Systems and Models 3

CHAPTER 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 information

Gesture-Based 3D Mesh Modeler

Gesture-Based 3D Mesh Modeler Gesture-Based 3D Mesh Modeler Roland Carlos 1, Clarence Dalan 1, Aaron Sanchez 1, Kevin Tolentino 1 and Florante R. Salvador 1, * 1De La Salle University, Manila *Corresponding Author: florante.salvador@dlsu.edu.ph

More information

CGT 581 G Procedural Methods Fractals

CGT 581 G Procedural Methods Fractals CGT 581 G Procedural Methods Fractals Bedrich Benes, Ph.D. Purdue University Department of Computer Graphics Technology Procedural Techniques Model is generated by a piece of code. Model is not represented

More information

CSE528 Computer Graphics: Theory, Algorithms, and Applications

CSE528 Computer Graphics: Theory, Algorithms, and Applications CSE528 Computer Graphics: Theory, Algorithms, and Applications Hong Qin State University of New York at Stony Brook (Stony Brook University) Stony Brook, New York 11794--4400 Tel: (631)632-8450; Fax: (631)632-8334

More information

Progressive Surface Modeling Based On 3D Motion Sketch

Progressive Surface Modeling Based On 3D Motion Sketch Progressive Surface Modeling Based On 3D Motion Sketch SHENGFENG IN, and DAVID K WRIGHT School of Engineering and Design Brunel University Uxbridge, Middlesex UB8 3PH UK Abstract: - This paper presents

More information

A 3-Dimensional Modeling System Inspired by the Cognitive Process of Sketching

A 3-Dimensional Modeling System Inspired by the Cognitive Process of Sketching A 3-Dimensional Modeling System Inspired by the Cognitive Process of Sketching Matthew Thomas Cook University of Kansas Department of Electrical Engineering and Computer Science Introduction 3-D modeling

More information

AUTOMATIC EXTRACTION OF TERRAIN SKELETON LINES FROM DIGITAL ELEVATION MODELS

AUTOMATIC EXTRACTION OF TERRAIN SKELETON LINES FROM DIGITAL ELEVATION MODELS AUTOMATIC EXTRACTION OF TERRAIN SKELETON LINES FROM DIGITAL ELEVATION MODELS F. Gülgen, T. Gökgöz Yildiz Technical University, Department of Geodetic and Photogrammetric Engineering, 34349 Besiktas Istanbul,

More information

Rendering Nonphotorealistic Strokes with Temporal and Arc-Length Coherence

Rendering Nonphotorealistic Strokes with Temporal and Arc-Length Coherence -.,., Rendering Nonphotorealistic Strokes with Temporal and Arc-Length Coherence Lubomir Bourdev Department of Computer Science Brown University Submitted in partial fulfillment of the requirements for

More information

How to draw and create shapes

How to draw and create shapes Adobe Flash Professional Guide How to draw and create shapes You can add artwork to your Adobe Flash Professional documents in two ways: You can import images or draw original artwork in Flash by using

More information

Images from 3D Creative Magazine. 3D Modelling Systems

Images from 3D Creative Magazine. 3D Modelling Systems Images from 3D Creative Magazine 3D Modelling Systems Contents Reference & Accuracy 3D Primitives Transforms Move (Translate) Rotate Scale Mirror Align 3D Booleans Deforms Bend Taper Skew Twist Squash

More information

Engineering designs today are frequently

Engineering designs today are frequently Basic CAD Engineering designs today are frequently constructed as mathematical solid models instead of solely as 2D drawings. A solid model is one that represents a shape as a 3D object having mass properties.

More information

Google SketchUp. and SketchUp Pro 7. The book you need to succeed! CD-ROM Included! Kelly L. Murdock. Master SketchUp Pro 7 s tools and features

Google SketchUp. and SketchUp Pro 7. The book you need to succeed! CD-ROM Included! Kelly L. Murdock. Master SketchUp Pro 7 s tools and features CD-ROM Included! Free version of Google SketchUp 7 Trial version of Google SketchUp Pro 7 Chapter example files from the book Kelly L. Murdock Google SketchUp and SketchUp Pro 7 Master SketchUp Pro 7 s

More information

COMPARISON OF TWO METHODS FOR DERIVING SKELETON LINES OF TERRAIN

COMPARISON OF TWO METHODS FOR DERIVING SKELETON LINES OF TERRAIN COMPARISON OF TWO METHODS FOR DERIVING SKELETON LINES OF TERRAIN T. Gökgöz, F. Gülgen Yildiz Technical University, Dept. of Geodesy and Photogrammetry Engineering, 34349 Besiktas Istanbul, Turkey (gokgoz,

More information

Distributed Texture-based Terrain Synthesis

Distributed Texture-based Terrain Synthesis Distributed Texture-based Terrain Synthesis Thesis by Flora Ponjou Tasse In Fulfillment of the Requirements for the Degree of Master of Science in Computer Science Supervisors: James Gain Patrick Marais

More information

WIRE BASICS ESTIMATED TIME REQUIRED. This tutorial will teach you the basics of sketching wires and using them as contours for solid objects.

WIRE BASICS ESTIMATED TIME REQUIRED. This tutorial will teach you the basics of sketching wires and using them as contours for solid objects. WIRE BASICS This tutorial will teach you the basics of sketching wires and using them as contours for solid objects. ESTIMATED TIME REQUIRED 30 Minutes LEARNING GOALS In this tutorial you will learn how

More information

Lesson 1: Creating T- Spline Forms. In Samples section of your Data Panel, browse to: Fusion 101 Training > 03 Sculpt > 03_Sculpting_Introduction.

Lesson 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 information

Rendering Smoke & Clouds

Rendering Smoke & Clouds Rendering Smoke & Clouds Game Design Seminar 2007 Jürgen Treml Talk Overview 1. Introduction to Clouds 2. Virtual Clouds based on physical Models 1. Generating Clouds 2. Rendering Clouds using Volume Rendering

More information

Geometric Accuracy Evaluation, DEM Generation and Validation for SPOT-5 Level 1B Stereo Scene

Geometric Accuracy Evaluation, DEM Generation and Validation for SPOT-5 Level 1B Stereo Scene Geometric Accuracy Evaluation, DEM Generation and Validation for SPOT-5 Level 1B Stereo Scene Buyuksalih, G.*, Oruc, M.*, Topan, H.*,.*, Jacobsen, K.** * Karaelmas University Zonguldak, Turkey **University

More information

Procedural modeling and shadow mapping. Computer Graphics CSE 167 Lecture 15

Procedural 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 information

NPR. CS 334 Non-Photorealistic Rendering. Daniel G. Aliaga

NPR. CS 334 Non-Photorealistic Rendering. Daniel G. Aliaga NPR CS 334 Non-Photorealistic Rendering Daniel G. Aliaga 3D Computer Graphics Today Miraculous performance leaps Stunning price cuts Curiously low impact Games Movies * Slides courtesy of Lee Markosian

More information

Computer Graphics. Prof. Feng Liu. Fall /21/2016

Computer Graphics. Prof. Feng Liu. Fall /21/2016 Computer Graphics Prof. Feng Liu Fall 2016 http://www.cs.pdx.edu/~fliu/courses/cs447/ 11/21/2016 Last time Polygon Mesh and Modeling 2 Today Modeling Technologies Final Exam: 12:30-2:00, December 7, 2016

More information

Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL

Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL International Edition Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL Sixth Edition Edward Angel Dave Shreiner Interactive Computer Graphics: A Top-Down Approach with Shader-Based

More information

Chapter 1 Introduction. Marc Olano

Chapter 1 Introduction. Marc Olano Chapter 1 Introduction Marc Olano 1 About This Course Or, why do we want to do real-time shading, and why offer a course on it? Over the years of graphics hardware development, there have been obvious

More information

Artistic Rendering of Function-based Shape Models

Artistic Rendering of Function-based Shape Models Artistic Rendering of Function-based Shape Models by Shunsuke Suzuki Faculty of Computer and Information Science Hosei University n00k1021@k.hosei.ac.jp Supervisor: Alexander Pasko March 2004 1 Abstract

More information

CSE 167: Lecture #17: Procedural Modeling. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

CSE 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 information

Real-Time Non- Photorealistic Rendering

Real-Time Non- Photorealistic Rendering Real-Time Non- Photorealistic Rendering Presented by: Qing Hu LIAO SOCS, McGill Feb 1, 2005 Index Introduction Motivation Appel s Algorithm Improving Schema Rendering Result Economy of line A great deal

More information

BROWN UNIVERSITY Department of Computer Science Master's Project CS-97-M12. "Sketching Curved Three-Dimensional Surfaces" by Bing Chin

BROWN UNIVERSITY Department of Computer Science Master's Project CS-97-M12. Sketching Curved Three-Dimensional Surfaces by Bing Chin BROWN UNIVERSITY Department of Computer Science Master's Project CS-97-M12 "Sketching Curved Three-Dimensional Surfaces" by Bing Chin Sketching Curved Three-Dimensional Surfaces Bing Chin Submitted in

More information

4) Finish the spline here. To complete the spline, double click the last point or select the spline tool again.

4) Finish the spline here. To complete the spline, double click the last point or select the spline tool again. 1) Select the line tool 3) Move the cursor along the X direction (be careful to stay on the X axis alignment so that the line is perpendicular) and click for the second point of the line. Type 0.5 for

More information

3 Polygonal Modeling. Getting Started with Maya 103

3 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

Files Used in this Tutorial

Files Used in this Tutorial Generate Point Clouds and DSM Tutorial This tutorial shows how to generate point clouds and a digital surface model (DSM) from IKONOS satellite stereo imagery. You will view the resulting point clouds

More information

Implementation of Flight Simulator using 3-Dimensional Terrain Modeling

Implementation of Flight Simulator using 3-Dimensional Terrain Modeling Implementation of Flight Simulator using 3-Dimensional Terrain Modeling 1 1, First Author School of Computer Engineering, Hanshin University, Osan City, S. Korea, stryoo@hs.ac.kr Abstract During the last

More information

Fractals Week 10, Lecture 19

Fractals Week 10, Lecture 19 CS 430/536 Computer Graphics I Fractals Week 0, Lecture 9 David Breen, William Regli and Maim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Dreel University http://gicl.cs.dreel.edu

More information

Using LightWave s Motion Blur to Achieve a Hand Drawn Line Effect:

Using LightWave s Motion Blur to Achieve a Hand Drawn Line Effect: Using LightWave s Motion Blur to Achieve a Hand Drawn Line Effect: Cellshader, Unreal, and the use of gradients along with other plugins have given us some great cell painted cartoon and comic book effects,

More information

Beaumont Middle School Design Project April May 2014 Carl Lee and Craig Schroeder

Beaumont Middle School Design Project April May 2014 Carl Lee and Craig Schroeder Beaumont Middle School Design Project April May 2014 Carl Lee and Craig Schroeder 1 2 SketchUp 1. SketchUp is free, and you can download it from the website www.sketchup.com. For some K12 use, see www.sketchup.com/3dfor/k12-education.

More information

CMSC 425: Lecture 12 Procedural Generation: 1D Perlin Noise

CMSC 425: Lecture 12 Procedural Generation: 1D Perlin Noise CMSC 425: Lecture 2 Procedural Generation: D Perlin Noise Reading: The material on Perlin Noise based in part by the notes Perlin Noise, by Hugo Elias. (The link to his materials seems to have been lost.)

More information

Using Google SketchUp

Using Google SketchUp Using Google SketchUp Mike Bailey mjb@cs.oregonstate.edu http://cs.oregonstate.edu/~mjb/sketchup What is Google SketchUp? Google SketchUp is a program which lets you sketch in 3D. It is excellent for creating

More information

A Study of Generating Weathered Patterns by Using Fractal Functions

A Study of Generating Weathered Patterns by Using Fractal Functions A Study of Generating Weathered Patterns by Using Fractal Functions N. Mukai, H. Shigeoka and M. Kosugi Graduate School of Engineering, Musashi Institute of Technology, E-Mail: mukai@cs.musashi-tech.ac.jp

More information

ShapeShop: Sketch-Based Solid. Modeling with BlobTrees. Ryan Schmidt, Brian Wyvill, Mario Costa Sousa. Joaquim A Jorge. University of Calgary, Canada

ShapeShop: Sketch-Based Solid. Modeling with BlobTrees. Ryan Schmidt, Brian Wyvill, Mario Costa Sousa. Joaquim A Jorge. University of Calgary, Canada ShapeShop: Sketch-Based Solid Modeling with BlobTrees Ryan Schmidt, Brian Wyvill, Mario Costa Sousa University of Calgary, Canada Joaquim A Jorge TU Lisbon, Portugal Motivation Current 3D modeling interfaces

More information

9. Three Dimensional Object Representations

9. Three Dimensional Object Representations 9. Three Dimensional Object Representations Methods: Polygon and Quadric surfaces: For simple Euclidean objects Spline surfaces and construction: For curved surfaces Procedural methods: Eg. Fractals, Particle

More information

Escher Planetoids. Figure 1 Double planetoids by Escher, 1949

Escher Planetoids. Figure 1 Double planetoids by Escher, 1949 Escher Planetoids Yasuhide Okamoto Figure 1 Double planetoids by Escher, 1949 1. Escher planetoids The art work Double planetoids shown in Figure 1 was drawn by M.C. Escher in 1949. This planet is constructed

More information

TSBK03 Screen-Space Ambient Occlusion

TSBK03 Screen-Space Ambient Occlusion TSBK03 Screen-Space Ambient Occlusion Joakim Gebart, Jimmy Liikala December 15, 2013 Contents 1 Abstract 1 2 History 2 2.1 Crysis method..................................... 2 3 Chosen method 2 3.1 Algorithm

More information

DATA MODELS IN GIS. Prachi Misra Sahoo I.A.S.R.I., New Delhi

DATA MODELS IN GIS. Prachi Misra Sahoo I.A.S.R.I., New Delhi DATA MODELS IN GIS Prachi Misra Sahoo I.A.S.R.I., New Delhi -110012 1. Introduction GIS depicts the real world through models involving geometry, attributes, relations, and data quality. Here the realization

More information

MODULE 1 BASIC LIDAR TECHNIQUES

MODULE 1 BASIC LIDAR TECHNIQUES MODULE SCENARIO One of the first tasks a geographic information systems (GIS) department using lidar data should perform is to check the quality of the data delivered by the data provider. The department

More information

Literature Review. Bruce Alcock. A Procedural, Minimal Input, Natural Terrain Plug-in for Blender. Supervisors: Kevin Glass and Shaun Bangay

Literature Review. Bruce Alcock. A Procedural, Minimal Input, Natural Terrain Plug-in for Blender. Supervisors: Kevin Glass and Shaun Bangay Literature Review Bruce Alcock A Procedural, Minimal Input, Natural Terrain Plug-in for Blender Supervisors: Kevin Glass and Shaun Bangay Abstract This review examines methods of terrain representation,

More information

More Texture Mapping. Texture Mapping 1/46

More Texture Mapping. Texture Mapping 1/46 More Texture Mapping Texture Mapping 1/46 Perturbing Normals Texture Mapping 2/46 Perturbing Normals Instead of fetching a texture for color, fetch a new perturbed normal vector Creates the appearance

More information

INTERACTIVE ENVIRONMENT FOR INTUITIVE UNDERSTANDING OF 4D DATA. M. Murata and S. Hashimoto Humanoid Robotics Institute, Waseda University, Japan

INTERACTIVE ENVIRONMENT FOR INTUITIVE UNDERSTANDING OF 4D DATA. M. Murata and S. Hashimoto Humanoid Robotics Institute, Waseda University, Japan 1 INTRODUCTION INTERACTIVE ENVIRONMENT FOR INTUITIVE UNDERSTANDING OF 4D DATA M. Murata and S. Hashimoto Humanoid Robotics Institute, Waseda University, Japan Abstract: We present a new virtual reality

More information

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development Chap. 5 Scene Management Overview Scene Management vs Rendering This chapter is about rendering

More information

Constrained Diffusion Limited Aggregation in 3 Dimensions

Constrained Diffusion Limited Aggregation in 3 Dimensions Constrained Diffusion Limited Aggregation in 3 Dimensions Paul Bourke Swinburne University of Technology P. O. Box 218, Hawthorn Melbourne, Vic 3122, Australia. Email: pdb@swin.edu.au Abstract Diffusion

More information

Selective Space Structures Manual

Selective Space Structures Manual Selective Space Structures Manual February 2017 CONTENTS 1 Contents 1 Overview and Concept 4 1.1 General Concept........................... 4 1.2 Modules................................ 6 2 The 3S Generator

More information

Page 1. Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms

Page 1. Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms Visible Surface Determination Visibility Culling Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms Divide-and-conquer strategy:

More information

CS 465 Program 4: Modeller

CS 465 Program 4: Modeller CS 465 Program 4: Modeller out: 30 October 2004 due: 16 November 2004 1 Introduction In this assignment you will work on a simple 3D modelling system that uses simple primitives and curved surfaces organized

More information

Mathematics 350 Section 6.3 Introduction to Fractals

Mathematics 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 information

Vector Data Analysis Working with Topographic Data. Vector data analysis working with topographic data.

Vector Data Analysis Working with Topographic Data. Vector data analysis working with topographic data. Vector Data Analysis Working with Topographic Data Vector data analysis working with topographic data. 1 Triangulated Irregular Network Triangulated Irregular Network 2 Triangulated Irregular Networks

More information

0. Introduction: What is Computer Graphics? 1. Basics of scan conversion (line drawing) 2. Representing 2D curves

0. Introduction: What is Computer Graphics? 1. Basics of scan conversion (line drawing) 2. Representing 2D curves CSC 418/2504: Computer Graphics Course web site (includes course information sheet): http://www.dgp.toronto.edu/~elf Instructor: Eugene Fiume Office: BA 5266 Phone: 416 978 5472 (not a reliable way) Email:

More information

Circular Arcs as Primitives for Vector Textures

Circular Arcs as Primitives for Vector Textures Circular Arcs as Primitives for Vector Textures Zheng Qin, Craig Kaplan, and Michael McCool University of Waterloo Abstract. Because of the resolution independent nature of vector graphics images, it is

More information

A Quick Spin on Autodesk Architectural Studio

A Quick Spin on Autodesk Architectural Studio December 2-5, 2003 MGM Grand Hotel Las Vegas A Quick Spin on Autodesk Architectural Studio Mario Guttman, AIA Kevin Durham Christie Landry (Instructor) (Assistant) (Assistant) BD13-5L Autodesk Architectural

More information

Construction of Complex City Landscape with the Support of CAD Model

Construction of Complex City Landscape with the Support of CAD Model Construction of Complex City Landscape with the Support of CAD Model MinSun 1 JunChen 2 AinaiMa 1 1.Institute of RS & GIS, Peking University, Beijing, China, 100871 2.National Geomatics Center of China,

More information

Using Google SketchUp

Using Google SketchUp Using Google SketchUp Mike Bailey mjb@cs.oregonstate.edu http://cs.oregonstate.edu/~mjb/sketchup What is Google SketchUp? Google SketchUp is a program which lets you sketch in 3D. It is excellent for creating

More information

A Shattered Perfection: Crafting a Virtual Sculpture

A Shattered Perfection: Crafting a Virtual Sculpture A Shattered Perfection: Crafting a Virtual Sculpture Robert J. Krawczyk College of Architecture, Illinois Institute of Technology, USA krawczyk@iit.edu Abstract In the development of a digital sculpture

More information

Computer graphics Labs: Blender (1/3) Modelling, transparency and reflection

Computer graphics Labs: Blender (1/3) Modelling, transparency and reflection Computer graphics Labs: Blender (1/3) Modelling, transparency and reflection University of Liège Department of Aerospace and Mechanical engineering Designed with Blender 2.76b Introduction to the interface

More information

Computer Graphics. - Texturing Methods -

Computer Graphics. - Texturing Methods - Computer Graphics - Texturing Methods - Overview Last time BRDFs Shading Today Texturing Texture parameterization Procedural methods Procedural textures Fractal landscapes Next lecture Texture filtering

More information

SPIROLATERALS, COMPLEXITY FROM SIMPLICITY

SPIROLATERALS, COMPLEXITY FROM SIMPLICITY SPIROLATERALS, COMPLEXITY FROM SIMPLICITY Robert J. Krawczyk Illinois Institute of Technology, College of Architecture krawczyk@iit.edu This paper investigates spirolaterals for their beauty of form and

More information

Chapter 1. Introduction

Chapter 1. Introduction Introduction 1 Chapter 1. Introduction We live in a three-dimensional world. Inevitably, any application that analyzes or visualizes this world relies on three-dimensional data. Inherent characteristics

More information

Introduction to Computer Graphics

Introduction to Computer Graphics Introduction to Computer Graphics James D. Foley Georgia Institute of Technology Andries van Dam Brown University Steven K. Feiner Columbia University John F. Hughes Brown University Richard L. Phillips

More information

Fractals & Iterative Function Systems

Fractals & 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 information

3D Modeling and Design Glossary - Beginner

3D Modeling and Design Glossary - Beginner 3D Modeling and Design Glossary - Beginner Align: to place or arrange (things) in a straight line. To use the Align tool, select at least two objects by Shift left-clicking on them or by dragging a box

More information

Texture Mapping using Surface Flattening via Multi-Dimensional Scaling

Texture Mapping using Surface Flattening via Multi-Dimensional Scaling Texture Mapping using Surface Flattening via Multi-Dimensional Scaling Gil Zigelman Ron Kimmel Department of Computer Science, Technion, Haifa 32000, Israel and Nahum Kiryati Department of Electrical Engineering

More information

Computer 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 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 information

2 Solutions Chapter 3. Chapter 3: Practice Example 1

2 Solutions Chapter 3. Chapter 3: Practice Example 1 1 Solutions This section includes the step by step solutions for the practice exercise for the following chapters and sections: Chapter 3 Chapter 4 Chapter 5 Chapter 11: Rainbow Springs sample test Final

More information

ADOBE ILLUSTRATOR CS3

ADOBE ILLUSTRATOR CS3 ADOBE ILLUSTRATOR CS3 Chapter 2 Creating Text and Gradients Chapter 2 1 Creating type Create and Format Text Create text anywhere Select the Type Tool Click the artboard and start typing or click and drag

More information

Graphics Design: TR-Design

Graphics Design: TR-Design Revision September 12, 2013 About the Textbook This textbook is a companion of the interactive course Solid Modeling with PLaSM in NCLab. With the help of many examples, review questions, and interactive

More information

Note: This section does not cover how to do something in SketchUp, but covers important concepts necessary to model in 3D.

Note: This section does not cover how to do something in SketchUp, but covers important concepts necessary to model in 3D. Contents This guide covers the numerous 3D design and SketchUp concepts found within the product and in the user community. This section was primarily written for users who are new to 3D modeling or SketchUp.

More information

Paint by Numbers and Comprehensible Rendering of 3D Shapes

Paint by Numbers and Comprehensible Rendering of 3D Shapes Paint by Numbers and Comprehensible Rendering of 3D Shapes Prof. Allison Klein Announcements Sign up for 1 st presentation at end of class today Undergrads: Thinking about grad school? Still here over

More information

Principles of Architectural and Environmental Design EARC 2417 Lecture 2 Forms

Principles of Architectural and Environmental Design EARC 2417 Lecture 2 Forms Islamic University-Gaza Faculty of Engineering Architecture Department Principles of Architectural and Environmental Design EARC 2417 Lecture 2 Forms Instructor: Dr. Suheir Ammar 2016 1 FORMS ELEMENTS

More information

In this lesson, you ll learn how to:

In this lesson, you ll learn how to: LESSON 5: ADVANCED DRAWING TECHNIQUES OBJECTIVES In this lesson, you ll learn how to: apply gradient fills modify graphics by smoothing, straightening, and optimizing understand the difference between

More information

Free-Hand Stroke Approximation for Intelligent Sketching Systems

Free-Hand Stroke Approximation for Intelligent Sketching Systems MIT Student Oxygen Workshop, 2001. Free-Hand Stroke Approximation for Intelligent Sketching Systems Tevfik Metin Sezgin MIT Artificial Intelligence Laboratory mtsezgin@ai.mit.edu Abstract. Free-hand sketching

More information

Computer Graphics. Instructor: Oren Kapah. Office Hours: T.B.A.

Computer Graphics. Instructor: Oren Kapah. Office Hours: T.B.A. Computer Graphics Instructor: Oren Kapah (orenkapahbiu@gmail.com) Office Hours: T.B.A. The CG-IDC slides for this course were created by Toky & Hagit Hel-Or 1 CG-IDC 2 Exercise and Homework The exercise

More information

Computer Graphics. Sampling Theory & Anti-Aliasing. Philipp Slusallek

Computer Graphics. Sampling Theory & Anti-Aliasing. Philipp Slusallek Computer Graphics Sampling Theory & Anti-Aliasing Philipp Slusallek Dirac Comb (1) Constant & δ-function flash Comb/Shah function 2 Dirac Comb (2) Constant & δ-function Duality f(x) = K F(ω) = K (ω) And

More information

GMS 10.0 Tutorial Stratigraphy Modeling TIN Surfaces Introduction to the TIN (Triangulated Irregular Network) surface object

GMS 10.0 Tutorial Stratigraphy Modeling TIN Surfaces Introduction to the TIN (Triangulated Irregular Network) surface object v. 10.0 GMS 10.0 Tutorial Stratigraphy Modeling TIN Surfaces Introduction to the TIN (Triangulated Irregular Network) surface object Objectives Learn to create, read, alter, and manage TIN data from within

More information

CSE 167: Lecture #15: Procedural Modeling. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

CSE 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 information

CS 563 Advanced Topics in Computer Graphics Chapter 31 Noise Based Textures. by Scott Ingram

CS 563 Advanced Topics in Computer Graphics Chapter 31 Noise Based Textures. by Scott Ingram CS 563 Advanced Topics in Computer Graphics Chapter 31 Noise Based Textures by Scott Ingram Introduction Why? Noise based textures tend to look more natural owing to the randomness of the texture Might

More information

CCNY Math Review Chapter 2: Functions

CCNY Math Review Chapter 2: Functions CCN Math Review Chapter : Functions Section.1: Functions.1.1: How functions are used.1.: Methods for defining functions.1.3: The graph of a function.1.: Domain and range.1.5: Relations, functions, and

More information

Module 4A: Creating the 3D Model of Right and Oblique Pyramids

Module 4A: Creating the 3D Model of Right and Oblique Pyramids Inventor (5) Module 4A: 4A- 1 Module 4A: Creating the 3D Model of Right and Oblique Pyramids In Module 4A, we will learn how to create 3D solid models of right-axis and oblique-axis pyramid (regular or

More information

Transforming Objects and Components

Transforming Objects and Components 4 Transforming Objects and Components Arrow selection Lasso selection Paint selection Move Rotate Scale Universal Manipulator Soft Modification Show Manipulator Last tool used Figure 4.1 Maya s manipulation

More information

Pen Tool, Fill Layers, Color Range, Levels Adjustments, Magic Wand tool, and shadowing techniques

Pen Tool, Fill Layers, Color Range, Levels Adjustments, Magic Wand tool, and shadowing techniques Creating a superhero using the pen tool Topics covered: Pen Tool, Fill Layers, Color Range, Levels Adjustments, Magic Wand tool, and shadowing techniques Getting Started 1. Reset your work environment

More information

OLE Coordinate System: Subjective Motion for Interactive Optical Illusion

OLE Coordinate System: Subjective Motion for Interactive Optical Illusion OLE Coordinate System: Subjective Motion for Interactive Optical Illusion Jun Fujiki Graduate School of Design Taketoshi Ushiama Faculty of Design Reiji Tsuruno Faculty of Design Kiyoshi Tomimatsu Faculty

More information

Morphological track 1

Morphological track 1 Morphological track 1 Shapes Painting of living beings on cave walls at Lascaux [about 1500 th BC] L homme qui marche by Alberto Giacometti, 1948, NOUVELLES IMAGES Editor (1976) Les lutteurs by Honoré

More information