WEEK 2: 3D Computer GraphicsPart 2 - PowerPoint PPT Presentation

1 / 39
About This Presentation
Title:

WEEK 2: 3D Computer GraphicsPart 2

Description:

... when we throw a stone in the air, it traces out a familiar arc called parabola, ... Fig 2.14 A family of parabolas. amir_at_um.edu.my. Bezier curves ... – PowerPoint PPT presentation

Number of Views:20
Avg rating:3.0/5.0
Slides: 40
Provided by: FSK6
Category:

less

Transcript and Presenter's Notes

Title: WEEK 2: 3D Computer GraphicsPart 2


1
WEEK 2 3D Computer Graphics(Part 2)
2
Modeling curves
  • A wide variety of objects can be modeled from a
    collection of polygons
  • However we need to use other techniques in order
    to model object that have a smooth and continuous
    surface we call it as surface patch, and has
    mathematical basis

3
  • One way to model curve is by creating a chain of
    very short, straight edges, such that they appear
    smooth the drawback with this technique is that
    it uses many edges ? the curve is not really
    smooth
  • In math classes, there is a straight line, called
    as a linear equation
  • This is because a horizontal displacement along
    the line has an associated vertical displacement.
    This feature is called linear, and illustrated in
    Fig 2.13

4
  • The ratio of these displacements (Y1 / X1 and Y2
    / X2) ? defines the slope of the line and
    constant
  • Its also known as first degree equations

5
Y
Y2
X2
Y1
X1
X
Fig 2.13 A straight line is described as linear
because its slope is constant
6
Curves
  • Curves are totally different to a straight line,
    have changing slopes
  • For example when we throw a stone in the air, it
    traces out a familiar arc called parabola, which
    belongs to the quadratic family or curves ?
    called second degree equations
  • A quadratics slope cannot be constant

7
Y
X
Fig 2.14 A family of parabolas
8
Bezier curves
  • Introduced by Pierre Bezier, when working for
    Renault in France
  • The technique is very flexible as it only
    requires the user to fix the end vertices of the
    curve, and uses a separate control vertex (CV) ?
    to shape the quadratic curve
  • Fig 2.15 shows an example, where A and B are the
    end points of the curve and Cv is the CV

9
Y
CV
A
B
X
Fig 2.15 A second degree Bezier curve formed by
three points, A,B and CV
10
  • The useful features of Bezier
  • i) they always exist within the boundary
  • lines connecting A, B and CV
  • ii) the slopes of the curve at A and B are
  • equal to the slopes of the lines A-CV
  • and B-CV respectively
  • Joining a sequence of them together forms longer
    curves Fig 2.16 shows an example where two
    Bezier segments are used to form a continuous
    quadratic curve

11
  • In Fig 2.16, a Bezier curve segment shaped by CV1
    between A and B, and a second segment is shaped
    by CV2 between B and D ? theres no kink at B
    where the two segments meet, because the
    curves slope at B is the slope of the line
    CV1-B, which is equal to slope of the line B-CV2,
    so the two curve segments blend into one

12
Y
CV1
D
B
A
CV2
X
Fig 2.16 A second degree curve formed by two
Bezier curve segments
13
  • Quadratic (second degree) curves only have one
    bend in their shape, but cubic(third degree)
    curves have two, as shown in Fig 2.17

14
Y
X
Fig 2.17 A cubic curve can have two bends
15
Y
B
CV2
CV1
A
X
Fig 2.18 A cubic Bezier curve shaped by two CVs
16
Summary
  • Bezier curves offer a convenient way of forming
    complex curves betweentwo end points using
    control vertex, which pushes and pulls the curve
    into a desired shape
  • The concept of a control vertex is very important
    in computer animation and is often abbreviated to
    CV
  • Slope continuity between curve segments can be
    controlled and prevents any visible kink

17
  • Bezier curves arte typically quadratic (second
    degree) or cubic (third degree), although higher
    degree forms are possible
  • Whenever a CV is m oved, the entire curve shape
    is disturbed
  • Bezier curves can be 2D or 3D

18
NURBS
  • Is an abbreviation for Non-Uniform Rational
    B-Spline
  • NURBS curves are even more effective and
    ubiquitous in the world of computer animation
  • A NURBS curve is similar to a Bezier curve in
    that is formed between two end points, BUT any
    number of CVs can be used to shape the curve

19
Y
B
C2
C7
C3
C1
C4
C6
A
NURB
C5
X
Fig 2.19 Part of a NURBS curve
20
  • Fig 2.19 shows the end points A and B and seven
    CVs, and it also shows part of cubic NURBS curve,
    which has been shaped by local CVs
  • The entire NURBS curve is developed by taking
    succesive overlapping groups of four CVs between
    the two end points

21
  • A further advantage of NURBS is found in the
    weightings associated with the CVs here modeler
    can pull the curve closer to the CV by
    associating a higher numerical weight with the
    CV, which amplifies its influence

