Gouge-free voxel-based machining for parallel processors

Size: px
Start display at page:

Download "Gouge-free voxel-based machining for parallel processors"

Transcription

1 Int J Adv Manuf Technol (2013) 69: DOI /s x ORIGINAL ARTICLE Gouge-free voxel-based machining for parallel processors Joshua Tarbutton & Thomas R. Kurfess & Tommy Tucker & Dmytryi Konobrytskyi Received: 16 April 2013 /Accepted: 19 June 2013 /Published online: 13 July 2013 # Springer-Verlag London 2013 Abstract Manufacturers produce complex parts by utilizing computer-aided manufacturing (CAM) software to generate tool paths for a machine tool to follow. CAM systems traditionally rely on parametric surface representations of the parts and complex algorithms to produce the tool paths. This paper presents a new path generation framework that is based on parallel algorithms and hardware that utilizes voxel models. The use of new parallel algorithms allows rapid calculations of tool paths automatically from the voxel model. The core components of this framework are a method of generating digital voxel models from tessellated surface models, a method to obtain digital surface information by a parallel ray-casting approach, and a new approach to calculate gouge-free tool paths in parallel from surface information and generalized cutting geometry. The performance of utilizing digital models within this framework is then discussed with respect to timing and actual cutting results. Keywords CNC path planning. Machining. Parallel processing J. Tarbutton (*) Mechanical Engineering Department, University of South Carolina, 300 Main Street, Columbia, SC, USA jat@sc.edu T. R. Kurfess George W. Woodruff School of Mechanical Engineering, Georgia Institute of Technology, 801 Ferst Drive, Atlanta, GA, USA T. Tucker Tucker Innovations, Inc, Waxhaw, NC, USA D. Konobrytskyi Department of Mechanical Engineering, Clemson University, Clemson, SC, USA 1 Introduction Two significant technological advances are responsible for the current level of machining productivity. The first is the mathematical ability to represent complex part surfaces with parametric surfaces. The second is the creation of computer numerical control (CNC) machine tools that can follow discrete tool points generated based on these parametric surfaces. The link between the parametric part surface and the actual tool path is computer-aided manufacturing (CAM) software. CAM software generates tool paths by calculating tool points from the underlying parametric part surface and user inputs. Although the process of generating tool paths has advanced considerably, it remains time consuming, costly, unique to the software package used, and often suboptimal. The current CAM software relies heavily on the user. Process engineers make a number of fixed decisions when generating a tool path with CAM software. They select tool geometry, depth of cut, feed rate, spindle speed, and path template. It is often difficult to make these decisions considering the infinite range of possibilities, and this process can take a considerable amount of time for each part. After these fixed decisions are made, the path is post-processed to produce a CNC code (G-code) for the machine tool. This timeconsuming process repeats for any small changes to the part. In addition, due to demanding production schedules, this process is rarely optimized. The inherent input output characteristics of tool path generation would require generation of hundreds to thousands of paths with different input parameters in order to optimize the resulting tool path. Creating optimal tool paths is typically not practical with the current linear workflow of path generation. In practice, the tool path that works is selected, and the potential productivity and cost savings are usually never realized. The disparity between the information available for process engineers to utilize and the information that is actually used is

2 1942 Int J Adv Manuf Technol (2013) 69: remarkable when generating tool paths. The performance of tool paths produced by the complex path planning process of going from art (CAD model) to part (physical machining result) is limited by user knowledge and current algorithms used in the commercial software. For example, the research community has already provided methods to represent complex part surfaces, generalized cutting tool geometry; evaluate dynamic stability and predict chatter; produce effective operation-specific tool paths such as pocketing, drilling, and threading; predict tool life and estimate wear; produce paths for high-speed machining; evaluate forces during cutting; and predict machining time. However, this information is rarely incorporated into the tool paths. For example, current software tools even have trouble estimating the actual machining time. In practice, tool paths do not explore the design space fully because the savings in time, increased quality, or decreased cost are not understood nor are worth the investment, or current tools do not support this search. One way to understand the trade-offs in quality, speed, and cost is to create tools that allow process engineers to produce multiple paths rapidly. What is lacking is the framework to compute tool paths rapidly while taking into account the vast design space. New parallel software and hardware tools have enabled researchers to approach the tool path generation problem in parallel and to use different surface representations and algorithms to explore new methods of path generation that will eventually lead to better machining productivity and tool path optimization. This paper presents the use of parallel algorithms implemented on parallel hardware to generate gouge-free tool paths automatically for arbitrary part surfaces represented by voxel models in less than 1 s. The ability to generate tool path rapidly in parallel is the first step towards producing optimized tool paths that take into account more of the growing design space available for tool path generation. The rest of this paper discusses this voxel-based parallel framework. Section 2 provides a background of traditional machining and the use of the graphics processing unit (GPU) as parallel processor for other manufacturing applications. Section 3 discusses the digitization of the part model by voxelization. Section 4 presents the surface detection approach utilizing parallel ray casting and the use of a path template and generalized cutting geometry to generate a gouge-free tool path. Section 5 discusses the performance of the ray-casting and path generation algorithms when implemented in parallel utilizing a GPU. Section 6 shows the results of this framework when used to machine a real part. 2 Background Tool path generation methods take part surface information and a definition of a cutting tool geometry to calculate cutter locations (CLs) that place the cutter contact (CC) on the part surface that removes material without gouge or collision. Traditional path generation methods are the iso-parametric [1 3], iso-planar [4 6], and iso-scallop [7, 8]. Iso-parametric path planning methods map a parametric surface, s(u, v), onto Euclidean space to produce cutter contact points. An offset surface is created from the CC points to yield cutter location, or CL, data [6]. The drawback of this method is that the mapping from parametric space to Euclidean space is nonlinear and results in nonuniform scallop on the part surface. Adaptive methods correct this phenomenon but at the cost of increased algorithm complexity [2]. Iso-parametric methods are useful for a single surface. However, generating tool paths from multiple parametric surfaces often result in gouging [7] because the tool paths are no longer boundary confined [9]. Surface repair and increased algorithm complexity are necessary to ensure error-free tool paths [10]. As a result, compound surfaces are sometimes converted to triangular meshes [9]. Iso-planar methods, also referred to as drive surfaces, generate tool points by intersecting the part surface by infinite planes. If the plane is vertical, the method is referred to as the Cartesian or constant z-level method. If the plane is horizontal, it is referred to as the contour parallel offset or CPO method, direction-parallel [11], one-way tool path, or zigzag tool path [12]. The plane-surface intersections are used to generate CC points and CL points. According to Kim [12], determining the plane-surface intersections is computationally demanding. However, the algorithm is reliable when used for complex surfaces and is widely used in die and mold manufacturing software. A disadvantage of this approach is that parts with large surface gradients produce uneven paths when the intersecting planes are equally spaced [13]. Iso-scallop path planning methods attempt to create paths with uniform scallop. Typically, a starting curve is selected along one of the part or surface edges, and constant distance path points parallel to this curve are generated so that the resulting tool paths are mapped uniformly to Euclidian space [8]. Because this method uses a single starting curve, the iso-scallop methods suffer from error buildup. In addition, algorithms to ensure constant forward steps and constant scallop height make the iso-scallop method computational complex [14]. Path planning based on polyhedral models (tessellated models, faceted or triangular mesh models) was introduced by Duncan in 1983 [15] and simplifies the computationally intensive surface checking algorithms found in the above methods [16]. Nearly all CAD packages have tessellation algorithms that produce tessellated (polyhedral) surfaces with the desired surface accuracy. Although the tessellated surface approximates the true surface, the surface accuracy can be constrained to acceptable tolerances at the cost of increased memory usage. Tessellation algorithms are robust and capable of combining any number of surfaces into a single triangular mesh [9].

