Representing 3D objects - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

Representing 3D objects

Description:

previously have looked at representing 2D images. bitmap and ... torus. cylinder. September 2006. c.l.french_at_staffs.ac.uk. 16. Constructive solid geometry ... – PowerPoint PPT presentation

Number of Views:1271
Avg rating:3.0/5.0
Slides: 26
Provided by: socSta
Category:

less

Transcript and Presenter's Notes

Title: Representing 3D objects


1
Representing 3D objects
  • 3D coordinate systems
  • Polygons and curved patches
  • Methods for generating 3D models

2
Introduction
  • previously have looked at representing 2D images
  • bitmap and Vector representation
  • how can we represent 3D objects?
  • rare to use 3D equivalent of pixels
  • voxels colour of each point in 3D space
  • normally Vector representation
  • can't display directly
  • need to convert to a 2D image
  • shows 3D model from a particular viewpoint

3
Representing 3D objects
4
Representation of 3D objects
  • object representated by set of vertices (points
    in 3D space)
  • apply colour or texture (image)
  • each vertex maps into particular position on
    texture

tiger.x Microsoft DirectX samples
5
Representing points in 3D space
  • need the x, y and z coordinate of each point
  • (x, y, z)
  • we are familiar with the x, y coordinate system
    from 2D geometry
  • z axis is perpendicular to the other two axes
  • but which way does it go?
  • there are two possibilities
  • the right-handed and left-handed systems

6
  • Right-handed 3D coordinates
  • the positive z axis comes out of the
    screen/paper

7
  • Left-handed 3D coordinates
  • the positive z axis goes into the screen/paper

8
Right and left handed systems
  • grasp the z-axis with the relevant hand
  • curl your fingers from the positive x-axis to the
    positive y-axis
  • your thumb will point in the positive z-direction
  • or, point your thumb along the positive x-axis
  • point your index finger along the positive y-axis
  • the rest of your fingers will point in the
    positive z-direction
  • why does it matter?
  • models created in the two systems are mirror
    images of each other
  • and can never be superimposed no matter how they
    are rotated
  • just like your hands
  • and many biologically active molecules

9
Polygonal mesh
  • vertices connected by edges to make flat polygons
  • best representation for rendering
  • converting to 2D image
  • triangles
  • guaranteed to be flat
  • or quadrilaterals
  • less edges
  • need to make sure vertices are coplanar

10
Curved patches
  • shape defined by control points
  • 3-D equivalent of Bezier or other curve
  • edges of patch defined by 2D curve
  • smoother than polygon representation
  • few points needed
  • more intuitive to modify (sculpt)
  • usually converted to polygons for rendering

11
How can we define the vertices?
  • generate from existing solid objects
  • start with real 3D object, find and record
    suitable vertices and edges
  • build up from 3D primitives
  • build up from 2D curves

12
Generating vertices from an existing solid object
  • define by hand
  • tedious
  • difficult to visualise in 3D
  • The Utah teapot
  • a early and widely-used model
  • 1975
  • 110 vertices
  • generated by Martin Newell using graph paper,
    pencil and a teapot
  • edited control points for Bezier patches by hand
  • see "A Brief History of the Utah Teapot"
  • http//www.sjbaker.org/teapot/

13
Generating vertices from an existing solid object
  • 3D digitiser
  • manually position and click
  • can use more vertices where more detail is needs
  • 3D laser ranger
  • automatically scan at set resolution (slices)

14
Geometric primitives
  • can be specified mathematically
  • need only to define a few attributes
  • can calculate position of vertices
  • to any desired resolution
  • cube
  • width
  • width, height, depth of cuboid
  • sphere
  • radius
  • x2 y2 z2 r2

cube
sphere
15
Geometric primitives
torus
cylinder
cone
16
Constructive solid geometry
  • combine primitive objects using boolean
    operations
  • union
  • intersection
  • difference

17
Revolving curves to create a surface
  • define curve in 2D
  • Bezier curve or NURB
  • rotate to get 3D shape

18
Lofting and sweeping
  • lofting
  • define a series of 2D profile curves
  • stack them up to define contours of surface
  • sweeping
  • sweep a 2D shape along a line
  • to define cylinder
  • shape determines cross section
  • sweep along a curve to get a twisted cylinder

19
3D modelling tools
  • Maya
  • http//usa.autodesk.com/adsk/servlet/index?siteID
    123112id7639525
  • 3DS Max
  • http//usa.autodesk.com/adsk/servlet/index?id5659
    302siteID123112
  • Lightwave 3D
  • http//www.newtek.com/lightwave/
  • MilkShape3D
  • http//www.swissquake.ch/chumbalum-soft/index.html

20
Using a 3D modelling tool
  • start with one of the previous techniques
  • geometric primitive
  • combine using boolean operations
  • or revolving, lofting or sweeping 2D curves
  • then edit to produce desired model
  • scale, rotate, translate
  • move vertex positions
  • define extra vertices and polygons for more
    control
  • duplicate vertices so they can be moved apart
  • extrude faces
  • sculpt NURBS models by moving control points

21
Polygonal modelling with Maya
22
Polygonal modelling with Maya
23
NURBs modelling with Maya
  • start with simple NURBs surface (patches)
  • move control points to sculpt

24
What makes a good model?
  • more vertices finer detail
  • but more space to store
  • more time to render (important for games)
  • some areas need more detail
  • face
  • near joints to allow movement
  • other places can get away with less
  • inside
  • facing away from viewer
  • less important objects

25
Further work
  • Kerlow
  • Chapter 4 "Basic Modelling Techniques"
  • Hearn and Baker
  • Chapter 8 "Three-Dimensional Object
    Representations "
  • Tutorial
  • Begin polygonal modelling with Maya
  • Temple example
Write a Comment
User Comments (0)
About PowerShow.com