Computer Animation: Art, Science and Criticism



Similar documents
Computer Graphics. Geometric Modeling. Page 1. Copyright Gotsman, Elber, Barequet, Karni, Sheffer Computer Science - Technion. An Example.

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

1 CHORD LENGTH OR UNIFORM PARAMETERIZATION

Computer Graphics CS 543 Lecture 12 (Part 1) Curves. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Advanced Surface Modeling

Understand the Sketcher workbench of CATIA V5.

Geometric Modelling & Curves

Welcome to the PhD course in Scientific Visualization and Presentation in 3D

the points are called control points approximating curve

(Refer Slide Time: 1:42)

SpaceClaim Introduction Training Session. A SpaceClaim Support Document

CATIA Wireframe & Surfaces TABLE OF CONTENTS

Blender 3D Animation

Curves and Surfaces. Goals. How do we draw surfaces? How do we specify a surface? How do we approximate a surface?

Wireframe and Surface

2013 Getting Started Guide

Basic controls of Rhinoceros 3D software

Modeling Tools Objectives. Sweeps and Lofts. Loft Feature

CSE 167: Lecture 13: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

Introduction to CATIA V5

Generative Shape Design

Mocap class 8 - Creating an interactive 3D garden JMG Spring 2011

Essential Mathematics for Computer Graphics fast

How To Use Design Mentor

Tutorial: 2D Pipe Junction Using Hexa Meshing

IT 386: 3D Modeling and Animation. Review Sheet. Notes from Professor Nersesian s IT 386: 3D Modeling and Animation course

After completing this tutorial, you will be able to: Use the new 3D Modeling tools in AutoCAD 2007 for basic Lofting.

Maya 2014 Basic Animation & The Graph Editor

Finite Element Modeling

Modeling Curves and Surfaces

Classroom Tips and Techniques: The Student Precalculus Package - Commands and Tutors. Content of the Precalculus Subpackage

Datum > Curve KIM,ME,NIU

Tutorial: 3D Pipe Junction Using Hexa Meshing

Chapter 1. Creating Sketches in. the Sketch Mode-I. Evaluation chapter. Logon to for more details. Learning Objectives

An introduction to 3D draughting & solid modelling using AutoCAD

SolidWorks Implementation Guides. Sketching Concepts

Castle Modeling. In this PDF tutorial we will be modeling a simple castle as pictured above.

CHAPTER 1 Splines and B-splines an Introduction

Columbus College of Art & Design 1 Charlotte Belland

Autodesk Fusion 360 Badge Guide: Design an F1 in Schools Trophy

511 - Creating Structural Frame Designs

HowTo Rhino & ICEM. 1) New file setup: choose Millimeter (automatically converts to Meters if imported to ICEM)

Pro/ENGINEER Wildfire 4.0 Basic Design

SolidWorks: Mirror, Revolve, and. Introduction to Robotics

Figure 2.1: Center of mass of four points.

Intermediate Tutorials Modeling - Trees. 3d studio max. 3d studio max. Tree Modeling Matthew D'Onofrio Page 1 of 12

SOLIDWORKS: SKETCH RELATIONS

Content. Chapter 4 Functions Basic concepts on real functions 62. Credits 11

ART 269 3D Animation Fundamental Animation Principles and Procedures in Cinema 4D

Chapter 9. Editing Features. Learning Objectives

Generative Shape Optimizer

Autodesk Fusion 360: Assemblies. Overview

Glass coloured glass may pick up on scan. Top right of screen tabs: these tabs will relocate lost windows.

CATIA V5 Tutorials. Mechanism Design & Animation. Release 18. Nader G. Zamani. University of Windsor. Jonathan M. Weaver. University of Detroit Mercy


TABLE OF CONTENTS. INTRODUCTION... 5 Advance Concrete... 5 Where to find information?... 6 INSTALLATION... 7 STARTING ADVANCE CONCRETE...

CATIA Basic Concepts TABLE OF CONTENTS

QUICK REFERENCE: ADOBE ILLUSTRATOR CS2 AND CS3 SECTION 1: CS3 TOOL BOX: PAGE 2 SECTION 2: CS2 TOOL BOX: PAGE 11