3 Int J Adv Manuf Technol (2013) 69: Generating the CC and CL from a polyhedral (stereolithography, STL) model has been accomplished by two main approaches: the point/curve-based approach [6, 15 18] and the inverse tool offset surface approach [19 21]. The point/curve-based approach finds CL points based dropping the tool along the z-axis until it intersects the part surface. The inverse offset method places the tool upside down (inverse) with its center on the surface of the part and uses the tool's tip (offset) to determine the CL data. These methods suffer from gouge when the surface geometry is concave. Concave regions must be detected and addressed in the algorithms which proves to be computationally demanding and difficult. Polyhedral models are well defined, not limited to a single software package; they can be produced by reverse engineering. The STL file is commonly used as the file-sharing format between CAD packages as well as the default file type for rapid prototyping. STL files are also useful when parametric surface data are not available. New hardware has reduced the significance of resolution and memory issues associated with polyhedral machining, and some recent CAM packages include this functionality [16]. This paper uses voxel models for path planning instead of parametric or tessellated surface models. The use of voxel models allows for rapid tool path generation based on a new parallel framework. This framework utilizes the native parallel hardware-accelerated functionality of the GPU. Until recently, the advances in the GPU strictly benefited the multibillion dollar gaming and film industries. However, graphics card manufacturers realized the demand for the greater computing capabilities afforded by the GPU. In 2005, graphics card manufacturers granted access to the graphics card pipeline. This allowed programmers to use portions of the graphics card as general purpose processors. With this new capability, research exploded in what is referred to as General Purpose Graphics Processing Unit computing or GPGPU computing. A tremendous amount of research in nongraphics fields such as physics, economics, medicine, and engineering soon followed [22]. The GPU supports parallel operations on multiple streaming multiprocessor cores. These are similar to CPU processors except in their density. Current high-end CPUs have two to four cores (e.g., Intel Duo, Intel Quad) running at approximately 3 GHz whereas current GPUs have 64 1,024 processor cores operating at speeds up to 1.5 GHz. The nominal acceleration by porting serial CPU code to parallel GPU code is about [23]. In addition, the GPU has native hardware functionality such as depth testing, occlusion, culling, and plane clipping, which are useful for accelerating manufacturing algorithms. The GPU was used to determine the castability of geometric parts and assists with part redesign by McMains, Khardekar, and Burton [24]. A GPU-assisted approach to five-axis surface machining was developed by Gray et al. [25] to build upon a tool orientation strategy called the Rolling Ball Method. This method was extended to the Arc Intersection Method [26] that orients the tool to contact the surface at two points during the cutting process. Dokken et al. [27] utilize the GPU as an accelerator for CAD-type intersection algorithms. Roth et al. [28, 29] propose a mechanistic model of chip geometry and material removal, based on an adaptive and local depth buffer, to compute milling forces when machining a part on a multi-axis milling machine. Inui [21] implemented the inverse offset method by using the depth buffer of the graphics card to generate tool paths for mold and die manufacturing for Mazda [30]. Inui also used the GPU to determine the optimal angle in deep mold milling. Carter [31] used GPU fragment shader programs to determine CL data from a surface generated by the depth buffer. In this research, the surface of the digital voxel model is obtained by ray casting. Voxel models are used extensively in the area of volume rendering. Applications of voxel models are predominantly concerned with the rendering of objects with various densities such as clouds and smoke for the movie and gaming industries or for rendering the bone and organ data obtained from an MRI [32]. Ray casting is a cornerstone of graphics research [33, 34] and is used in CAD systems for photo-realistic rendering [35]. Photo-realistic rendering is a means to render a virtual scene as close to reality as possible by physically modeling rays of light [36]. The concept of using a ray has previously been used in tool path planning to find the highest patch surface in a work area [37] or specific intersection with a surface [38]. Voxel models have been used in virtual machining simulation [39], but the authors did not find a reference where the voxels are used in actual tool path calculations as presented here. 3 Creating digital voxel models This research utilizes voxel models to generate tool paths instead of the traditional parametric or polyhedral models. Voxel models are used in this research to represent the part and blank and allow for rapid surface identification utilizing the parallel ray-casting and gouge-free path update approach described in Section 4. In addition, digital models avoid algorithm complexity associated with traditional path planning approaches as described in the background. For the purpose of this research, the part is digitized by a method called voxelization. Voxel models are chosen because they can be easily integrated with parallel graphics hardware. In addition, the ability to store various data types in each voxel allows for smooth surface representation when rendering. Historically, representing model by volumetric data such as

4 1944 Int J Adv Manuf Technol (2013) 69: voxels was impossible due to limited memory. However, current hardware has made it possible to explore truly volumetric representations of parts instead of surface representations only. For example, in the recent past, the available memory on the GPU has gone from a mere 64 MB in 2001 to over 4 GB, and this trend will continue similarly to other memory trends. A voxel is a 3D volume element much like a pixel is a 2D picture element. A voxel is analogous to stacked photographs or layers of pixels in space. Analytically solving for plane-surface or point-surface intersections takes significant computation time when using the iso-parametric, iso-planar, and iso-scallop methods. Surface intersection is simplified by using a voxel model representation of the part. However, this speed comes at the expense of memory consumption and the introduction of another layer of surface approximation error. In practice, the maximum overall error is a function of the tessellation, voxelization, and machine errors expressed by Eq E Surface ¼ fðt; v; m Þ ¼ jet ðþjþjev ðþjþjem ð Þj ð3:1þ where e(t) is the tessellation error, v(t) is the voxelization error, and e(m) is the machine error. The tessellation and voxel errors are both introduced by surface approximation. The user has control over tessellation resolution and voxel size. It is assumed that the STL file has been imported with acceptable accuracy and that the user determines the maximum acceptable voxel size. The voxelization algorithm makes use of the native graphics rendering functionality of the GPU and the fact that the STL file is a tessellated model comprised of polygons (triangles). When images are rendered to a computer screen, they pass through the GPU's rendering pipeline. The rendering pipeline takes the polygons and converts them to pixels on the screen. The GPU is set up to render to the screen using either an orthographic projection or a perspective projection. The voxelization process utilizes orthographic projection as shown in Fig. 1. The projection of the part onto the viewing plane is performed by looking at the triangles on the tessellated surface and the order in which their vertexes were defined. If the vertexes were defined in a clockwise fashion, the surfaces are understood by the GPU to be front facing meaning they face the viewing plane. If the vertexes were created in a counterclockwise fashion, they are understood by the GPU to be rear facing meaning they face away from the viewing plane. Whether the polygons seen by the viewing plane are rear facing or front facing allows the voxelization algorithm to determine if the viewing plane is inside a part or outside the part. The voxelization process is similar to the one described in [40] where a clipping plane is placed so that it slices the part Fig. 1 Part model rendered to viewing plane as shown in Fig. 2. The voxel model is created by moving the clip plane along the model and using the information from the rear-facing and front-facing polygons to render only the inside of the part onto GPU texture memory as shown. This process slices the model and then takes a picture of the inside of the model only. This picture is stored in GPU texture memory. The final voxel value is represented as a char data type to reduce memory demands. Therefore, each voxel value is between 0 and 255. In order to avoid quantization effects, the texture resolution is selected to be eight times greater than the desired voxel resolution. The factor of eight is chosen so when x, y, and z are sampled, there are 8^3=512 values for each voxel resulting in twice the desired final resolution and minimizing quantization effect. Therefore, if the desired voxel resolution is voxels, then 2D textures are created at a resolution of and sampled in depth at 8 the desired voxel resolution. Voxels that are inside the part are assigned a value of 255, and voxels that are outside the part are assigned a value of 0. Voxels that are at the surface of the voxel model are defined as 128. Voxels that are near the surface are affected by their distance from the surface according to a ramp in values effectively distributing the surface of the voxel model across more voxels to soften the surfaces when rendering. The final voxel value is updated based on the average of the higherresolution voxel data set. Figure 2 shows the voxelization process with a resolution that is only four times the desired resolution for illustration. The voxelization algorithm performs the following steps to discretize the model: 1. Place a clip plane at the desired slice location along the part. 2. Allocate texture memory on the GPU at eight times the desired resolution of the voxel model. 3. Draw all the background pixels as zero in the highresolution GPU texture memory.

5 Int J Adv Manuf Technol (2013) 69: Fig. 2 Rendering slices into memory 4. Draw all back faces of the STL model as 255 in the GPU texture. 5. Draw all front faces as 0 in the GPU texture. 6. Test the depth of front-facing polygons and rear-facing polygons. 7. Render the front faces that are in front of the back faces. 8. Create eight textures in depth and average each 8 8 grid to determine the voxel value for the final voxel volume and repeat for the next slice. This algorithm was implemented in C++ and DirectX. Screen shots of the voxelization process are shown in Fig. 3. The part to be tessellated is shown on the left and consists of a freeform surface intersected with three other surfaces from a cylinder, sphere, and plane. The tessellated part is shown in the top row on the left, and the clipping plane is shown at the right side of that part. What is saved to GPU memory is shown in the box below the part. The clipping plane starts at the right side of the part and performs the operations described above before moving to the next plane. The right image shows the output of the algorithm where the tessellated part is now a volumetric part, or voxel model. Once the part has been voxelized, it represents a digital discrete volume. The tool path generation algorithm relies on the definition of a blank as well as a part. The blank is also represented by a voxel model. The blank and part volumes are show in Fig. 4. The blank material is removed by successive tool paths based on the tool geometry and depth of cut until only the part remains. Defining a voxel blank also allows simulation of the material removed per cutting pass. Fig. 3 Voxelization process

