CS 352: PC Representation

Cs 352 computer graphics l.jpg
1 / 73
1064 days ago, 362 views
PowerPoint PPT Presentation
Intelligent Computer Graphics. Part 9 - 2. Review. ModelingAnimationData structures

Presentation Transcript

Slide 1

CS 352: Computer Graphics Hierarchical Graphics, Modeling, And Animation

Slide 2

Overview Modeling Animation Data structures for intuitive design CSG-tree BSP-tree Quadtrees and Octrees Visibility precomputation Many figures and cases in this arrangement of addresses are from The Art of 3D Computer Animation and Imaging , by I. Kerlow

Slide 3

Modeling The demonstrating issue Modeling primitives Polygon Sphere, ellipsoid, torus, superquadric NURBS, surfaces of upsets, smoothed polygons Particles Skin & bones Approaches to displaying complex shapes Tools, for example, expel, spin, hang, split, line, mix Constructive strong geometry (CSG) Hierarchy; kinematic joints Inverse kinematics Keyframes

Slide 4

Representing Objects spoke to as images Defined in model directions; changed into world directions (M = TRS) glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glTranslatef(… ); glRotatef(… ); glScalef(… ); glutSolidCylinder(… );

Slide 5

Primitives The essential kind of primitive is the polygon Number of polygons: tradeoff between render time and model exactness

Slide 7

Spline Curves Linear spline Cardinal spline B-spline Bezier bend NURBS (non-uniform sound b-spline)

Slide 8


Slide 9

Mesh disfigurements

Slide 10

Sweep a shape over a way to frame a summed up chamber

Slide 11

Revolution Revolve a shape around a hub to make a question with rotational symmetry

Slide 12

Extrusion Extrude: grow a 2D shape in the third measurement Shape is made with a (1D) b-spline bends Hole was made by subtracting a barrel

Slide 14

Joining Primitives Stitching, mixing

Slide 15

Modifying Primitives

Slide 16

Subdivision Surfaces Can set level of polygon subdivision

Slide 20

Skin and Bones Skeleton with joined "bones" Can include "skin" top of bones Automatic or hand-tuned cleaning

Slide 22


Slide 23

Algorithmic Primitives Algorithms for trees, mountains, grass, hide, lightning, fire, …

Slide 25

Geometric model document positions .obj: Alias Wavefront .dxf: Autocad .vrml: Inventor Dozens more Can change over between configurations Converting to a typical arrangement may lose data…

Slide 26

Hierarchical models When liveliness is craved, items may have parts that move concerning each other Object spoke to as progression Often there are joints with movement limitations E.g. speak to wheels of auto as sub-articles with rotational movement (auto moves 2 pi r for every turn)

Slide 28

DAG models Could utilize tree to speak to question Actually, a DAG (coordinated non-cyclic diagram) is better: can re-utilize objects Note that every bolt needs a different demonstrating change In protest situated illustrations, likewise require movement limitations with every bolt

Slide 29

Example: Robot Traverse DAG utilizing DFS (or BFS) Push and pop grids en route (e.g. left-youngster right-kin) (joint position parameters?)

Slide 31

Modeling Programs Moray Shareware Limited usefulness Easy Lightwave, Maya NOT shareware Very full-included Difficult to learn and utilize Moray, Maya demos; Lightwave video

Slide 32

Animation Suppose you need the robot to get a container of oil to drink. How? You could set the joint positions at every minute in the liveliness ( kinematics )

Slide 33

Inverse Kinematics You can't simply alter the joint changes Joint settings aren't even essentially special for a hand position! Reverse kinematics : make sense of from the hand position where the joints ought to be set.

Slide 34

Using Inverse Kinematics Specify joint requirements and needs Move end effector (or question posture) Let the framework make sense of joint positions [IK demo]

Slide 35

Keyframe Animation In conventional key edge liveliness the artist draws a few essential casings, and partners do the "inbetweening" or "tweening" Computer activity is likewise key-outline based At key edges, illustrator positions protests and lights, sets parameters, and so on. The framework introduces parameter values directly or along a bend To get starting with one protest posture then onto the next, reverse kinematics decide joint movements [Keyframe liveliness demo]

Slide 36

Motion Capture More practical movement arrangements can be produced by Motion Capture Attach joint position markers to genuine on-screen characters Record live activity

Slide 38

Morphing: easily moving starting with one picture then onto the next First advanced in a Michael Jackson video Method: a blend of Warping both pictures, bit by bit moving control focuses from area in first picture to area in the second Cross-blurring from first picture grouping to second

Slide 39

