Intelligent agents (TME285) Lecture 6,
|
|
- Arnold Booth
- 5 years ago
- Views:
Transcription
1 Intelligent agents (TME285) Lecture 6, D visualization and animation
2 Information Again, check the FAQ frequently! New items are tagged with the date at which they were added. For example, check carefully the items added (or modified) and In particular, see the item added yesterday (and also mentioned in yesterday s lecture), marked [ ].
3 Dialogues and dialogue items Just a note on nomenclature: Each agent contains a list of dialogues, i.e. instances of the Dialogue class, and each dialogue contains a list of dialogue items, i.e. instances of classes inherited from DialogueItem (e.g. InputItem, OutputItem etc.) Read carefully Chapter 3 in the compendium, and also go through the code (for the Hazel agent) in the agentmainform.
4 Dialogues and dialogue items In the case of Hazel seven different dialogues are defined. Examples: WakeUpDialogue: Contains a single dialogue item (an OutputItem) TimeDialogue: Contains two dialogue items (an InputItem and a TimeItem) WhoIsDialogue: Contains six different dialogue items (InputItem, MemorySearchItem, OutputItem, OutputItem, WaitItem, and OutputItem) etc. etc.
5 Checking how dialogues work.. Looking at the specification of the dialogues can help to understand a dialogue: The first dialogue item is added to this dialogue. InputItem (AD1): The user says the agent s name The second dialogue item is added to this dialogue. OutputItem (AD2): The agent responds. The dialogue is added to the agent s list of dialogues
6 Checking how dialogue items work.. However, in order to fully understand how individual dialogue items work, it is better to set a breakpoint at the respective Run() method, and then step through the code: After this point, step through (with F10), check variable values (e.g. targetid) etc.
7 Dialogues and dialogue items In some cases, I have received documents (for planning stage 2) in which the entire agent is generated as one very complex dialogue. It is much better (and also required) to implement a set of dialogues, one for each task, which can then be debugged and tested separately. When the agent has completed a given task, set both the context and ID to (the empty string). In that way, the agent will be ready to start any dialogue, depending on the input it receives.
8 Dialogues and dialogue items Example (Hazel s TimeDialogue): End of this dialogue set context and ID as => the agent is prepared to start any dialogue, depending on the input it receives.
9 Dialogues and dialogue items Again, do check carefully (and run through with breakpoints) the Hazel agent. It is a simple example, but it does illustrate the division of the agent s competences into separate dialogues. The 7 dialogues defined for the Hazel agent.
10 Today s learning goals After this lecture you should be able to Describe 3D rendering using OpenTK Define and compute the normal vector of a triangle Describe the concepts of lighting and shading Implement a 3D object derived from Object3D Describe and use the concept of nested 3D objects Set up and animate a simple 3D face Describe and use the FaceEditor user control
11 OpenGL and OpenTK 3D visualization requires a large number of matrix operations. There are software libraries specifically designed for this purpose, e.g. OpenGL and Direct3D. OpenTK is a C# wrapper for OpenGL (i.e. a class library that allows access to the more OpenGL).
12 3D rendering In 3D rendering one uses a sequence of matrix operations to generate a 3D view Model matrix: Deals with the transformations necessary to place an object at a given pose in the modeled world. View matrix: Deals with the transformations required to account for the camera position. (Often combined to one ModelView matrix) Projection matrix: Handles the perspective projection on the (2D) screen of the computer.
13 Orientation of axes In OpenGL, the x- and y-axes are in the plane of the screen, with the z-axis pointing towards the user. I have used a coordinate system (in the ThreeDimensionalVisualization library) where the x- and z-axis are in the plane of the screen, with the y-axis pointing into the screen, away from the viewer. y z y z OpenGL x ThreeDimensionalVisualization library x
14 Today s learning goals After this lecture you should be able to Describe 3D rendering using OpenTK Define and compute the normal vector of a triangle Describe the concepts of lighting and shading Implement a 3D object derived from Object3D Describe and use the concept of nested 3D objects Set up and animate a simple 3D face Describe and use the FaceEditor user control
15 Triangles and normal vectors In 3D rendering one normally builds objects from sets of triangles since triangles are always planar (=> simple!) so that their normal vector can easily be computed. The normal vector is important for lighting and shading, as will be shown below.
16 Triangles and normal vectors
17 Today s learning goals After this lecture you should be able to Describe 3D rendering using OpenTK Define and compute the normal vector of a triangle Describe the concepts of lighting and shading Implement a 3D object derived from Object3D Describe and use the concept of nested 3D objects Set up and animate a simple 3D face Describe and use the FaceEditor user control
18 Rendering objects Many aspects can be varied when rendering a 3D object: Position Orientation Color Lighting Shading Translucence Textures etc. etc.
19 Lighting If no light is present, an object will be rendered based on the Color property of the vertices. Interpolaton used if different vertices have different color.
20 Lighting Without light, however, 3D objects (with uniform color) appear flat. Consider, for example, a sphere:
21 Lighting If light is added, the 3D nature of the sphere becomes apparent:
22 Lighting Lighting requires: Three colors: Ambient, diffuse, and specular Normal vectors to trace the reflected light. Ambient color: background light Diffuse color: isotropic reflection of light Specular color: mirror-reflection of light (requires also a Shininess parameter). NOTE: See the Sphere3DApplication in the FaceVisualizationSolution!
23 Lighting Note: Whenever lighting is used, the vertex color is replaced by the ambient, diffuse, and specular colors: No light: use the vertex colors (here set uniformly to green). With light: Use the ambient, diffuse, and specular color
24 Shading The triangle normal determines the light reflection (and, therefore, the color). However, to get a more smooth variation of light over an object, one can interpolate the normal vectors. In that case, one uses the vertex normals instead of the triangle normals. The vertex normal is defined as the average triangle normal (vector) of all the triangles connected to a given vertex.
25 Shading
26 Shading Flat shading Smooth shading
27 More rendering options One can also choose not to show the surfaces of the triangles, but instead Vertices (i.e. the corners of the triangles) Wireframe (i.e. the sides of the triangles). See also the next slide and the Sphere3DApplication!
28 The Sphere3D application Shows how to render a sphere in various ways.
29 Today s learning goals After this lecture you should be able to Describe 3D rendering using OpenTK Define and compute the normal vector of a triangle Describe the concepts of lighting and shading Implement a 3D object derived from Object3D Describe and use the concept of nested 3D objects Set up and animate a simple 3D face Describe and use the FaceEditor user control
30 The ThreeDimensionalVisualization library This library contains code for generating and visualizing 3D objects, especially faces (needed for IPAs). It also contains a complex user control for generating a face. Important classes: Object3D Viewer3D Face FaceEditor
31 The Object3D class This is the base class, from which all other 3D objects are derived. Each Object3D instance contains A list of the object s vertices (where each vertex also contains its normal vector, used in smooth shading), A list of the vertex indices for each triangle, A list of normal vectors for each triangle, An optional list (object3dlist) of Object3D instances, thus allowing nested objects. For example, in face visualization, the eyes can be placed in the object3dlist of the face.
32 The Object3D class Moreover, each class derived from Object3D must have a Generate() method, which generates the specific shape for the object in question. An example will be given below.
33 The Object3D class Add to the stack of transformation matrices Set the object s position and orientation. Render as required. Calling this method again! Use the relative position and orientation! Remove from the stack of transformation matrices
34 The Object3D class The RenderSurfaces() method in turn calls the RenderTriangles() method, rendering the triangle surfaces: To do: Run the Sphere3D application, set a breakpoint in the RenderTriangles() method, and step through the code. Similar methods render the wireframe and the vertices, if requested.
35 Example: The Rectangle3D class Derived from Object3D
36 Example: Rectangle3D class Contains the necessary parameters for the 3D shape in question Indices of the first triangle Indices of the second triangle These three methods must be called at the end of the Generate() method for any class derived from Object3D.
37 Example: Rectangle3D class GenerateTriangleConnectionLists() Generates a list of all the triangles to which a given vertex is connected. Needed for computing vertex normals (see above). GenerateTriangleNormalVectors() Generates the triangle normals needed in flat shading. ComputeVertexNormalVectors() Uses the list obtained in the first method above to compute the vertex normal (= the average of the normal vectors of the triangles to which the vertex is connected).
38 Additional 3D objects In addition to the Rectangle3D, the library also contains classes for generating a sphere, a torus (or a sector thereof) etc. You may need to implement additional 3D object classes (in particular their Generate() method), depending on the level of complexity of your visualization. If so, then check the source code for the existing classes (e.g. Rectangle3D, which is the simplest one). Of course, you can ask us, at any time, how to implement additional 3D object classes!
39 Today s learning goals After this lecture you should be able to Describe 3D rendering using OpenTK Define and compute the normal vector of a triangle Describe the concepts of lighting and shading Implement a 3D object derived from Object3D Describe and use the concept of nested 3D objects Set up and animate a simple 3D face Describe and use the FaceEditor user control
40 The Viewer3D class Handles visualization of the 3D objects.
41 Rotation and translation To move and object relative to its current location, one uses the Move() method (in Object3D). Rotations around the coordinate axes are handled using RotateX(), RotateY(), and RotateZ(). Note that 3D rotation is a complex topic. The result will depend on the order of the rotations! Here, in most cases, we ll only need rotation around a single axis at a time (e.g. when the agent blinks!).
42 Faces In addition to simple objects (Sphere3D, Rectangle3D) etc., there is also a considerably more complex Face class. A horizontal slice through the face is a closed curve, here represented as a (composite) Bézier spline. The various horizontal slices are then joined to form triangles, which always contain two points from one slice and one point from either the slice below or the slice above.
43 Faces A slice through a face (the green plane...)...represented as a smooth (closed) Bézier curve. The yellow points are the support points for the splines. Note that the smooth curve can be sampled with any precision one can sample thousands of points, if one wishes to do so. (The yellow points just define the splines).
44 Faces: Visualization A simple 3D head can be modeled as a face (i.e. the shape of the face and the nose and ears), with added eyes, eye lids, eyebrows etc. A more advanced head model would also include a movable jaw. An even higher level of sophistication would be to model muscles and skin, attached to a rigid skull.
45 Faces: Visualization Structure of the face demonstrated in Lecture 1 and in Chapter 5: Face (Object3D) Object3DList: lefteyebulb (Sphere3D), lighteyebulb (Sphere3D), lefteyebrow (TorusSector3D), righteyebrow (TorusSector3D) lefteyebulb Object3DList : lefteyeiris (SphereSegment3D), lefteyepupil (SphereSegment3D), lefteyelid (SphereSegment3D) righteyebulb Object3DList : Same as for the left eye bulb, but with the prefix right (separate instances, of course).
46 Some code to help you... Load face (Generated with the FaceEditor application; see below). The Initialize() method in the FaceApplication Generate left eye bulb. Generate left eye iris. + More objects generated (not shown here) + Setting position and orientatin (not shown here)
47 Some code to help you Add iris, pupil, and lid in the object3dlist of the left eye and then add the left eye to the object3dlist of the face. With this nested structure, one can more easily move the face, or parts thereof. For example, if an eye is rotated, the iris, pupil, and lid will follow along (as they should).
48 Faces: Visualization Whenever an object is attached to another, use nesting (with the objectlist). Note that the attachment need not be rigid. For example, the agent can rotate its head while moving its gaze and blinking!
49 Faces: Visualization
50 Today s learning goals After this lecture you should be able to Describe 3D rendering using OpenTK Define and compute the normal vector of a triangle Describe the concepts of lighting and shading Implement a 3D object derived from Object3D Describe and use the concept of nested 3D objects Set up and animate a simple 3D face Describe and use the FaceEditor user control
51 Faces: Visualization Even with this simple structure, one can represent many facial expressions Neutral (alert) Sleepy Asleep Surprised Angry Frightened
52 Faces: Animation Here, animation has been implemented using two threads: Animation thread: Runs all the time (once animation is started), invalidating the Viewer3D at regular intervals (e.g. 25 times per second). The invalidation causes the Viewer3D to repaint itself. Specific motion thread (e.g. blink, nod etc.): Just changes the position or rotation (or both) of the object. When the object is repainted, the new pose (position and rotation) is used.
53 Faces: Animation...in the Viewer3D class
54 Faces: Animation
55 Today s learning goals After this lecture you should be able to Describe 3D rendering using OpenTK Define and compute the normal vector of a triangle Describe the concepts of lighting and shading Implement a 3D object derived from Object3D Describe and use the concept of nested 3D objects Set up and animate a simple 3D face Describe and use the FaceEditor user control
56 The FaceEditor application The FaceEditor application makes use of the highly complex FaceEditor user control that, in turn, makes use of Bézier splines, implemented in the MathematicsLibrary. With this user control, one can define, edit, save (in XML format), and load a Face object. The FaceEditor user control has two panels: One for 3D rendering, and one for showing horizontal slices through the face (see the next slide).
57 The FaceEditor user control Slice plane (green) [Left] and the corresponding close curve [Right]
58 The FaceEditor user control To edit a slice, use the mouse to grab one or several support points
59 The FaceEditor user control Then use the mouse to drag. Note that left-right symmetry is enforced. Use the mouse wheel to zoom and off-zoom in the 2D view (first click on the 2D panel). NOTE: Right-click with the mouse to clear the selection of points.
60 The FaceEditor user control Click on the 3D panel and use the arrow keys to move between slice planes Note: This does not change the vertical position of the planes in order to actually move a plane (in the z direction (up or down), click on Move up or Move down.
61 The FaceEditor user control Note the difference between Moving between planes (arrow keys) Actually moving a plane (Move up or Move down button) One can also remove a slice plane (click on the Remove slice button). insert a slice plane (click on the Insert slice button).
62 The FaceEditor user control An inserted slice is generated as the average (so to speak) between the slice below and the slice above: Slice above Slice below Inserted slice.
63 Today s learning goals After this lecture you should be able to Describe 3D rendering using OpenTK Define and compute the normal vector of a triangle Describe the concepts of lighting and shading Implement a 3D object derived from Object3D Describe and use the concept of nested 3D objects Set up and animate a simple 3D face Describe and use the FaceEditor user control
Topics and things to know about them:
Practice Final CMSC 427 Distributed Tuesday, December 11, 2007 Review Session, Monday, December 17, 5:00pm, 4424 AV Williams Final: 10:30 AM Wednesday, December 19, 2007 General Guidelines: The final will
More informationCS 4620 Program 3: Pipeline
CS 4620 Program 3: Pipeline out: Wednesday 14 October 2009 due: Friday 30 October 2009 1 Introduction In this assignment, you will implement several types of shading in a simple software graphics pipeline.
More informationModels and Architectures
Models and Architectures Objectives Learn the basic design of a graphics system Introduce graphics pipeline architecture Examine software components for an interactive graphics system 1 Image Formation
More information3D Modeling Course Outline
3D Modeling Course Outline Points Possible Course Hours Course Overview 4 Lab 1: Start the Course Identify computer requirements. Learn how to move through the course. Switch between windows. Lab 2: Set
More informationBCC Sphere Transition
BCC Sphere Transition The Sphere Transition shape models the source image onto a sphere. Unlike the Sphere filter, the Sphere Transition filter allows you to animate Perspective, which is useful in creating
More informationOutline. Introduction Surface of Revolution Hierarchical Modeling Blinn-Phong Shader Custom Shader(s)
Modeler Help Outline Introduction Surface of Revolution Hierarchical Modeling Blinn-Phong Shader Custom Shader(s) Objects in the Scene Controls of the object selected in the Scene. Currently the Scene
More informationCS 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 informationHomework #2 and #3 Due Friday, October 12 th and Friday, October 19 th
Homework #2 and #3 Due Friday, October 12 th and Friday, October 19 th 1. a. Show that the following sequences commute: i. A rotation and a uniform scaling ii. Two rotations about the same axis iii. Two
More information6.837 Introduction to Computer Graphics Assignment 5: OpenGL and Solid Textures Due Wednesday October 22, 2003 at 11:59pm
6.837 Introduction to Computer Graphics Assignment 5: OpenGL and Solid Textures Due Wednesday October 22, 2003 at 11:59pm In this assignment, you will add an interactive preview of the scene and solid
More informationComputer 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 informationCOS 116 The Computational Universe Laboratory 10: Computer Graphics
COS 116 The Computational Universe Laboratory 10: Computer Graphics As mentioned in lecture, computer graphics has four major parts: imaging, rendering, modeling, and animation. In this lab you will learn
More informationPipeline 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 informationCOS 116 The Computational Universe Laboratory 10: Computer Graphics
COS 116 The Computational Universe Laboratory 10: Computer Graphics As mentioned in lecture, computer graphics has four major parts: imaging, rendering, modeling, and animation. In this lab you will learn
More informationFor each question, indicate whether the statement is true or false by circling T or F, respectively.
True/False For each question, indicate whether the statement is true or false by circling T or F, respectively. 1. (T/F) Rasterization occurs before vertex transformation in the graphics pipeline. 2. (T/F)
More informationModeling Technology Group
Modeling Technology Group Hiroshi Hayashi David Ogirala Matt Nedrich Jeff Ridenbaugh Spencer Smith Saba Bokhari John Gray Charles Hellstrom Bryan Linthicum Polygon Models (part-1) What are polygons? -
More informationSpring 2012 Final. CS184 - Foundations of Computer Graphics. University of California at Berkeley
Spring 2012 Final CS184 - Foundations of Computer Graphics University of California at Berkeley Write your name HERE: Write your login HERE: Closed book. You may not use any notes or printed/electronic
More informationMODELING EYES ESTIMATED TIME REQUIRED
MODELING EYES This tutorial will teach you how to model a pair of realistic-looking eyes and insert them into the head of a character. ESTIMATED TIME REQUIRED 30 Minutes LEARNING GOALS In this tutorial,
More informationHomework #2. Shading, Projections, Texture Mapping, Ray Tracing, and Bezier Curves
Computer Graphics Instructor: Brian Curless CSEP 557 Autumn 2016 Homework #2 Shading, Projections, Texture Mapping, Ray Tracing, and Bezier Curves Assigned: Wednesday, Nov 16 th Due: Wednesday, Nov 30
More informationPipeline 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 informationCGS 3220 Lecture 13 Polygonal Character Modeling
CGS 3220 Lecture 13 Polygonal Character Modeling Introduction to Computer Aided Modeling Instructor: Brent Rossen Overview Box modeling Polygon proxy Mirroring Polygonal components Topology editing Procedural
More informationModule Contact: Dr Stephen Laycock, CMP Copyright of the University of East Anglia Version 1
UNIVERSITY OF EAST ANGLIA School of Computing Sciences Main Series PG Examination 2013-14 COMPUTER GAMES DEVELOPMENT CMPSME27 Time allowed: 2 hours Answer any THREE questions. (40 marks each) Notes are
More informationRendering. Illumination Model. Wireframe rendering simple, ambiguous Color filling flat without any 3D information
llumination Model Wireframe rendering simple, ambiguous Color filling flat without any 3D information Requires modeling interaction of light with the object/surface to have a different color (shade in
More informationDue: Thursday, February 6 th, 11:59 pm TA: Mason Remy
Due: Thursday, February 6 th, 11:59 pm TA: Mason Remy Checking out, building, and using the sample solution Part 1: Surface of Revolution Part 2: Hierarchical Modeling Part 3: Blinn-Phong Shader Part 4:
More informationSculpting 3D Models. Glossary
A Array An array clones copies of an object in a pattern, such as in rows and columns, or in a circle. Each object in an array can be transformed individually. Array Flyout Array flyout is available in
More informationCPSC / Texture Mapping
CPSC 599.64 / 601.64 Introduction and Motivation so far: detail through polygons & materials example: brick wall problem: many polygons & materials needed for detailed structures inefficient for memory
More informationComputer Graphics: Introduction to the Visualisation Toolkit
Computer Graphics: Introduction to the Visualisation Toolkit Visualisation Lecture 2 Taku Komura Institute for Perception, Action & Behaviour Taku Komura Computer Graphics & VTK 1 Last lecture... Visualisation
More informationOrthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015
Orthogonal Projection Matrices 1 Objectives Derive the projection matrices used for standard orthogonal projections Introduce oblique projections Introduce projection normalization 2 Normalization Rather
More informationShaders. Slide credit to Prof. Zwicker
Shaders Slide credit to Prof. Zwicker 2 Today Shader programming 3 Complete model Blinn model with several light sources i diffuse specular ambient How is this implemented on the graphics processor (GPU)?
More informationCHAPTER 1 Graphics Systems and Models 3
?????? 1 CHAPTER 1 Graphics Systems and Models 3 1.1 Applications of Computer Graphics 4 1.1.1 Display of Information............. 4 1.1.2 Design.................... 5 1.1.3 Simulation and Animation...........
More informationViewing with Computers (OpenGL)
We can now return to three-dimension?', graphics from a computer perspective. Because viewing in computer graphics is based on the synthetic-camera model, we should be able to construct any of the classical
More informationCreate a Rubber Duck. This tutorial shows you how to. Create simple surfaces. Rebuild a surface. Edit surface control points. Draw and project curves
Page 1 of 24 Create a Rubber Duck This exercise focuses on the free form, squishy aspect. Unlike the flashlight model, the exact size and placement of the objects is not critical. The overall form is the
More informationCS 130 Final. Fall 2015
CS 130 Final Fall 2015 Name Student ID Signature You may not ask any questions during the test. If you believe that there is something wrong with a question, write down what you think the question is trying
More informationNotes on Blender: By Matthew Evett
Notes on Blender: By Matthew Evett A synopsis of the Wiki: http://en.wikibooks.org/wiki/blender_3d:_noob_to_pro The Blender GUI is implemented via opengl. Thus the GUI is not Windowsstandard. Can resize
More informationCS5620 Intro to Computer Graphics
So Far wireframe hidden surfaces Next step 1 2 Light! Need to understand: How lighting works Types of lights Types of surfaces How shading works Shading algorithms What s Missing? Lighting vs. Shading
More informationDraw Guide. Chapter 7 Working with 3D Objects
Draw Guide Chapter 7 Working with 3D Objects Copyright This document is Copyright 2011 2014 by the LibreOffice Documentation Team. Contributors are listed below. You may distribute or modify it under the
More informationBlue colour text questions Black colour text sample answers Red colour text further explanation or references for the sample answers
Blue colour text questions Black colour text sample answers Red colour text further explanation or references for the sample answers Question 1. a) (5 marks) Explain the OpenGL synthetic camera model,
More informationAdvanced Lighting Techniques Due: Monday November 2 at 10pm
CMSC 23700 Autumn 2015 Introduction to Computer Graphics Project 3 October 20, 2015 Advanced Lighting Techniques Due: Monday November 2 at 10pm 1 Introduction This assignment is the third and final part
More informationCS451Real-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 informationFacial Animation. Chapter 7
Chapter 7 Facial Animation Although you can go a long way toward completing a scene simply by animating the character s body, animating the character s face adds greatly to the expressiveness of a sequence.
More information3D Studio Max Lesson 1.1: A Basic Overview of 3DSMax's Main Tool Bar
3D Studio Max Lesson 1.1: A Basic Overview of 3DSMax's Main Tool Bar Introduction In this tutorial, we'll just be taking a look at parts of the environment of 3D Studio Max version 4.26, and helping you
More informationMODELING AND HIERARCHY
MODELING AND HIERARCHY Introduction Models are abstractions of the world both of the real world in which we live and of virtual worlds that we create with computers. We are all familiar with mathematical
More informationSolidWorks 2015 User Interface
SolidWorks 2015 User Interface SolidWorks a Dassault Systèmes Product Starting SolidWorks 1) On the desktop, double-click or from the start menu select: All Programs SOLIDWORKS 2015 SOLIDWORKS 2015. 2)
More informationIntroduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science Laboratory University of New Mexico Models and Architectures
More informationAvid FX Tutorials. Understanding the Tutorial Exercises
Avid FX Tutorials Understanding the Tutorial Exercises The following tutorial exercises provide step-by-step instructions for creating various kinds of effects, while exploring many aspects of the Avid
More informationSPACE - A Manifold Exploration Program
1. Overview SPACE - A Manifold Exploration Program 1. Overview This appendix describes the manifold exploration program SPACE that is a companion to this book. Just like the GM program, the SPACE program
More informationCharacter Modeling COPYRIGHTED MATERIAL
38 Character Modeling p a r t _ 1 COPYRIGHTED MATERIAL 39 Character Modeling Character Modeling 40 1Subdivision & Polygon Modeling Many of Maya's features have seen great improvements in recent updates
More informationUsing the CMA Warp Editor
Using the CMA Warp Editor Overview The Warp Editor feature lets you adjust Axon HD, Axon HD Pro, DLHD or MMS100 output to match complex projection surfaces. These forms allow the projection to match irregular
More informationLighting. Figure 10.1
We have learned to build three-dimensional graphical models and to display them. However, if you render one of our models, you might be disappointed to see images that look flat and thus fail to show the
More informationOpenGL: Open Graphics Library. Introduction to OpenGL Part II. How do I render a geometric primitive? What is OpenGL
OpenGL: Open Graphics Library Introduction to OpenGL Part II CS 351-50 Graphics API ( Application Programming Interface) Software library Layer between programmer and graphics hardware (and other software
More informationThe exam begins at 2:40pm and ends at 4:00pm. You must turn your exam in when time is announced or risk not having it accepted.
CS 184: Foundations of Computer Graphics page 1 of 10 Student Name: Class Account Username: Instructions: Read them carefully! The exam begins at 2:40pm and ends at 4:00pm. You must turn your exam in when
More informationLecture 4 Advanced Computer Graphics (CS & SE )
Lecture 4 Advanced Computer Graphics (CS & SE 233.420) Topics Covered Animation Matrices Viewing Lighting Animating Interactive Programs Consider planet.c Want to animate rotating the Earth around the
More informationHomework 3: Programmable Shaders
Homework 3: Programmable Shaders Introduction to Computer Graphics and Imaging (Summer 2012), Stanford University Due Monday, July 23, 11:59pm Warning: The coding portion of this homework involves features
More informationIllumination Models & Shading
Illumination Models & Shading Lighting vs. Shading Lighting Interaction between materials and light sources Physics Shading Determining the color of a pixel Computer Graphics ZBuffer(Scene) PutColor(x,y,Col(P));
More informationLecture 3 Sections 2.2, 4.4. Mon, Aug 31, 2009
Model s Lecture 3 Sections 2.2, 4.4 World s Eye s Clip s s s Window s Hampden-Sydney College Mon, Aug 31, 2009 Outline Model s World s Eye s Clip s s s Window s 1 2 3 Model s World s Eye s Clip s s s Window
More informationTSBK03 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 informationFull Screen Layout. Main Menu Property-specific Options. Object Tools ( t ) Outliner. Object Properties ( n ) Properties Buttons
Object Tools ( t ) Full Screen Layout Main Menu Property-specific Options Object Properties ( n ) Properties Buttons Outliner 1 Animation Controls The Create and Add Menus 2 The Coordinate and Viewing
More informationCharacter Modeling IAT 343 Lab 6. Lanz Singbeil
Character Modeling IAT 343 Lab 6 Modeling Using Reference Sketches Start by creating a character sketch in a T-Pose (arms outstretched) Separate the sketch into 2 images with the same pixel height. Make
More informationA simple OpenGL animation Due: Wednesday, January 27 at 4pm
CMSC 23700 Winter 2010 Introduction to Computer Graphics Project 1 January 12 A simple OpenGL animation Due: Wednesday, January 27 at 4pm 1 Summary This project is the first part of a three-part project.
More informationThe feature set you are required to implement in your ray tracer is as follows (by order from easy to hard):
Ray Tracing exercise TAU, Computer Graphics, 0368.3014, semester B Go to the Updates and FAQ Page Overview The objective of this exercise is to implement a ray casting/tracing engine. Ray tracing is a
More informationCS Simple Raytracer for students new to Rendering
CS 294-13 Simple Raytracer for students new to Rendering Ravi Ramamoorthi This assignment should be done only by those small number of students who have not yet written a raytracer. For those students
More informationGraphics Hardware and Display Devices
Graphics Hardware and Display Devices CSE328 Lectures Graphics/Visualization Hardware Many graphics/visualization algorithms can be implemented efficiently and inexpensively in hardware Facilitates interactive
More informationInteractive Real-Time Raycasting
Interactive Real-Time Raycasting CS184 AS4 Due 2009-02-26 11:00pm We start our exploration of Rendering - the process of converting a high-level object-based description into a graphical image for display.
More informationTHE AUSTRALIAN NATIONAL UNIVERSITY Final Examinations(Semester 2) COMP4610/COMP6461 (Computer Graphics) Final Exam
THE AUSTRALIAN NATIONAL UNIVERSITY Final Examinations(Semester 2) 2009 COMP4610/COMP6461 (Computer Graphics) Final Exam Writing Period: 3 hours duration Study Period: 15 minutes duration - you may read
More informationAnimation. Keyframe animation. CS4620/5620: Lecture 30. Rigid motion: the simplest deformation. Controlling shape for animation
Keyframe animation CS4620/5620: Lecture 30 Animation Keyframing is the technique used for pose-to-pose animation User creates key poses just enough to indicate what the motion is supposed to be Interpolate
More informationData Representation in Visualisation
Data Representation in Visualisation Visualisation Lecture 4 Taku Komura Institute for Perception, Action & Behaviour School of Informatics Taku Komura Data Representation 1 Data Representation We have
More informationECS 175 COMPUTER GRAPHICS. Ken Joy.! Winter 2014
ECS 175 COMPUTER GRAPHICS Ken Joy Winter 2014 Shading To be able to model shading, we simplify Uniform Media no scattering of light Opaque Objects No Interreflection Point Light Sources RGB Color (eliminating
More informationChapter 5. Projections and Rendering
Chapter 5 Projections and Rendering Topics: Perspective Projections The rendering pipeline In order to view manipulate and view a graphics object we must find ways of storing it a computer-compatible way.
More informationBeaumont 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 informationTutorial 4: Texture Mapping Techniques
Tutorial 4: Texture Mapping Techniques Completion time 40 minutes In the previous tutorial we learned how to create materials, and how to assign texture maps to those materials. In this tutorial we will
More informationCMSC427 Final Practice v2 Fall 2017
CMSC427 Final Practice v2 Fall 2017 This is to represent the flow of the final and give you an idea of relative weighting. No promises that knowing this will predict how you ll do on the final. Some questions
More information1 Tutorials About the Tutorial Exercises
1 Tutorials About the Tutorial Exercises..............................................2 Getting Started........................................................3 Exercise 1: Animating a 3D Model Using Keyframes............................3
More informationIllumination & Shading I
CS 543: Computer Graphics Illumination & Shading I Robert W. Lindeman Associate Professor Interactive Media & Game Development Department of Computer Science Worcester Polytechnic Institute gogo@wpi.edu
More informationInteractive 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 informationModels and Architectures. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico
Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico 1 Objectives Learn the basic design of a graphics system Introduce
More information3D 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 informationLecture 17: Shading in OpenGL. CITS3003 Graphics & Animation
Lecture 17: Shading in OpenGL CITS3003 Graphics & Animation E. Angel and D. Shreiner: Interactive Computer Graphics 6E Addison-Wesley 2012 Objectives Introduce the OpenGL shading methods - per vertex shading
More informationPASS Sample Size Software
Chapter 941 Introduction In PASS, it is easy to study power and sample size calculations for a range of possible parameter values. When at least 2 input parameters vary, you can create stunning 3D power
More informationTransformations in Ray Tracing. MIT EECS 6.837, Durand and Cutler
Transformations in Ray Tracing Linear Algebra Review Session Tonight! 7:30 9 PM Last Time: Simple Transformations Classes of Transformations Representation homogeneous coordinates Composition not commutative
More information3 Polygonal Modeling. Getting Started with Maya 103
3 Polygonal Modeling In Maya, modeling refers to the process of creating virtual 3D surfaces for the characters and objects in the Maya scene. Surfaces play an important role in the overall Maya workflow
More information03 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 informationLecturer Athanasios Nikolaidis
Lecturer Athanasios Nikolaidis Computer Graphics: Graphics primitives 2D viewing and clipping 2D and 3D transformations Curves and surfaces Rendering and ray tracing Illumination models Shading models
More informationCMSC427 Transformations II: Viewing. Credit: some slides from Dr. Zwicker
CMSC427 Transformations II: Viewing Credit: some slides from Dr. Zwicker What next? GIVEN THE TOOLS OF The standard rigid and affine transformations Their representation with matrices and homogeneous coordinates
More informationComputer Graphics 1. Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2011
Computer Graphics 1 Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling 1 The 3D rendering pipeline (our version for this class) 3D models in model coordinates 3D models in world coordinates 2D Polygons in
More informationCopyright 2009 Pearson Education, Inc. Chapter 9 Section 5 - Slide 1 AND
Copyright 2009 Pearson Education, Inc. Chapter 9 Section 5 - Slide 1 AND Chapter 9 Geometry Copyright 2009 Pearson Education, Inc. Chapter 9 Section 5 - Slide 2 WHAT YOU WILL LEARN Transformational geometry,
More informationCMSC427 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 informationActions and Graphs in Blender - Week 8
Actions and Graphs in Blender - Week 8 Sculpt Tool Sculpting tools in Blender are very easy to use and they will help you create interesting effects and model characters when working with animation and
More informationTransforming 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 informationCS452/552; EE465/505. Intro to Lighting
CS452/552; EE465/505 Intro to Lighting 2-10 15 Outline! Projection Normalization! Introduction to Lighting (and Shading) Read: Angel Chapter 5., sections 5.4-5.7 Parallel Projections Chapter 6, sections
More informationCS 112 The Rendering Pipeline. Slide 1
CS 112 The Rendering Pipeline Slide 1 Rendering Pipeline n Input 3D Object/Scene Representation n Output An image of the input object/scene n Stages (for POLYGON pipeline) n Model view Transformation n
More informationIntro to Ray-Tracing & Ray-Surface Acceleration
Lecture 12 & 13: Intro to Ray-Tracing & Ray-Surface Acceleration Computer Graphics and Imaging UC Berkeley Course Roadmap Rasterization Pipeline Core Concepts Sampling Antialiasing Transforms Geometric
More informationAssignment 2 Ray Tracing
Assignment 2 Ray Tracing Overview The concept of ray tracing: a technique for generating an image by tracing the path of light through pixels in an image plane and simulating the effects of its encounters
More informationS206E Lecture 3, 5/15/2017, Rhino 2D drawing an overview
Copyright 2017, Chiu-Shui Chan. All Rights Reserved. S206E057 Spring 2017 Rhino 2D drawing is very much the same as it is developed in AutoCAD. There are a lot of similarities in interface and in executing
More informationChapter 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 information3.6: First Person Computer Games
3.6: First Person Computer Games Projections of 3-D Objects Alice is an educational software program that uses a 3-D environment to teach students programming. If you have not done so already, please download
More information3D Design with 123D Design
3D Design with 123D Design Introduction: 3D Design involves thinking and creating in 3 dimensions. x, y and z axis Working with 123D Design 123D Design is a 3D design software package from Autodesk. A
More informationThe University of Calgary
The University of Calgary Department of Computer Science Final Examination, Questions ENEL/CPSC 555 Computer Graphics Time: 2 Hours Closed Book, calculators are permitted. The questions carry equal weight.
More information3D Surface Plots with Groups
Chapter 942 3D Surface Plots with Groups Introduction In PASS, it is easy to study power and sample size calculations for a range of possible parameter values. When at least 3 input parameters vary, you
More informationCOMP environment mapping Mar. 12, r = 2n(n v) v
Rendering mirror surfaces The next texture mapping method assumes we have a mirror surface, or at least a reflectance function that contains a mirror component. Examples might be a car window or hood,
More informationComputergrafik. Matthias Zwicker. Herbst 2010
Computergrafik Matthias Zwicker Universität Bern Herbst 2010 Today Bump mapping Shadows Shadow mapping Shadow mapping in OpenGL Bump mapping Surface detail is often the result of small perturbations in
More informationMethodology for Lecture. Importance of Lighting. Outline. Shading Models. Brief primer on Color. Foundations of Computer Graphics (Spring 2010)
Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 11: OpenGL 3 http://inst.eecs.berkeley.edu/~cs184 Methodology for Lecture Lecture deals with lighting (teapot shaded as in HW1) Some Nate
More information