6 1946 Int J Adv Manuf Technol (2013) 69: q ¼ p proj n ðp p 0 Þ ð4:1þ Fig. 4 Voxel models of blank and part 4 Path generation from digital models In this section, a method of generating a gouge-free path based on a digital model is introduced. A parallel method of extracting surface information by ray casting is discussed first. This is followed by a new method of using a full 3D generalized cutter and the digital model to obtain gouge-free tool points. Gouge-free paths are generated from a selected path template given the surface information and generalized cutting geometry. 4.1 Detecting part surfaces by ray casting The surface information of the digital model is captured by casting rays from a virtual machining plane. In practice, the machine tool physically cuts the part normal to the virtual machining plane. The machining plane is infinite, and to determine the area used in actual machining, it is bounded to a smaller area based on the part visibility. The part visibility on the plane is calculated by projecting the points of a bounding box that surrounds the part onto the plane. A planar parallel polygon is created on the plane that represents the projected machining area. The machining plane is defined as a point P 0 and a normal n. The plane is constructed by selecting a point above the origin of the part and creating the plane normal vector from the cross product of the X and Y axes unit normal directions. Each point of the bounding box is projected onto the plane by Eq. 4.1 and shown in Fig. 5. Once the points have been projected onto the plane, the parametric distances along the direction vectors used to define the plane are calculated. The parametric distance s and t are calculated from a given plane origin point, P 0, the projected point P, and the unit direction vectors used in the definition of the plane (u, v). The projected point on the plane in terms of parametric distances is given by Eq P 0x 3 p ¼ p 0 þ s bu þ t bv ¼ 4 P 0y 5 þ s4 u y 5 þ t4 v y 5 ð4:2þ P 0z u z v z This results in three equations and two unknowns, s and t. Solving for parametric distances s and t yields Eqs. 4.3 and 4.4. s ¼ p x p 0x tv x u x t ¼ p z p 0 p. y p 0y u z v z v yu z u y u y 2 u x 3 2 v x 3 ð4:3þ ð4:4þ The plane origin is moved so it is coincident to the projected point with the minimum parametric distances. This allows the maximum parametric distances, umax and vmax, along the plane direction vectors to correspond to the same distance of the part bounds on the plane as shown in Fig. 6. Figure 6 shows the bounding box surrounding the part and the bounding box points when projected onto a plane located above the part. The parametric distances, umax and vmax, Fig. 5 Point projected onto plane Fig. 6 Parametric plane (red) with projected bounding box

7 Int J Adv Manuf Technol (2013) 69: Fig. 9 Interpolation of the voxel value along the ray Fig. 7 Single ray cast from grid are updated based on the projected box for arbitrary locations in Cartesian space. Rays are cast from a grid generated on the bounded machining plane based on the parametric size (umax and vmax) of the projected box. The grid and a single ray are shown in Fig. 7. Ray intersections with the voxel model are used to calculate the surface of a part and blank model for later use in calculating the tool path. A point and a direction vector define a ray. The direction vector multiplied by the distance from the ray origin determines any point along the ray, voxel surface is hit as shown in Fig. 8. The surface is hit when the ray passes the surface of the part. The value of the voxel volume along the ray is determined by tri-linear interpolation of the voxel volume at that point along the ray. Tri-linear interpolation is performed based on the known voxel width and the location of the vertexes, f iii, surrounding the voxel as shown in Fig. 9. The value of the voxel model is obtained by using Eq val ¼ ð1 ΔxÞð1 ΔyÞð1 ΔzÞf 000 þ ðδxþð1 ΔxÞð1 ΔxÞf 100 ð1 ΔxÞðΔyÞð1 ΔxÞf 010 þ ð1 ΔxÞð1 ΔyÞðΔzÞf 001 ðδxþðδyþð1 ΔzÞf 110 þ ðδxþð1 ΔyÞðΔzÞf 101 ð1 ΔxÞðΔyÞðΔzÞf 011 þ ðδxþðδyþðδzþf 111 ð4:6þ r ¼ p 0 þ n d ð4:5þ where r is the ray location, p 0 is the origin of the ray, n is the direction of the ray, and d is the distance along the ray. Rays are cast from the machining plane by increasing d until the The surface intersection occurs when the interpolated value of the voxel volume is equal to 128. The location where the ray intersects the voxel surface is calculated using a bisection algorithm. Bisection is repeated near the raysurface intersection with smaller and smaller ray segments until the interpolated volume value is within 128+/ tolerance. The tolerance is the acceptable error when identifying the surface location. The steps along the ray and the tolerance of the bisection algorithm are chosen to result in fast traversal of the ray and accurate surface detection. Once the top Fig. 8 Ray casting into part and blank voxel volumes Fig. 10 Output height data from ray casting algorithm

8 1948 Int J Adv Manuf Technol (2013) 69: Fig. 11 Generalized cutter and representative shapes surface of the part or blank is found in this way, then the distance along the ray and knowledge of the plane origin are used to determine the x, y, z location of the part surface. These surfaces intersections are used to determine the cutter contact points and the maximum depth of cut at that location (Fig. 10). 4.2 Generalized cutter representation Tool paths are generated based on the desired cutter to be used to machine the part. In this paper, we utilize a generalized cutter in order to represent arbitrary cutting geometry. The use of a generalized cutter description can accurately capture any cutting tool geometry such as ball end mill, flat end mill, toroidal end mill [41], etc. The generalized cutter is the combination of two cones and a torus. The generalized cutter is shown in Fig. 11, and any point, Ψ, on the cutter can be described by the following equations: algorithm, and an initial path template. The path template is arbitrary, and the framework will accept any template as an input. The path template selected here as an example creates a planar path representative of constant up (conventional) or down (climb) milling based on the generalized cutter radius and desired path overlap. The path interval is the given by Eq. 4.9 where I P is the interval of the path, R C is the cutter radius, and O is the desired overlap (Fig. 12). I P ¼ R C O ð4:9þ The template path is converted by parallel algorithms into a final tool path as shown in Fig. 13. The algorithms update the template path by placing the center of the generalized cutter at each point in the path. Every path point is initially Ψ general ðθ; ϕ; a 1 ; a 2 Þ 0 1 a 1 R 1 þ R 2 sinϕ sinβ 1 þ a 2 Ltanβ 2 cosθ a 1 R 1 þ R 2 sinϕ sinβ 1 þ a 2 Ltanβ 2 sinθ A a 1 R 1 tanβ 1 þ R 2 cosβ 1 cosϕ þ a 2 L ð4:7þ where h a 1 0; 1; a 2 0; 1; ϕ β 1 ; π i 2 β 2 ; θ π; π ð4:8þ The use of a generalized cutter also allows for future optimization of cutting performance based on the ability to change various cutting geometry parameters. 4.3 Generating a gouge-free tool path based on a path template The final tool path is created by using the generalized cutter, the parametric distance umax and vmax from the plane projection algorithm, the surface results from the ray casting Fig. 12 Path interval based on radius and overlap

9 Int J Adv Manuf Technol (2013) 69: Fig. 13 Original part, template path, and updated path based on generalized cutter placed at the desired depth of cut or the top surface of the part, whichever is closest to the blank surface. Then, the area underneath the cutter is checked for gouging. If there is any gouge, the tool center is updated (lifted) to a location above the tool point where there is no gouge. The gouge-removal algorithm is a two-step process. The first step is to get the vertical distance of each point on the part surface to the tool center point. The second step is to add the distance from the intersecting (x, y) point on the cutting plane to the cutter surface to the calculated distance d. These distances used are shown in Fig. 14. The x, y position in the plane is used to get the distance to the center of the cutter as shown in Fig. 15. The height of the cutter at that point is calculated based on this location. The solution is analytical and is based on the fact that employs cutter symmetry. This calculation assumes that the surface swept by the cutter teeth is the intersecting surface. The updated path is shown in Fig. 13. The algorithm to calculate the distance from the cutting plane to the cutter surface is as follows: 1. For each cutter contact point 2. Take each voxel x, y location in the cutting plane beneath the cutter. 3. Calculate the z-clearance with a device function based on the x, y location of the voxel as follows pffiffiffiffiffiffiffiffiffiffiffiffiffiffi if x 2 þ y 2 > a 1 R 1 a 1 p¼ ffiffiffiffiffiffiffiffiffiffiffiffiffiffi 1; if x 2 þ y 2 > R 1 þ R 2 sinϕ sinβ if 1 φ ¼ π 2 β 2 pffiffiffiffiffiffiffiffiffiffiffiffiffiffi h x 2 þ y 2 > R 1 þ R 2 sin π i 2 β 2 sinβ 1 þ Ltanβ 2 then you are clear of thecutter else; solve for a 2 z ¼ R 1 tanβ 1 þ R 2 cosβ 1 cos π 2 β 2 þ a 2 L else; solve for φ; z ¼ R 1 tanβ 1 þ R 2 ðcosβ 1 cosðφþþ else; solvefor a 1 ; z ¼ a 1 R 1 tanβ 1 4. Get the blank and part depth. 5. Add the calculated z-clearance. 6. Calculate the acceptable depth as, depth=blanktop parttop+zclearance 7. Keep the minimum depth for all points under the cutter. 8. Update the tool point with the minimum depth under the cutter. This algorithm is implemented in parallel so that thousands of tool points are updated simultaneously based on the generalized cutting geometry. 5 Hardware and performance The code in this work was developed in C++, Direct X, and nvidia's parallel programming API, CUDA C. The code was compiled on an Intel i7-2600k CPU and an nvidia GeFORCE GTX 580 GPU. The i7-2600k is a quad core processor with a clock speed of 3.4 GHz and is capable of eight simultaneous threads. The GPU executes parallel code by running parallel functions called kernels. Any function that can be run in parallel can therefore by run by thousands of threads processing the same kernel in parallel. Kernels are launched in parallel by using the CUDA C API extensions. Fig. 14 Step one of updating the path get distance to tool center