3D Morphing Define 3D previously, then after the fact shapes as e.g. NURBS surfaces with same number of control focuses Gradually move control indicates from first setting second Specify key postures: e.g. grin, scowl, 12 casings of strolling movement

Slide 40

Combined methodologies

Slide 41

Example: virtual puppetry Suppose you need to show virtual manikin indicates How would you be able to quicken manikin developments? How might you be able to control the livelinesss remotely?

Slide 42

Character Animation To make PC representation (or toon drawings) wake up …

Slide 43

Personality through Pose, Expression, Motion, Timing

Slide 45

Object-arranged Graphics Higher in the programming pecking order: control models with protest situated projects robot robbie; robbie.smile(); robbie.walk(270, 5, 3);

Slide 46

Data Structures for Modeling This some portion of section: how some case applications be done effectively ( i.e. themes without a superior home… ) Tree-based subdivisions of space Example 1: how to speak to complex items made up of union, crossing point, contrast of different articles

Slide 47

CSG Tree

Slide 48

Application 2: HSR How to render in 3D with concealed surface evacuation when you don't have an equipment profundity support? Could you think about some other methods for evacuating shrouded surfaces rapidly? Rule: a polygon can't be impeded by another polygon that is behind it.

Slide 49

BSP-tree The painter's calculation for concealed surface evacuation works by drawing all appearances, from back to front How to get a posting of the countenances in back-to-front request? Placed them into a double tree and cross the tree (however in what arrange?)

Slide 50

BSP Tree Figures Right is "front" of polygon; left is "back" In and Out hubs demonstrate districts of space inside or outside the protest (Or, simply store split bits of polygons at leaves)

Slide 51

Traversing a BSP tree Binary Space Partition tree : a paired tree with a polygon at every hub Children in left subtree are behind polygon Children in right subtree are before polygon Traversing a BSP-tree: If invalid pointer, do nothing Else, draw far subtree, then polygon at current hub, then close subtree Far and close are dictated by area of viewer Runtime of traversal? Disadvantages?

Slide 52

Building a BSP tree Inserting a polygon: If tree is unfilled make it the root If polygon to be embedded converges plane of polygon of current hub, split and embed half on every side recursively. Else embed on proper side recursively Problem: the quantity of countenances could develop significantly Worst case (O(n 2 ))… yet normally it doesn't become too gravely by and by…

Slide 53

BSP-tree Summary Returns polygons not really in sorted request, but rather in a request that is right for back-to-front rendering Widely utilized when Z-support equipment may not be accessible (e.g. amusement motors) Guarantees back-to-front rendering for alpha mixing Works well (direct time traversals) in the quantity of split polygons [And we trust the quantity of polygons doesn't develop a lot through splitting]

Slide 54

Application 3: Handling Large Spatial Data Sets Example application: picture based rendering Suppose you have numerous advanced pictures of a scene, with profundity data for pixels How to discover proficiently the focuses that are in front? Different applications: Speeding up beam following with numerous items Rendering shapes of 3D volumetric information, for example, MRI filters

Slide 55

Quadtree: partition space into four quadrants. Check as Empty, Full, or Partially full. Recursively subdivide mostly full districts Saves much time, space more than 2D pixel information!

Slide 56

Quadtree Structure

Slide 57

Octrees Generalize to cutting up a solid shape into 8 sub-3D squares, each of which might be E, F, or P (and subdivided) Much more productive than a 3D exhibit of cells for 3D volumetric information

Slide 58

Quadtree Algorithms How might you render a quadtree shape? discover the crossing point of a beam with a quadtree shape? Take the union of two quadtrees? Crossing point? Discover the neighbors of a cell?

Slide 59

Applications of Octrees Contour finding in MRI information 3D filtering and rendering Efficient beam following Intersection, impact testing

Slide 60

Research in Visibility Can we make sense of ahead of time what will be obvious from every perspective?

Slide 61

Viewer-focused representation Viewer-focused protest representations: representation not of volume of space filled but rather appearance from all perspectives

Slide 62

Occlusion in view space Occlusion in view space is subtraction

Slide 63

Events: limits in perspective space where faces show up or vanish

Slide 64

Aspect Graph Aspect diagram: a chart with a hub for each topologically particular perspective of a question, with edges associating neighboring perspectives

Slide 65

Aspect diagram assortments Aspect charts can be built for 3D: space 2D: various hub turns or planar movements 1D: single-pivot revolutions

Slide 66

1D Aspect Graph for Rotation

Slide 67

1D Aspect Graph Results Useful for revolutions without Z-cradle equipment! Not all that valuable for additional