Part Design. Preface What's New? Getting Started Basic Tasks Advanced Tasks Workbench Description Customizing Glossary Index

CS 4620 Practicum Programming Assignment 6 Animation

MassArt Studio Foundation: Visual Language Digital Media Cookbook, Fall 2013

Quick Start Tutorial Imperial version

1. Abstract 2. Introduction 3. Algorithms and Techniques

SAP2000 Getting Started Tutorial

Excel -- Creating Charts

BEZIER CURVES AND SURFACES

Raising the Roof Creating Roofs in Revit David Cohn

Intro to 3D Animation Using Blender

Working With Animation: Introduction to Flash

Creating Your Own 3D Models

Computer Animation: Art, Science and Criticism

Introduction to Autodesk Inventor for F1 in Schools

Course: 3D Design Title: Deciduous Trees Blender: Version 2.6X Level: Beginning Author; Neal Hirsig (June 2012) Deciduous Trees

Lession: 2 Animation Tool: Synfig Card or Page based Icon and Event based Time based Pencil: Synfig Studio: Getting Started: Toolbox Canvas Panels

H.Calculating Normal Vectors

Twelve. Figure 12.1: 3D Curved MPR Viewer Window

Introduction to Autodesk Inventor for F1 in Schools

Pro/ENGINEER Wildfire 5.0 Introduction to Surface Modeling

NURBS Drawing Week 5, Lecture 10

A Novel Multitouch Interface for 3D Object Manipulation

The Essentials of CAGD

Solid Edge structural frames and weldments

GeoGebra. 10 lessons. Gerrit Stols

Mastercam X6 Basic 3D Design

Communicate: In Print

Adobe Illustrator CS5 Part 1: Introduction to Illustrator

CATIA for Design and Engineering. Version 5 Releases 14 & 15. David S. Kelley. Central Michigan University SDC

WORKBOOK MODELING OF MULTI- MEMBER MACHINES

How SolidWorks Speeds Consumer Product Design

Plotting: Customizing the Graph

Bicycle Math. presented to the Olivetti Club. Timothy E. Goldberg. March 30, Cornell University Ithaca, New York

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

NURBS Drawing Week 5, Lecture 10

Quick Start Tutorial Metric version

10. THERM DRAWING TIPS

Learning Autodesk. Modeling, Analysis and Animation SDC. Randy H. Shih. Better Textbooks. Lower Prices. PUBLICATIONS

VISUAL ALGEBRA FOR COLLEGE STUDENTS. Laurie J. Burton Western Oregon University

This week. CENG 732 Computer Animation. Challenges in Human Modeling. Basic Arm Model

Figure 1 - Delta Theta Input Selection

Transcription:

Computer Animation: Art, Science and Criticism Tom Ellman Harry Roseman Lecture 4

Parametric Curve A procedure for distorting a straight line into a (possibly) curved line. The procedure lives in a black box: The box takes a number u from 0 to 1 on its input wire. The box puts a point in a 3D world on its output wire The procedure defines a mathematical function c(u) that maps the 1D unit interval into the 3D space R 3.

Parametric Curve c c 0 1 u

NURB Curve A kind of parametric curve. Constructed from one or more pieces. Each piece is a ratio of polynomials. Choice of degree of polynomial: Linear (degree one): Each piece is a line segment. Quadratic (degree two): Each piece is a curve that may change direction once. Cubic (degree three): Each piece is a curve that may change direction twice.

NURB Non-Uniform: Can be bent more easily in some areas than others. Rational: Based on ratios of polynomials. Allows exact modeling of conic sections. B: Polynomials courtesy of Bezier. Spline: A flexible piece of wood used for drawing curves. A piecewise polynomial curve that can be modified locally. Nobody Understands Rational B-Splines

Internal Representation of NURB Curves Control Vertices (CVs): Define the overall shape of the curve. Act like magnets pulling on parts of the curve. Degree: 1 (linear), 2 (quadratic), 3 (cubic), 5 or 7. Specifies how quickly the curve can change direction. Knots: List of numbers that specifies how CVs relate to the curve s u-parameter.