10 1950 Int J Adv Manuf Technol (2013) 69: Grid Creation and Ray Casting vs Voxel Size 10 Time (s) CPU GPU Fig. 15 Example position under cutter used to solve for the surface point 5.1 Performance of surface detection algorithm For comparison, the grid creation and ray casting algorithm was implemented the same way on both the GPU and the CPU with very small implementation differences. On the CPU, each ray must be cast serially, meaning every ray must be incremented individually with tri-linear interpolation and bisection performed at each step. In the GPU implementation, thousands of kernels are launched to calculate the intersection of each ray simultaneously. This difference is highlighted in Fig. 16. The time to create the grid and cast the rays for both the CPU and GPU vs. voxel size is shown in Fig. 17. The implementation varies only with voxel size because the grid created on the plane only depends on the voxel size only as it is not affected by the size of the path. The GPU outperforms the CPU by nearly 14,000 for a voxel size of 0.2 mm. The GPU timing remains nearly constant because the GPU kernels are all able to launch in parallel for the range of voxel sizes tested. 5.2 Path update based on cutter surfaces The resolution of the template path is selected as a fraction of the voxel size to ensure that every point in Voxel Size (mm) Fig. 17 Time for grid creation and ray casting into voxel models the tool path is updated at a higher resolution than the path grid. This is accomplished by bilinear interpolation of the results from the ray casting approach. For each point in the tool path, the location of the cutter contact point is updated so that it is either at the top of the part surface or at a desired depth of cut without gouging the surface. The path update algorithm utilizes the plane of voxels underneath the cutter and centered at the cutter contact point. For each voxel in the plane beneath the cutter, the distance to the cutter surface and the distance to the part surface are used to update the center tool point. The maximum distance is selected that does not cause gouge or go beyond the desired depth of cut. Therefore, the time taken by the update path function is related to the number of inquiries which is a 1:1 relationship with the number of path points and the number of voxels in the update plane. The number of voxels in the update plane is related to the cutter radius (and ramp) and the voxel size. For example, a cutter diameter of 6.35 mm, a voxel size of 0.5 mm, and a ramp of 3 voxels result in a plane under the cutter that is (6.35/0.5+6)^2=350 voxels. The path update comparison times for the GPU and CPU shown in Fig. 18 indicate that the GPU is nearly 375 faster. Fig. 16 Ray casting from CPU vs. GPU

11 Int J Adv Manuf Technol (2013) 69: Time (s) Number of path points 6 Experimental results Path Update Time vs. Path Size (Voxel Size 0.5mm) Fig. 18 Path update time vs. number of points for 0.5-mm voxels The ability of the parallel framework presented in this paper to generate tool paths from voxel part models was validated by generating G-Code for use in an Okuma MU500VA 5-axis vertical machining center. The framework was used to generate paths for two types of representative parts one part with a compound surface and another part with a freeform surface. Each part was voxelized to get a digital representation of the part, rays were cast from the machining plane to detect the surfaces, the generalized cutting geometry was used to define a roughing cutter and a finishing cutter, and a path template was updated to produce a gouge-free tool path. 7 Compound surface part Compound surfaces, like the one shown in Fig. 19, make tool path generation difficult when using one of the traditional approaches. This is because it is comprised of multiple parametric surfaces that are joined together making it necessary for surface repair when offset surfaces are created. The voxelization of the part eliminates this difficulty by discretizing the part. Fig. 19 Compound surface part with and without gouge CPU GPU Figure 19 shows an earlier version of the part without the gouge correction algorithm on the left and with the algorithm on the right. The ridges in the figure that look like horizontal slices in the part surface indicate that the resolution was too small. However, there is no gouge in the part surface indicating that the path update algorithm correctly avoids gouging the surface with the cutter. 7.1 Freeform surface part A freeform surface part shown in Fig. 20 represents a part that might be used in the die and mold industry. It was created with a voxel size of 0.26 mm. Both roughing and finish passes were generated. After the roughing pass, the blank model was updated and used as the input to the finish pass. A ball end mill of 6.35 mm was used for the roughing pass, and a ball end mill of mm was used for the finish pass. The top view is shown in Fig. 21. The freeform surface part is freeform gouge but has scallop height due to the path interval and steep side slope. Some very small artifacts are shown Fig. 21 that are similar to the planar slices shown in the compound surface part. These artifacts are likely due to the limit of the voxel accuracy. Smaller voxel sizes can be used by extending this work to take advantage of multiple GPUs or utilizing GPUs with larger amounts of RAM. 8 Discussion The current path generation algorithms used by CAM packages based on parametric surfaces are not well suited for automation and require significant user input. In order to optimize a tool path, multiple paths based on various inputs need to be evaluated. However, this type of optimization with current CAM tools is prohibitively time consuming, and a new approach that can rapidly generate tool paths simultaneously is necessary. This paper presented a framework to explore new tool path generation algorithms based on voxel models and demonstrated how a parallel software and hardware approach can be exploited to perform computationally complex algorithms in a fraction of the time compared to traditional methods. This research demonstrates that it is not only possible to automatically generate tool paths using a parallel approach but that this approach is fast enough to consider future algorithms for near real-time tool path optimization. This research is the first step towards a fully automated and optimized parallel path planning approach. However, this framework has several disadvantages that persist as current research issues. The most fundamental

12 1952 Int J Adv Manuf Technol (2013) 69: Fig. 20 Freeform model, roughing pass, and finish is the loss of accuracy by the multiple layers of surface approximation, first by the tessellation of the part surface into an STL file and second by voxelizing the STL file. Current tessellation algorithms allow users to specify the maximum error, but when the part is voxelized, the surface approximation is limited by the voxel size. As such, voxelization requires a significant amount of memory to represent a part. Future research will address this limitation through model compression techniques (such as bricking) and by abstracting the code to utilize multiple GPUs either locally on a cluster or remotely by using GPU servers. In order to fully automate machining, tools and tool paths must be selected to perform operation-specific tasks such as facing, pocketing, tapping, etc. Currently, there is no support for operation-specific tasks. Future research will identify part features either directly from part model information or by feature recognition algorithms that utilize the voxel model of the part. The path template used to generate the tool locations was a simple climb-milling path. In order to maintain uniform scallop height, alternative templates based on the surface gradient need to be explored. In addition, the path template was updated for a single cutter geometry. In order to optimize the tool paths, multiple cutting geometries need to be explored for different regions of the part surface. In addition, this paper addressed only the geometrical aspects of tool path planning, but the path problem is also dynamic, involving tool deflection, wear, and dynamic stability and chatter issues. The framework introduced in this paper serves as a platform that can be extended to address these limitations. 9 Conclusion The current approach to tool path generation found in practice is sub-optimal, time consuming, and inefficient. New methods are necessary to enable a much wider range of the design space to be explored and optimized to support the process engineer. However, this goal is challenging due to the geometrical and computational complexity of generating tool paths for arbitrary part surfaces and arbitrary cutting geometry with various part features and tolerance constraints. As a first step towards meeting these objectives, this paper introduced a new path generation framework based on the use of voxel models and parallel algorithms. The use of the parallel framework allows tool paths, based on generalized cutting geometry, to be generated in near real time. It was demonstrated that digital voxel models can be used to represent a part and blank and that parallel ray casting algorithms can rapidly detect the part surfaces. A generalized cutting geometry was combined with the surface information to update a given path template to generate gouge-free tool paths in a fraction of a second. G-code was produced from this framework for experimental validation of utilizing digital part files for automatic parallel path planning. The results of this work indicate that this new parallel computing framework has significant potential as a tool to generate a variety of tool paths directly from digital modes allowing for new algorithms and optimization strategies for machining. Acknowledgments The authors would like to thank Okuma for supplying the machine tools used in this research as well as in-kind support. This work was partially funded by the National Science Foundation under grant number DMII The government has certain rights in this material. Any opinions, findings, and conclusions or recommendations are those of the authors and do not necessarily reflect the views of the National Science Foundation. References Fig. 21 Freeform surface top view 1. Broomhead P, Edkins M (1986) Generating NC data at the machine tool for the manufacture of free-form surfaces. Int J Prod Res 24(1):1 14

