1 / 45

Modelling

Modelling. Outline. Modelling methods Editing models – adding detail Polygonal models Representing curves Patched surfaces. Introduction. There are many ways to model objects: none of these are right or wrong Different modelling methods suit different objects and different people

Download Presentation

Modelling

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Modelling

  2. Outline • Modelling methods • Editing models – adding detail • Polygonal models • Representing curves • Patched surfaces

  3. Introduction • There are many ways to model objects: none of these are right or wrong • Different modelling methods suit different objects and different people • Try some or all of these methods to see which suits you and the type of objects that you want to create

  4. Modelling: types of model • Boundary modelling • Polygonal models • Extrusions and surfaces of revolution • Patches • Procedural modelling • Fractals • Implicit surfaces • Volumetric models • Constructive Solid Geometry (CSG) (which you’ve already seen) • Spatial subdivision

  5. Editing models • Adding detail • Adding/merging/deleting points • Booleans • Transformations • Scales

  6. Polygonal models • As we’ve seen many computer models are made up of polygons, which in turn are made up of points, which are made up of 3 coordinates, x, y and z • Polygons can have any number of sides >= 3 • When we model we should remember certain important points…

  7. Polygons (cont) • When a computer renders our model it needs to know the angle of the surface to the light and the viewer • To do this it needs to calculate the normal to the surface, the vector that represents the direction that the surface is facing • This can be easy or hard depending on the nature of the polygon…

  8. Polygons (cont) • Consider a four-sided polygon: • To calculate the normal, we can take the cross-productof two vectors representing two of the sides • This works because all the points in this example are coplanar: we would get the same normal from any two sides • But what if we raise one vertex?

  9. Polygons (cont) • How do we calculate the normal now thatwe no longer have straight edges? • We can’t since the surface doesn’t point in one direction any more • This can cause major problems for renderers • Solution is to only use triangles, or be certain that your polygons are coplanar

  10. Polygons (cont) • The normal also defines the side of the polygon that is visible: it is invisible from the other side • This is because is has no thickness: i.e. a single polygon could not really exist in the real world • We can cheat and use double sided polygons, i.e. they have a normal pointing out of both sides of them • This is generally bad practice and the mark of poor modelling! • Always think of how the object will be animated when at the modelling stage

  11. Polygons (cont) • Another advantage of triangles is that they must be convex • This makes it easier to render again as the computer can calculate the inside and outside areas of the polygon.

  12. Starting from primitives • Basic building blocks of many complex shapes are the primitives • These can be used to directly construct the shape • They can also be used as a cage for curved surface modelling

  13. Adding detail to primitives • You can use other primitives to add or remove parts of your model (booleans) • You can directly add or remove (or merge) points • You can cut out areas using drills or stencils • You can slice through faces using a knife

  14. Starting from points • Use Create Polygon Tool to draw polygons one by one • Very time consuming but gives ultimate control • Final model is very efficient (i.e. no wasted points)

  15. Example: making a laptop • Start from a primitive:

  16. Modify the primitives • Bevel the edges:

  17. Modify the primitives • Boolean subtract

  18. Change some surfaces

  19. Add some detail • Boolean and bevel

  20. Add some more detail

  21. Create a hierarchy & animate

  22. Why use anything else besides polygons? • Need to represent curves: very few objects that we need to model have straight edges • In most modelling programs the final model is approximated with polygons • Curves can be 2D or 3D • There are many ways we can represent curves…

  23. Curve representation • Line segments (polyline) • Simple set of points • Awkward to edit • Large number of points needed • Never truly smooth • Splines • Control points affect regions of curve • Easy to reshape • Truly curved • Compact and efficient to store • Actual curve is a mathematical representation • Usually cubic splines

  24. Splines • Control points can affect curve in different ways • Two main categories • Interpolating spline • Approximating spline

  25. Interpolating splines • Curve passes through control points • Easy to place curve precisely • Difficult to make completely smooth • E.g. Cardinal spline • Passes through all but first and last control point

  26. Interpolating splines • Irregularly placed control points destroys continuity

  27. Approximating splines • Curves passes near control points • E.g. Bézier curves, B-Splines (‘Basis’ Splines) and NURBS (Non-Uniform Rational B-Splines)

  28. Bézier curves • Four control points on minimal curve • Uses tangent vectors to control curvature

  29. Bézier curves (2) • Equation defines the points on the curve:

  30. Bézier curves (3) • Features: • Tangent at each end is equal to straight line connecting the end point to the control point • Moving a control point changes the entire curve to the next control point • Curve does not pass through control points • Convex hull created by connecting the controlpoints contains the curve • Distribution of points along curve is not uniform

  31. Béziercurves (4) • Editing Bézier curves

  32. Bézier curves (5) • Breaking the pair of tangent vectors

  33. B-Splines • Generalisation of Bézier curve • Curve doesn’t extend to first and last control points • Control points only influence local part of curve

  34. NURBS • Non-Uniform Rational B-Splines • Curve passes through first and last control points but not intermediate ones • Has ‘knots’ on the curve which can be moved as well as normal control points • Combines best features of interpolating and approximating splines

  35. NURBS (2)

  36. Features of curves • All curves have a start and an end. This means we can define points on the curve as t along curve from start. • A parameter defines how far along the curve the point is, so these are called parameterised curves • Can be used to define curved surfaces by moving the curve through space • Moving the spline along a path defined by a second spline creates a patch (or more accurately a bicubic patch if both splines are bicubic curves) • Type of patch depends on type of splines used to create it (e.g. a B-spline patch or Bézier patch) • This creates a network of control points, each of which can be moved individually

  37. Curves in Maya: CV (control vertex)

  38. Curves in Maya: EP (edit point)

  39. Patched surfaces • Patched surfaces are networks of polygons in a regular array • The position of the polygons depends on a number of control points for the defining curves

  40. Subdivision surfaces

  41. Summary • Discussed modelling techniques • Looked at a simple example • Introduced curve representations

  42. Cross-product • Given two vectors, A and B, the cross product is defined as:A  B = Cwhere C is another vector calculated by:C = ( ya zb – yb za , za xb – zb xa , xa yb – xb ya ) • The length of C is given by:|C| = |A||B|sin( )where  is the angle between A and B Back…

More Related