Display of NURBs in Modeling Windows Display-NURBS (components): Controls the display of objects that govern or illustrate the shape of the NURB: E.g., Control Vertices (CVs) and Hulls. Display-NURBS (smoothness): Controls the way a NURB curve or surface is displayed in a modeling window, but does not influence the way it is rendered.

Linear NURB curve in green. Control vertices in yellow.

Cubic NURB curve in green. Control vertices in yellow. Hull in brown.

Control Vertices v. Edit Points Control Vertices (CVs): Define the region through which the curve passes. Do not usually lie on the curve itself (except for linear curves). Modifying a CV affects only a local region of the curve. Edit Points (EPs): Lie on the curve itself. Correspond to specific values of u-parameter. Modifying an EP can affect the entire curve. Curves can be created by specifying CVs or EPs.

NURB curve created by specifying 5 control vertices.

NURB curve created by specifying the same 5 points as edit points.

A NURB curve can be edited by directly moving CVs. First press the Select by Component Type Button. Then select a (purple) CV. The white line indicates the parts of the curve that are affected when the CV is moved.

CVs, Spans and Degree General Polynomial Curves: Degree + Number of Spans = Number of CVs Cubic Polynomial Curves: 3 + Number of Spans = Number of CVs Every curve has at least one span. Therefore a cubic curve has at least 4 CVs.

Rebuilding a NURB Curve Increase Number of Spans. Increases number of CVs defining curve. Curve shape remains unchanged. (Depending on options selected.) User has finer control over curve shape. Decrease Number of Spans. Decreases number of CVs defining curve. Curve usually changes shape. User has grosser control over curve shape.

Original curve with 2 spans.

Modified curve with 2 spans.

Original curve with 8 spans.

Modified curve with 8 spans.

Pick Walking Go into component selection mode. Select a control vertex (CV). Use Right/Left or Up/Down arrow keys. Move forward/back along CV sequence.

EditCurves-CurveEditingTool Parameter Handle: Change the u-parameter of the point you are editing. Position Handle: Change the world space location of the point you are editing. Tangent Direction Handle: Change the direction of the curve at the point you are editing. Tangent Scale Handle: Control how fast the tangent changes as it passes through the point you are editing.

Tangent Direction Handle Tangent Scale Handle Axis Snap Lines Parameter Handle Position Handle

Open, Closed and Periodic Curves An open curve may have its start and end edit points in different locations. The start and end edit points may be moved independently. A closed curve has its start and end edit points at the same location, called the seam. If you move the start point, the end point moves with it (and visa versa). A periodic is similar to a closed curve, but it has two unseen spans at the end of the curve that overlap the first two spans. The unseen spans help maintain continuity along the seam.

Non-smooth open curve with coinciding start and end points.

Do EditCurves-Open/CloseCurves to make it periodic.

Select an edit or curve point and do EditCurves-DetachCurves to make it closed. The new start and end points may now be moved independently.

Attaching Curves Select two curves: Curve1 and Curve2. Use Menu Command: EditCurves-Attach-[]. Connect option generates a new curve that is continuous, but usually not smooth. The end of Curve2 is attached to the start of Curve2. (If necessary, Curve2 is modified.) Blend option generates a new curve that is continuous and smooth. The end of Curve2 is attached to the start of Curve2. (If necessary, both Curve1 and Curve2 are modified. The Bias setting determines which curve gets modified more, and which gets modified less.)

Attaching two curves using the Connect option.

Attaching two curves using the Blend option. (Bias=0.5)

If we attach these two curves, which combination of ends will be joined?

If we use Select by Component Type to go into Component Mode, we see a small u near the start of each curve.

We select the lower curve and do EditCurves-ReverseCurveDirection, and go into Component Mode. Now the lower curve now starts at other end.

Parametric Surface A procedure for distorting a planar square into a (possibly) curved surface. The procedure lives in a black box: The box takes a number u from 0 to 1 on one input wire. The box takes a number v from 0 to 1 on another input wire. The box puts a point in a 3D world on its output wire. The procedure defines a mathematical function s(u,v) that maps the 2D unit square into the 3D space R 3.

Parametric Surface 1 v s s s s 0 1 u

We create a NURB surface using Create-NURBSPrimitives-Plane-[] and select 4 spans (patches) in the U direction and 4 spans (patches) in the V direction. Then we go into Component mode and select the 9 central CVs and move them upward. The result in Component Mode (wire frame) is shown on left. Object Mode (smooth shaded) is shown on right.