13 Int J Adv Manuf Technol (2013) 69: Elber G, Cohen E (1993) Tool path generation for freeform surface models. Proceedings on the second ACM symposium on solid modeling and applications, pp Loney GC, Ozsoy TM (1987) NC machining of free form surfaces. Comput-Aided Des 19(2): Bobrow JE (1985) NC machine tool path generation from CSG part representations. Comput-Aided Des 17(2): Huang Y, Oliver JH (1994) Non-constant parameter NC tool path generation on sculptured surfaces. Int J Adv Manuf Technol 9(5): Hwang JS (1992) Interference-free tool-path generation in the NC machining of parametric compound surfaces. Comput-Aided Des 24(12): Kim S-J, Yang M-Y (2006) A CL surface deformation approach for constant scallop height tool path generation from triangular mesh. Int J Adv Manuf Technol 28: Suresh K, Yang DCH (1994) Constant scallop-height machining of free-form surfaces. J Eng Ind 116(2): Yuwen S et al (2006) Iso-parametric tool path generation from triangular meshes for free-form surface machining. Int J Adv Manuf Technol 28(7): Yang DCH et al (2003) Boundary-conformed toolpath generation for trimmed free-form surfaces via Coons reparametrization. J Mater Process Tech 138(1 3): Park S, Choi BK (2000) Tool-path planning for directio-parallel area milling. Comput-Aided Des 32(1): Kim BH, Choi BK (2000) Guide surface based tool path generation in 3-axis milling: an extension of the guide plane method. Comput- Aided Des 32(3): Ding S et al (2003) Adaptive iso-planar tool path generation for machining of free-form surfaces. Comput-Aided Des 35(2): Lasemi A, Xue D, Gu P (2010) Recent development in CNC machining of freeform surfaces: a state-of-the-art review. Comput-Aided Des 42(7): Duncan JP, Mair SG (1983) Sculptured surfaces in engineering and medicine. Cambridge University Press, New York 16. Jun CS, Kim DS, Park S (2002) A new curve-based approach to polyhedral machining. Comput-Aided Des 34(5): Choi BK, Jun CS (1989) Ball-end cutter interference avoidance in NC machining of sculptured surfaces. Comput-Aided Des 21(6): Choi BK et al (1988) Compound surface modelling and machining. Comput-Aided Des 20(3): Choi BK, Km DH, Jerad RB (1997) C-space approach to tool-path generation for die and mold machining. Comput-Aided Des 29(9): Takeuchi Y et al (1989) Development of a personal CAD/CAM system for mold manufacture based on solid modeling techniques. Ann CIRP 38(1): Inui M (2003) Fast inverse offset computation using polygon rendering hardware. Computer-Aided Design 35(2): nvidia (2013) GPU accelerated research. object/cuda_home.html. Accessed 25 Sept Hwu WM et al (2009) Compute unified device architecture application suitability. Comput Sci Eng 11: McMains S, Kardekar R, Burton G (2006) Finding feasible mold parting directions using graphics hardware. Comput-Aided Des 38(4): Gray PJ, Ismail F, Bedi S (2004) Graphics-assisted rolling ball method for 5-axis surface machining. Comput-Aided Des 36: Gray P, Ismail F, Bedi S (2004) Arc-intersect method for 5-axis tool positioning. Comput-Aided Des 37: Dokken T, Hagen TR, Hjelmervik JM (2005) The GPU as a high performance computational resource. Proceedings of the 21st spring conference on Computer graphics, p Roth D, Ismail F, Bedi S (2005) Mechanistic modelling of the milling process using complex tool geometry. Int J Adv Manuf Technol 25(1): Roth D, Ismail F, Bedi S (2003) Mechanistic modeling of the milling process using an adaptive depth buffer. Comput-Aided Des 35: Inui M, Ohta A (2007) Using a GPU to accelerate die and mold fabrication. IEEE Comput Graph Appl 27: Carter JA, Tucker TM, Kurfess TR (2008) 3-Axis CNC path planning using depth buffer and fragment shader. Comput-Aided Des Appl 5(5): Stone SS et al (2008) Accelerating advanced MRI reconstructions on GPUs. J Parallel Distr Comp 68(10): Appel A (1968) Some techniques for shading machine renderings of solids. In Proceedings of the AFIPS Joint Computer Conferences Atlantic City, New Jersey 34. Cook RL, Porter T, Carpenter L (1984) Distributed ray tracing. ACM SIGGRAPH Comput Graphics 18(3): Roth SD (1982) Ray casting for modeling solids. Comput Graph Image Process 18: Glassner (1995) Principles of digital image synthesis. Morgan Kaufman, San Francisco 37. Griffiths (1994) Toolpath Hilbert's curve 26(11): D Zhang, Bowyer A (1986) CSG set-theoretic solid modelling and NC machining of blend surfaces. In Proceedings of the second Annual Symposium on Computational Geometry Yorktown Heights, New York 39. Jang D, Kim K, Jung J (2000) Voxel-based virtual multi-axis machining. Int J Adv Manuf Technol 16(10): Engle K et al (2006) Real-time volume graphics. A K Peters, Ltd., Wellesley 41. Chiou CJ, Lee YS (1999) A shape-generating approach for multi-axis machining G-buffer models. Comput-Aided Des 31(12):

Incomplete mesh offset for NC machining

Incomplete mesh offset for NC machining Journal of Materials Processing Technology 194 (2007) 110 120 Incomplete mesh offset for NC machining Su-Jin Kim a,, Min-Yang Yang b,1 a Mechanical and Aerospace Engineering, ERI, Gyeongsang National University,

More information

Incomplete two-manifold mesh-based tool path generation

Incomplete two-manifold mesh-based tool path generation Int J Adv Manuf Technol (2006) 27: 797 803 DOI 10.1007/s00170-004-2239-8 ORIGINAL ARTICLE Dong-Yoon Lee Su-Jin Kim Hyun-Chul Kim Sung-Gun Lee Min-Yang Yang Incomplete two-manifold mesh-based tool path

More information

Offset Triangular Mesh Using the Multiple Normal Vectors of a Vertex

Offset Triangular Mesh Using the Multiple Normal Vectors of a Vertex 285 Offset Triangular Mesh Using the Multiple Normal Vectors of a Vertex Su-Jin Kim 1, Dong-Yoon Lee 2 and Min-Yang Yang 3 1 Korea Advanced Institute of Science and Technology, sujinkim@kaist.ac.kr 2 Korea

More information

Accurate Trajectory Control for Five-Axis Tool-Path Planning

Accurate Trajectory Control for Five-Axis Tool-Path Planning Accurate Trajectory Control for Five-Axis Tool-Path Planning Rong-Shine Lin* and Cheng-Bing Ye Abstract Computer-Aided Manufacturing technology has been widely used for three-axis CNC machining in industry

More information

A new offset algorithm for closed 2D lines with Islands

A new offset algorithm for closed 2D lines with Islands Int J Adv Manuf Technol (2006) 29: 1169 1177 DOI 10.1007/s00170-005-0013-1 ORIGINAL ARTICLE Hyun-Chul Kim. Sung-Gun Lee. Min-Yang Yang A new offset algorithm for closed 2D lines with Islands Received:

More information

Surface roughness parameters determination model in machining with the use of design and visualization technologies

Surface roughness parameters determination model in machining with the use of design and visualization technologies Surface roughness parameters determination model in machining with the use of design and visualization technologies N. Bilalis & M. Petousis Technical University of Crete, Chania, Greece A. Antoniadis

More information

Automated Tool Selection and Tool Path Planning for Free-Form Surfaces in 3-Axis CNC Milling using Highly Parallel Computing Architecture

Automated Tool Selection and Tool Path Planning for Free-Form Surfaces in 3-Axis CNC Milling using Highly Parallel Computing Architecture University of South Carolina Scholar Commons Theses and Dissertations 2016 Automated Tool Selection and Tool Path Planning for Free-Form Surfaces in 3-Axis CNC Milling using Highly Parallel Computing Architecture

More information

L1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming

L1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming L1 - Introduction Contents Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming 1 Definitions Computer-Aided Design (CAD) The technology concerned with the

More information

Generating Tool Paths for Free-Form Pocket Machining Using z-buffer-based Voronoi Diagrams

Generating Tool Paths for Free-Form Pocket Machining Using z-buffer-based Voronoi Diagrams Int J Adv Manuf Technol (1999) 15:182 187 1999 Springer-Verlag London Limited Generating Tool Paths for Free-Form Pocket Machining Using z-buffer-based Voronoi Diagrams Jaehun Jeong and Kwangsoo Kim Department

More information

Pipeline Operations. CS 4620 Lecture 14

Pipeline Operations. CS 4620 Lecture 14 Pipeline Operations CS 4620 Lecture 14 2014 Steve Marschner 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives

More information

Surface Roughness Control Based on Digital Copy Milling Concept to Achieve Autonomous Milling Operation

Surface Roughness Control Based on Digital Copy Milling Concept to Achieve Autonomous Milling Operation Available online at www.sciencedirect.com Procedia CIRP 4 (2012 ) 35 40 3rd CIRP Conference on Process Machine Interactions (3rd PMI) Surface Roughness Control Based on Digital Copy Milling Concept to

More information

Pipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11

Pipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11 Pipeline Operations CS 4620 Lecture 11 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives to pixels RASTERIZATION

More information

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline sequence of operations to generate an image using object-order processing primitives processed one-at-a-time

More information

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline sequence of operations to generate an image using object-order processing primitives processed one-at-a-time

More information

Multipatched B-Spline Surfaces and Automatic Rough Cut Path Generation

Multipatched B-Spline Surfaces and Automatic Rough Cut Path Generation Int J Adv Manuf Technol (2000) 16:100 106 2000 Springer-Verlag London Limited Multipatched B-Spline Surfaces and Automatic Rough Cut Path Generation S. H. F. Chuang and I. Z. Wang Department of Mechanical