22
NUBRS - Advantages
  • Theres no limit to the number of CVs
  • Curve continuity is preserved between segments of
    NURBS
  • Moving a CV affects only the local shape of the
    curve
  • Only the end point and the CVs have to be stored
  • NURBS work in 2D and 3D
  • CVs can be weighted

23
Surface patches
  • When shaping a curve a CV acts like a magnet by
    attracting the curve until overpowered by the
    influence of a neighboring CV
  • This magnetic action of CVs can also be
    simulated mathematically to define a surface, as
    shown in Fig 2.21 ? the Fig shows a 3 x 3 grid of
    CVs

24
  • Refer to Fig 2.21
  • A quadratic Bezier surface patch formed from 9
    CVs
  • Refer to Fig 2.22
  • A qcubic Bezier surface patch formed from 16
    CVs

25
  • Fig 2.21 also shows the curved edges of the
    surface patch, which appear to be draped between
    the four corners and simply by moving any of the
    other CVs, the surface can be pushed and pulled
    into shape
  • In case of a 4 x 4 grid of CVS, there are two CVs
    between two corner CVs, which would form a cubic
    ( third degree) surface patch
  • Fig 2.22 shows such an arrangement where the
    edges of the patch have the undulations
    associated with a cubic curve

26
  • Bezier surface patches can be joined to one
    another to form a complex surface?if a pair of
    adjoining patches share a common edge slope, the
    join will be free of any kinks

27
Procedural modeling
  • Enables us to design automatically certain
    structures
  • For example, say we wanted to model brick wall
    using individual bricks ? obviously, we could
    model this manually but its tedious
  • So here, procedure (algorithm) could be designed
    that given the length and height of the wall, we
    can compute organize the layout of the bricks
    automatically

28
  • Another type of procedural modeling uses
    pseudo-random numbers to control the size of
    triangles in a mesh
  • One problem with such a technique is that theres
    no guarantee that one will like the finished
    result, BUT one could readily design a procedure
    that invented h undreds of examples

29
  • Procedural modeling techniques used to design
    trees, texture surfaces, build clouds, add
    surface clutter, create fractal landscape, etc

30
Perspective view
  • Polygons and surface patches are used to
    represent 3D objects where the objects geometry
    is stored as vertices or CVs
  • Next, we have to derive a perspective view of
    this geometry from some specific position in
    space Here we need to locate the position of a
    virtual camera to view the animated objects

31
  • A virtual camera has a position, viewing
    direction, roll rotation, and field of view its
    position is a 3D point in space (XC, YC, ZC) as
    shown in Fig 2.25
  • The first stage in calculating the perspective
    image is to convert the coordinates of every
    object from the XYZ axes of the World Coordinate
    System ( WCS), to the axial system of the camera

32
  • Once the 3D coordinates of the objects have been
    computed with respect to the Cameras Coordinate
    System (CCS), they are then subjected to a simple
    projection technique to create perspective view,
    and represented as a collection of 2D coordinates
  • This replicates the action of a pin hole camera ?
    thus a solid cube is converted into a flat image,
    as shown in Fig 2.26

33
camera
Fig 2.26 Creating a perspective view of a cube
34
3D clipping
  • Fig 2.27 depicts the cameras coordinate system
    where we see the camera looking along its Z-axis
  • Positioned on the Z-axis are two planes the
    near and far clipping planes ? these delimit the
    zone where objects are visible for example, any
    object in front of the near plane is invisible,
    so too, is any object beyond the far plane.
  • Any object between the near and far planes is
    visible

35
  • The near and far planes are called clipping
    planes geometric techniques are used to clip
    objects that intersect these planes
  • Near clipping plane solves the problem of
    removing objects to near to or behind the camera
  • Far clipping plane removes objects that are too
    far away from the camera, and are not rendered

36
  • Objects outside the field of view of the camera
    are also clipped ? that is above, below, to the
    left and to the right, which are called viewing
    frustum and has the form o a truncated pyramid
    as shown in Fig 2.27

37
Y
camera
X
near plane
far plane
Z
Fig 2.27 The viewing frustum formed by the near
and far clipping planes
38
Coordinate systems
  • The virtual 3D world where everything takes place
    is called the World Coordinate System ( XWCS,
    YWSC, ZWSC)
  • In this world, we place virtual objects, virtual
    lights and the virtual camera
  • To start with, objects are modeled in their own
    Object Coordinate System ( XOCS, YOCS, ZOCS) and
    animated in the world coordinate system by using
    various technique

39
YCCS
  • YOCS

YWCS
camera
XCCS
XOCS
ZCCS
Transform
ZOCS
XWCS
ZWCS
Fig 2.28 The world, camera and object coordinate
systems
Write a Comment
User Comments (0)
About PowerShow.com