Notice that we have 7 CVs in the U (horizontal) direction and 7 CVs in the V (vertical direction). Try going into Component Mode and selecting a CV. Then use the arrow keys to move right/left along a row or up/down along a column.

Isoparms An isoparm is a curve that lies in a NURB surface. They come in two varieties: Curve of constant u (varying v) value. Curve of constant v (varying u) value. Use the RMB marking menu to go into Isoparm mode, and then use LMB and drag to select an isoparm.

Constant v isoparm shown in yellow.

Constant u isoparm shown in yellow.

Isoparms define a local coordinate system at each point on the surface. You can see this if you go into Component Mode, select a CV, double click the Move tool and choose Normal coordinates. Now you can move CVs in the U, V or N direction.

A NURB surface can be edited by directly moving CVs. The white lines indicate the parts of the surface that are affected by the selected CV.

EditNurbs-SurfaceEditing-SurfaceEditingTool Parameter Handle: Change the u and v parameters of the point you are editing. Position Handle: Change the world space location of the point you are editing. Toggle Button: Cycles through editing u tangent, v tangent and surface normal. Tangent / Normal Direction Handle: Change the direction of the tangent or surface normal at the point you are editing. Tangent Scale Handle: Control how fast the tangent changes as it passes through the point you are editing.

Tangent / Normal Direction Handle Tangent Scale Handle Axis Snap Lines Toggle Button Parameter Handle Position Handle

Constructing Surfaces from Curves Loft: Straight line isoparms. Revolve: Circular isoparms Extrude: Arbitrary fixed isoparms. Birail: Arbitrary varying isoparms.

Create two NURB curves. Select both of them. Apply the Surfaces-Loft tool.

All u-constant isoparms are straight lines. Nearest v=0 isoparm is one NURB curve. Farthest v=1 isoparm is the other NURB curve. The v-constant isoparms are blends of the two NURB curves.

Lofting Questions Question: How does Maya decide where to put the linear isoparms? Answer: Equally spaced points connect equally spaced points. Question: Yes, but how does Maya know which ends of the curves are matched with each other? Answer: The point u=0 on one curve matches with the point u=0 on the other curve. Likewise for u=1 points. You can test this by reversing the direction of one of the curves.

Create one NURB curve to serve as a profile. Apply the Surfaces-Revolve tool.

All u-constant isoparms are circles. All v-constant isoparms are rotated copies of the profile curve.

Create two NURB curves. Apply the (flat) Surfaces-Extrude tool.

All u-constant isoparms are translated copies of one curve. All v-constant isoparms are translated copies of the other curve.

Flat v. Tube Extrusion Flat maintains the orientation of the cross section as it moves along the extrusion path. Tube sweeps the cross section along the path with the reference vector staying tangent to the path.

Extruding Questions Question: If the curves are not connected at their u=0 points, which curve gets moved? Answer: The curve you selected first stays put. The curve you selected second gets moved.

Create one NURB curve to serve as a profile. Create two NURB curves to serve as rails. Select the profile and then select the two rails. Apply the Surfaces-Birail-1 tool.

All u-constant isoparms are translated, rotated and scaled copies of the profile curve. The v=0 and v=1 isoparms are the rail curves. The v-constant isoparms are blends of the two rail curves.

Editing and Animating History Suppose we create surface S from curves C1 and C2 using Loft, Revolve, Extrude, etc. Suppose also that we maintain the creation history for surface S. Later we can edit C1 and/or C2 and S will be automatically updated. Also, we can animate C1 and/or C2 and S will respond appropriately during the animation.

Exercise: Model & Animate a Leaf Go into Top view and turn on Grid Snapping. Make two curves that meet at u=0. One curve should be on the Z axis, starting at the origin. (RailA1) One curve should start at the origin and branch away from the first. (RailB1) Make a curve that connects the separated ends of the rail curves. (Profile1) Select Profile1 and then select RailA1 and RailB1. Invoke Surfaces-Birail-Biral1Tool. Invoke Edit-DuplicateSpecial-[] and click Duplicate Input Graph and confirm. Select RailA2, RailB2 and Profile2. Go to the channel box and enter -1 into the ScaleX channel. Select both surfaces and invoke EditNURBs-AttachSurfaces. Move any profile or rail curve and see how the leaf responds.