More information

Mechanistic Modelling of the Milling Process using Complex Tool Geometry

Mechanistic Modelling of the Milling Process using Complex Tool Geometry Mechanistic Modelling of the Milling Process using Complex Tool Geometry D. ROTH( ) 1, F. ISMAIL 1, S. BEDI 1 1 Department of Mechanical Engineering, University of Waterloo, CAD CAM Research Group, Waterloo,

More information

Material left cleaning operation. In TOPSOLID CAM for 3D Machining

Material left cleaning operation. In TOPSOLID CAM for 3D Machining Material left cleaning operation In TOPSOLID CAM for 3D Machining SAGA Initial Training Network. Winter school - Auron, France.15-19 March. MISSLER SOFTWARE 15 March, 2010 Jayasimha Bagalkote Outline Introduction

More information

Technological requirements of profile machining

Technological requirements of profile machining Park et al. / J Zhejiang Univ SCIENCE A 2006 7(9):1461-1466 1461 Journal of Zhejiang University SCIENCE A ISSN 1009-3095 (Print); ISSN 1862-1775 (Online) www.zju.edu.cn/jzus; www.springerlink.com E-mail:

More information

Adaptive Point Cloud Rendering

Adaptive Point Cloud Rendering 1 Adaptive Point Cloud Rendering Project Plan Final Group: May13-11 Christopher Jeffers Eric Jensen Joel Rausch Client: Siemens PLM Software Client Contact: Michael Carter Adviser: Simanta Mitra 4/29/13

More information

Automated CNC Tool Path Planning and Machining Simulation on Highly Parallel Computing Architectures

Automated CNC Tool Path Planning and Machining Simulation on Highly Parallel Computing Architectures Clemson University TigerPrints All Dissertations Dissertations 5-2013 Automated CNC Tool Path Planning and Machining Simulation on Highly Parallel Computing Architectures Dmytro Konobrytskyi Clemson University

More information

Pipeline Operations. CS 4620 Lecture 10

Pipeline Operations. CS 4620 Lecture 10 Pipeline Operations CS 4620 Lecture 10 2008 Steve Marschner 1 Hidden surface elimination Goal is to figure out which color to make the pixels based on what s in front of what. Hidden surface elimination

More information

Smart Strategies for Steep/Shallow Milling

Smart Strategies for Steep/Shallow Milling Smart Strategies for Steep/Shallow Milling A Technical Overview contents Smoothing the Ups and Downs of Surface Machining..... 2 Traditional Finishing Strategies....... 2 Planar Toolpath.... 2 Z-Level

More information

Clipping. CSC 7443: Scientific Information Visualization

Clipping. CSC 7443: Scientific Information Visualization Clipping Clipping to See Inside Obscuring critical information contained in a volume data Contour displays show only exterior visible surfaces Isosurfaces can hide other isosurfaces Other displays can

More information

Spring 2009 Prof. Hyesoon Kim

Spring 2009 Prof. Hyesoon Kim Spring 2009 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on

More information

Cutter Workpiece Engagement Calculations for Five-axis Milling using Composite Adaptively Sampled Distance Fields

Cutter Workpiece Engagement Calculations for Five-axis Milling using Composite Adaptively Sampled Distance Fields MITSUBISHI ELECTRIC RESEARCH LABORATORIES http://www.merl.com Cutter Workpiece Engagement Calculations for Five-axis Milling using Composite Adaptively Sampled Distance Fields Erdim, H.; Sullivan, A. TR2013-049

More information

Geometric Modeling. Introduction

Geometric Modeling. Introduction Geometric Modeling Introduction Geometric modeling is as important to CAD as governing equilibrium equations to classical engineering fields as mechanics and thermal fluids. intelligent decision on the

More information

Convergent Modeling and Reverse Engineering

Convergent Modeling and Reverse Engineering Convergent Modeling and Reverse Engineering 25 October 2017 Realize innovation. Tod Parrella NX Design Product Management Product Engineering Solutions tod.parrella@siemens.com Realize innovation. Siemens

More information

Real Time Rendering of Complex Height Maps Walking an infinite realistic landscape By: Jeffrey Riaboy Written 9/7/03

Real Time Rendering of Complex Height Maps Walking an infinite realistic landscape By: Jeffrey Riaboy Written 9/7/03 1 Real Time Rendering of Complex Height Maps Walking an infinite realistic landscape By: Jeffrey Riaboy Written 9/7/03 Table of Contents 1 I. Overview 2 II. Creation of the landscape using fractals 3 A.

More information

Introduction to Solid Modeling Parametric Modeling. Mechanical Engineering Dept.

Introduction to Solid Modeling Parametric Modeling. Mechanical Engineering Dept. Introduction to Solid Modeling Parametric Modeling 1 Why draw 3D Models? 3D models are easier to interpret. Simulation under real-life conditions. Less expensive than building a physical model. 3D models

More information

Abstract. Introduction. Kevin Todisco

Abstract. Introduction. Kevin Todisco - Kevin Todisco Figure 1: A large scale example of the simulation. The leftmost image shows the beginning of the test case, and shows how the fluid refracts the environment around it. The middle image

More information

Direct Rendering of Trimmed NURBS Surfaces

Direct Rendering of Trimmed NURBS Surfaces Direct Rendering of Trimmed NURBS Surfaces Hardware Graphics Pipeline 2/ 81 Hardware Graphics Pipeline GPU Video Memory CPU Vertex Processor Raster Unit Fragment Processor Render Target Screen Extended

More information

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into 2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into the viewport of the current application window. A pixel

More information

An Integrated Manufacturing System for the Design, Fabrication, and Measurement of Ultra-Precision Freeform Optics

An Integrated Manufacturing System for the Design, Fabrication, and Measurement of Ultra-Precision Freeform Optics Zhihan Hong Paper title: An Integrated Manufacturing System for the Design, Fabrication, and Measurement of Ultra-Precision Freeform Optics 1. Introduction L. B. Kong, C. F. Cheung, W. B. Lee, and S. To

More information

satisfies the specified tolerance. The whole procedures of digitization is summarized in Fig PROBE RADIUS COMPENSATION

satisfies the specified tolerance. The whole procedures of digitization is summarized in Fig PROBE RADIUS COMPENSATION REVERSE ENGINEERING: AUTONOMOUS DIGITIZATION OF FREE-FORMED SURFACES ON A CNC COORDINATE MEASURING MACHINE C.-K. SONG# and S.-W. KIMt* (Received 15 December 1995) Abstract--We present an automatic algorithm

More information

Efficient Rendering of Glossy Reflection Using Graphics Hardware

Efficient Rendering of Glossy Reflection Using Graphics Hardware Efficient Rendering of Glossy Reflection Using Graphics Hardware Yoshinori Dobashi Yuki Yamada Tsuyoshi Yamamoto Hokkaido University Kita-ku Kita 14, Nishi 9, Sapporo 060-0814, Japan Phone: +81.11.706.6530,

More information

L10 Layered Depth Normal Images. Introduction Related Work Structured Point Representation Boolean Operations Conclusion

L10 Layered Depth Normal Images. Introduction Related Work Structured Point Representation Boolean Operations Conclusion L10 Layered Depth Normal Images Introduction Related Work Structured Point Representation Boolean Operations Conclusion 1 Introduction Purpose: using the computational power on GPU to speed up solid modeling

More information

CS451Real-time Rendering Pipeline

CS451Real-time Rendering Pipeline 1 CS451Real-time Rendering Pipeline JYH-MING LIEN DEPARTMENT OF COMPUTER SCIENCE GEORGE MASON UNIVERSITY Based on Tomas Akenine-Möller s lecture note You say that you render a 3D 2 scene, but what does

More information

DiFi: Distance Fields - Fast Computation Using Graphics Hardware

DiFi: Distance Fields - Fast Computation Using Graphics Hardware DiFi: Distance Fields - Fast Computation Using Graphics Hardware Avneesh Sud Dinesh Manocha UNC-Chapel Hill http://gamma.cs.unc.edu/difi Distance Fields Distance Function For a site a scalar function f:r

More information

Rendering Subdivision Surfaces Efficiently on the GPU

Rendering Subdivision Surfaces Efficiently on the GPU Rendering Subdivision Surfaces Efficiently on the GPU Gy. Antal, L. Szirmay-Kalos and L. A. Jeni Department of Algorithms and their Applications, Faculty of Informatics, Eötvös Loránd Science University,

More information

Finding Mold-Piece Regions Using Computer Graphics Hardware

Finding Mold-Piece Regions Using Computer Graphics Hardware Finding Mold-Piece Regions Using Computer Graphics Hardware Alok K. Priyadarshi 1 and Satyandra K. Gupta 2 1 Solidworks Corporation, Concord, MA 01742, USA apriyadarshi@solidworks.com 2 University of Maryland,

More information

CNC part program simulation using solid modelling techniques

CNC part program simulation using solid modelling techniques CNC part program simulation using solid modelling techniques G.C. Vosniakos and D. Kollios National Technical University of Athens, School of Mechanical Engineering, Department of Manufacturing Technology,

More information

First Steps in Hardware Two-Level Volume Rendering

First Steps in Hardware Two-Level Volume Rendering First Steps in Hardware Two-Level Volume Rendering Markus Hadwiger, Helwig Hauser Abstract We describe first steps toward implementing two-level volume rendering (abbreviated as 2lVR) on consumer PC graphics

More information

Spring 2011 Prof. Hyesoon Kim

Spring 2011 Prof. Hyesoon Kim Spring 2011 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on

More information

high performance medical reconstruction using stream programming paradigms

high performance medical reconstruction using stream programming paradigms high performance medical reconstruction using stream programming paradigms This Paper describes the implementation and results of CT reconstruction using Filtered Back Projection on various stream programming

More information

CS452/552; EE465/505. Clipping & Scan Conversion

CS452/552; EE465/505. Clipping & Scan Conversion CS452/552; EE465/505 Clipping & Scan Conversion 3-31 15 Outline! From Geometry to Pixels: Overview Clipping (continued) Scan conversion Read: Angel, Chapter 8, 8.1-8.9 Project#1 due: this week Lab4 due:

More information

Computer Graphics I Lecture 11

Computer Graphics I Lecture 11 15-462 Computer Graphics I Lecture 11 Midterm Review Assignment 3 Movie Midterm Review Midterm Preview February 26, 2002 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/

More information

Complex Features on a Surface. CITS4241 Visualisation Lectures 22 & 23. Texture mapping techniques. Texture mapping techniques

Complex Features on a Surface. CITS4241 Visualisation Lectures 22 & 23. Texture mapping techniques. Texture mapping techniques Complex Features on a Surface CITS4241 Visualisation Lectures 22 & 23 Texture Mapping Rendering all surfaces as blocks of colour Not very realistic result! Even with shading Many objects have detailed

More information

Computer Science 426 Midterm 3/11/04, 1:30PM-2:50PM

Computer Science 426 Midterm 3/11/04, 1:30PM-2:50PM NAME: Login name: Computer Science 46 Midterm 3//4, :3PM-:5PM This test is 5 questions, of equal weight. Do all of your work on these pages (use the back for scratch space), giving the answer in the space

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

Practical Shadow Mapping

Practical Shadow Mapping Practical Shadow Mapping Stefan Brabec Thomas Annen Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken, Germany Abstract In this paper we propose several methods that can greatly improve

More information

Efficient View-Dependent Sampling of Visual Hulls

Efficient View-Dependent Sampling of Visual Hulls Efficient View-Dependent Sampling of Visual Hulls Wojciech Matusik Chris Buehler Leonard McMillan Computer Graphics Group MIT Laboratory for Computer Science Cambridge, MA 02141 Abstract In this paper

More information

Multi-View Soft Shadows. Louis Bavoil

Multi-View Soft Shadows. Louis Bavoil Multi-View Soft Shadows Louis Bavoil lbavoil@nvidia.com Document Change History Version Date Responsible Reason for Change 1.0 March 16, 2011 Louis Bavoil Initial release Overview The Multi-View Soft Shadows

More information

Polar coordinate interpolation function G12.1

Polar coordinate interpolation function G12.1 Polar coordinate interpolation function G12.1 On a Turning Center that is equipped with a rotary axis (C-axis), interpolation between the linear axis X and the rotary axis C is possible by use of the G12.1-function.

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

CS427 Multicore Architecture and Parallel Computing

CS427 Multicore Architecture and Parallel Computing CS427 Multicore Architecture and Parallel Computing Lecture 6 GPU Architecture Li Jiang 2014/10/9 1 GPU Scaling A quiet revolution and potential build-up Calculation: 936 GFLOPS vs. 102 GFLOPS Memory Bandwidth:

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

Physically-Based Laser Simulation

Physically-Based Laser Simulation Physically-Based Laser Simulation Greg Reshko Carnegie Mellon University reshko@cs.cmu.edu Dave Mowatt Carnegie Mellon University dmowatt@andrew.cmu.edu Abstract In this paper, we describe our work on

More information

Scanline Rendering 2 1/42

Scanline Rendering 2 1/42 Scanline Rendering 2 1/42 Review 1. Set up a Camera the viewing frustum has near and far clipping planes 2. Create some Geometry made out of triangles 3. Place the geometry in the scene using Transforms

More information

SEOUL NATIONAL UNIVERSITY

SEOUL NATIONAL UNIVERSITY Fashion Technology 5. 3D Garment CAD-1 Sungmin Kim SEOUL NATIONAL UNIVERSITY Overview Design Process Concept Design Scalable vector graphics Feature-based design Pattern Design 2D Parametric design 3D

More information

MATHEMATICAL MODEL FOR CALCULATING SCALLOP HEIGHT OF TOROIDAL CUTTER IN FIVE-AXIS MILLING

MATHEMATICAL MODEL FOR CALCULATING SCALLOP HEIGHT OF TOROIDAL CUTTER IN FIVE-AXIS MILLING MATHEMATICAL MODEL FOR CALCULATING SCALLOP HEIGHT OF TOROIDAL CUTTER IN FIVE-AXIS MILLING Hendriko Hendriko Politeknik Caltex Riau, Pekanbaru, Riau Indonesia E-Mail: hendriko@pcr.ac.id ABSTRACT The scallop

More information

Hardware Accelerated Volume Visualization. Leonid I. Dimitrov & Milos Sramek GMI Austrian Academy of Sciences

Hardware Accelerated Volume Visualization. Leonid I. Dimitrov & Milos Sramek GMI Austrian Academy of Sciences Hardware Accelerated Volume Visualization Leonid I. Dimitrov & Milos Sramek GMI Austrian Academy of Sciences A Real-Time VR System Real-Time: 25-30 frames per second 4D visualization: real time input of

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

Journal of Materials Processing Technology 6333 (2002) 1 10

Journal of Materials Processing Technology 6333 (2002) 1 10 3 Development of simulation system for machining process 4 using enhanced Z map model 5 Sang-Kyu Lee, Sung-Lim Ko * 6 Department of Mechanical Design and Production Engineering, Konkuk University, 7 1

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

software isy-cam 2.8 and 3.6 CAD/CAM software Features isy-cam 2.8 Features isy-cam 3.6 D-4 CAD functionality (without volume modeller)

software isy-cam 2.8 and 3.6 CAD/CAM software Features isy-cam 2.8 Features isy-cam 3.6 D-4 CAD functionality (without volume modeller) CAD/CAM isy-cam 2.8 and 3.6 isy-cam 2.8 CAD functionality (without volume modeller) works with Win XP, Windows 7 and 8, 32-/64-bit version Import: DXF / EPS / AI / 3D STL data Export: NCP format proven

More information

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker CMSC427 Advanced shading getting global illumination by local methods Credit: slides Prof. Zwicker Topics Shadows Environment maps Reflection mapping Irradiance environment maps Ambient occlusion Reflection

More information

Flank Millable Surface Design with Conical and Barrel Tools

Flank Millable Surface Design with Conical and Barrel Tools 461 Computer-Aided Design and Applications 2008 CAD Solutions, LLC http://www.cadanda.com Flank Millable Surface Design with Conical and Barrel Tools Chenggang Li 1, Sanjeev Bedi 2 and Stephen Mann 3 1

More information

A New Slicing Procedure for Rapid Prototyping Systems

A New Slicing Procedure for Rapid Prototyping Systems Int J Adv Manuf Technol (2001) 18:579 585 2001 Springer-Verlag London Limited A New Slicing Procedure for Rapid Prototyping Systems Y.-S. Liao 1 and Y.-Y. Chiu 2 1 Department of Mechanical Engineering,

More information

SUMMARY. CS380: Introduction to Computer Graphics Ray tracing Chapter 20. Min H. Kim KAIST School of Computing 18/05/29. Modeling

SUMMARY. CS380: Introduction to Computer Graphics Ray tracing Chapter 20. Min H. Kim KAIST School of Computing 18/05/29. Modeling CS380: Introduction to Computer Graphics Ray tracing Chapter 20 Min H. Kim KAIST School of Computing Modeling SUMMARY 2 1 Types of coordinate function Explicit function: Line example: Implicit function:

More information

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

TOOL PATH PLANNING FOR 3-AXIS NC-MILLING LATHE AND 3-AXIS NC-VERTICAL MILLING FOR SCULPTURED SURFACES MACHINING USING TRIANGULAR MESH OFFSET

TOOL PATH PLANNING FOR 3-AXIS NC-MILLING LATHE AND 3-AXIS NC-VERTICAL MILLING FOR SCULPTURED SURFACES MACHINING USING TRIANGULAR MESH OFFSET TOOL PATH PLANNING FOR 3-AXIS NC-MILLING LATHE AND 3-AXIS NC-VERTICAL MILLING FOR SCULPTURED SURFACES MACHINING USING TRIANGULAR MESH OFFSET A Thesis submitted in partial fulfillment of the requirements

More information

Visualization Computer Graphics I Lecture 20