demo-04-birail-attach-leaf.mb

Modeling a Human Head with NURBS Start with a sphere. Place the a pole in one of several places: Poles at crown and neck. Poles at mouth and crown. Poles at mouth and neck. One pole at each ear. Advantages and disadvantages of each.

George Maestri Pole at crown offers good control over brow and nose, but causes problems where isoparms come together at edge of mouth. demo-04-head-crown-neck-pole-maestri.mb

George Maestri Pole at mouth offers good control of mouth and lips, but causes problems in the eye sockets since iosparms are sparse there. demo-04-head-mouth-crown-pole-maestri.mb

George Maestri Poles at ears is good for ears and eye sockets, but causes problems where isoparms come together at edge of mouth. demo-04-head-ear-ear-pole-maestri.mb

demo-04-head-mouth-neck-pole-ellman.mb NURB head with poles at mouth and neck by Ellman following Maraffi s instructions.

Design by Stepwise Refinement 1. Begin with a curve or surface with few CVs. 2. Move CVs to get a rough approximation of the desired surface. 3. Repeat: a. Add rows or columns of CVs in selected locations. b. Move new (or old) CVs to add detail to surface.

Start with one span (four rows/columns) in each direction.

Invoke EditNURBS-InsertIsoparms[]. Press and hold RMB to invoke the marking menu and select Isoparms. Then use LMB to select an isoparm on the surface and confirm the dialog box. Maya will add a row or column of CVs, depending on the direction of isoparm you selected. Here we see the result of successively adding a U isoparm and a V isoparm.

Here we see the result of adding yet another U isoparm and another V isoparm. Now we have finer control near the added isoparms, especially where they cross.

Problem with Refining NURBs Each time we want more detail, we must do one of two things: Add a whole row of CVs. Add a whole column of CVs. But we really only care about the area where the row and column cross. Solution: Use multiple NURB patches.

EditNURBS-AttachSurfaces[] Create one single NURB surface out of two existing NURB surfaces. May involve moving and/or modifying surfaces so that joined edges coincide. May involve adding rows or columns of CVs to one surface so surfaces have same number of spans along edges being joined. Connect: Allow tangent to be discontinuous along the curve where the surfaces are attached. Blend: Modify one or both surfaces so that tangent is continuous along the line where the surfaces are attached.

Two NURB surfaces selected. One has more rows and columns of CVs than the other.

Connect Attachment: First one surface was rebuilt to have as many CV columns as the other surface. Then the two surfaces became one surface.

Blend Attachment: One surface was rebuilt. Both surfaces were modified to make the tangent continuous across the join curve.

EditNurbs-Stitch Impose a continuity or smoothness constraint on two surfaces. Do not create a single, combined surfaces. Allow the two surfaces to retain their separate identities. In particular, the two surfaces may have different numbers of rows and columns of CVs.

Two surfaces with differing topologies about to be stitched together.

Surfaces still have different topologies after stitching to enforce position and tangent continuity.

Surfaces remain continuous and smooth at the boundary, even as one of them is moved.

Creating a Multi-Patch Head Create a single-surface NURBs head. Make the surface live. Draw concentric curves for eyelids and loft them together. Draw concentric curves for ears and loft them together. Detach NURBs surface into patches. Stitch eyelid and ear patches together with select patches from the original NURBs surface.

demo-04-head-patch-choi.mb Multi-Patch NURB Head by Jae-Jin Choi

demo-04-head-patch-beardsly.mb Multi-Patch NURB Head by Beardsly

demo-04-head-patch-fischthal.mb Multi-Patch NURB Head by Mike Fischthal VC 05

Additional Topics Curve and surface fillets. Boolean combinations of surfaces. Trimmed surfaces. Artisan sculpting tool.

Challenge Problems Wine Glass. Teapot. Coiled Spring. Pretzel. Blade of Grass. Field of Grass. Cactus. Flower. Ear. Hand. Sponge. Brick wall. Pile of bricks. Car Body. House. City Skyline.