Visualization Computer Graphics I Lecture 20 15-462 Computer Graphics I Lecture 20 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 15, 2003 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/

More information

Mattan Erez. The University of Texas at Austin

Mattan Erez. The University of Texas at Austin EE382V: Principles in Computer Architecture Parallelism and Locality Fall 2008 Lecture 10 The Graphics Processing Unit Mattan Erez The University of Texas at Austin Outline What is a GPU? Why should we

More information

Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 23, 2002 Frank Pfenning Carnegie Mellon University

Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 23, 2002 Frank Pfenning Carnegie Mellon University 15-462 Computer Graphics I Lecture 21 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 23, 2002 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/

More information

An Efficient Approach for Emphasizing Regions of Interest in Ray-Casting based Volume Rendering

An Efficient Approach for Emphasizing Regions of Interest in Ray-Casting based Volume Rendering An Efficient Approach for Emphasizing Regions of Interest in Ray-Casting based Volume Rendering T. Ropinski, F. Steinicke, K. Hinrichs Institut für Informatik, Westfälische Wilhelms-Universität Münster

More information

CS 285 Final Project - Design, Modeling and Fabrication of the Möbius Gear

CS 285 Final Project - Design, Modeling and Fabrication of the Möbius Gear CS 85 Final Project - Design, Modeling and Fabrication of the Möbius Gear Aaron M. Hoover May 14, 006 1 Introduction The purpose of this final project, undertaken for CS95 - Procedural Solid Modeling,

More information

CS8803SC Software and Hardware Cooperative Computing GPGPU. Prof. Hyesoon Kim School of Computer Science Georgia Institute of Technology

CS8803SC Software and Hardware Cooperative Computing GPGPU. Prof. Hyesoon Kim School of Computer Science Georgia Institute of Technology CS8803SC Software and Hardware Cooperative Computing GPGPU Prof. Hyesoon Kim School of Computer Science Georgia Institute of Technology Why GPU? A quiet revolution and potential build-up Calculation: 367

More information

The Traditional Graphics Pipeline

The Traditional Graphics Pipeline Last Time? The Traditional Graphics Pipeline Participating Media Measuring BRDFs 3D Digitizing & Scattering BSSRDFs Monte Carlo Simulation Dipole Approximation Today Ray Casting / Tracing Advantages? Ray

More information

11/1/13. Visualization. Scientific Visualization. Types of Data. Height Field. Contour Curves. Meshes

11/1/13. Visualization. Scientific Visualization. Types of Data. Height Field. Contour Curves. Meshes CSCI 420 Computer Graphics Lecture 26 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 2.11] Jernej Barbic University of Southern California Scientific Visualization

More information

Visualization. CSCI 420 Computer Graphics Lecture 26

Visualization. CSCI 420 Computer Graphics Lecture 26 CSCI 420 Computer Graphics Lecture 26 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 11] Jernej Barbic University of Southern California 1 Scientific Visualization

More information

Hardware-Assisted Relief Texture Mapping

Hardware-Assisted Relief Texture Mapping EUROGRAPHICS 0x / N.N. and N.N. Short Presentations Hardware-Assisted Relief Texture Mapping Masahiro Fujita and Takashi Kanai Keio University Shonan-Fujisawa Campus, Fujisawa, Kanagawa, Japan Abstract

More information

Texture. Texture Mapping. Texture Mapping. CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture

Texture. Texture Mapping. Texture Mapping. CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture Texture CS 475 / CS 675 Computer Graphics Add surface detail Paste a photograph over a surface to provide detail. Texture can change surface colour or modulate surface colour. Lecture 11 : Texture http://en.wikipedia.org/wiki/uv_mapping

More information

Rendering Grass with Instancing in DirectX* 10

Rendering Grass with Instancing in DirectX* 10 Rendering Grass with Instancing in DirectX* 10 By Anu Kalra Because of the geometric complexity, rendering realistic grass in real-time is difficult, especially on consumer graphics hardware. This article

More information

CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture

CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture CS 475 / CS 675 Computer Graphics Lecture 11 : Texture Texture Add surface detail Paste a photograph over a surface to provide detail. Texture can change surface colour or modulate surface colour. http://en.wikipedia.org/wiki/uv_mapping

More information

Computer Graphics Ray Casting. Matthias Teschner

Computer Graphics Ray Casting. Matthias Teschner Computer Graphics Ray Casting Matthias Teschner Outline Context Implicit surfaces Parametric surfaces Combined objects Triangles Axis-aligned boxes Iso-surfaces in grids Summary University of Freiburg

More information

Enhancing Traditional Rasterization Graphics with Ray Tracing. October 2015

Enhancing Traditional Rasterization Graphics with Ray Tracing. October 2015 Enhancing Traditional Rasterization Graphics with Ray Tracing October 2015 James Rumble Developer Technology Engineer, PowerVR Graphics Overview Ray Tracing Fundamentals PowerVR Ray Tracing Pipeline Using

More information

2.11 Particle Systems

2.11 Particle Systems 2.11 Particle Systems 320491: Advanced Graphics - Chapter 2 152 Particle Systems Lagrangian method not mesh-based set of particles to model time-dependent phenomena such as snow fire smoke 320491: Advanced

More information

The Traditional Graphics Pipeline

The Traditional Graphics Pipeline Last Time? The Traditional Graphics Pipeline Reading for Today A Practical Model for Subsurface Light Transport, Jensen, Marschner, Levoy, & Hanrahan, SIGGRAPH 2001 Participating Media Measuring BRDFs

More information

Supplementary Information. Design of Hierarchical Structures for Synchronized Deformations

Supplementary Information. Design of Hierarchical Structures for Synchronized Deformations Supplementary Information Design of Hierarchical Structures for Synchronized Deformations Hamed Seifi 1, Anooshe Rezaee Javan 1, Arash Ghaedizadeh 1, Jianhu Shen 1, Shanqing Xu 1, and Yi Min Xie 1,2,*

More information

Volume Rendering. Computer Animation and Visualisation Lecture 9. Taku Komura. Institute for Perception, Action & Behaviour School of Informatics

Volume Rendering. Computer Animation and Visualisation Lecture 9. Taku Komura. Institute for Perception, Action & Behaviour School of Informatics Volume Rendering Computer Animation and Visualisation Lecture 9 Taku Komura Institute for Perception, Action & Behaviour School of Informatics Volume Rendering 1 Volume Data Usually, a data uniformly distributed

More information

Effects needed for Realism. Ray Tracing. Ray Tracing: History. Outline. Foundations of Computer Graphics (Spring 2012)

Effects needed for Realism. Ray Tracing. Ray Tracing: History. Outline. Foundations of Computer Graphics (Spring 2012) Foundations of omputer Graphics (Spring 202) S 84, Lecture 5: Ray Tracing http://inst.eecs.berkeley.edu/~cs84 Effects needed for Realism (Soft) Shadows Reflections (Mirrors and Glossy) Transparency (Water,

More information

Design Workflow for AM: From CAD to Part

Design Workflow for AM: From CAD to Part Design Workflow for AM: From CAD to Part Sanjay Joshi Professor of Industrial and Manufacturing Engineering Penn State University Offered by: Center for Innovative Materials Processing through Direct Digital

More information

Point based Rendering

Point based Rendering Point based Rendering CS535 Daniel Aliaga Current Standards Traditionally, graphics has worked with triangles as the rendering primitive Triangles are really just the lowest common denominator for surfaces

More information

Point Cloud Filtering using Ray Casting by Eric Jensen 2012 The Basic Methodology

Point Cloud Filtering using Ray Casting by Eric Jensen 2012 The Basic Methodology Point Cloud Filtering using Ray Casting by Eric Jensen 01 The Basic Methodology Ray tracing in standard graphics study is a method of following the path of a photon from the light source to the camera,

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

Real-Time 3D Tool Path Generation for Numerical Control

Real-Time 3D Tool Path Generation for Numerical Control Real-Time 3D Tool Path Generation for Numerical Control Gyula Hermann John von Neumann Faculty of Information Technology, Budapest Polytechnic H-1034 Nagyszombat utca 19 Budapest Hungary, hermgy@iif.hu

More information

Ray Casting of Trimmed NURBS Surfaces on the GPU

Ray Casting of Trimmed NURBS Surfaces on the GPU Ray Casting of Trimmed NURBS Surfaces on the GPU Hans-Friedrich Pabst Jan P. Springer André Schollmeyer Robert Lenhardt Christian Lessig Bernd Fröhlich Bauhaus University Weimar Faculty of Media Virtual

More information

Blending Operations Using Rolling-Ball Filleting

Blending Operations Using Rolling-Ball Filleting Blending Operations Using Rolling-Ball Filleting Ibraheem Alhashim School of Computing Science Simon Fraser University April 14, 2009 Abstract Blending sharp edges in solid models is an important task

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

CSC418 / CSCD18 / CSC2504

CSC418 / CSCD18 / CSC2504 5 5.1 Surface Representations As with 2D objects, we can represent 3D objects in parametric and implicit forms. (There are also explicit forms for 3D surfaces sometimes called height fields but we will

More information