SlideShare a Scribd company logo
1 of 45
Download to read offline
Curves and Surface

Alzaiem Alazhari University
College of computer Science and Information Technology
Chapter 10 – Advanced Computer Graphics




1
Curves and Surface
       The world around us is full of objects of remarkable
        shapes.

        Nevertheless, in computer graphics, we continue to
        populate our virtual worlds with flat objects.

       We have a good reason for such persistence.

        Graphics systems can render flat three-dimensional
        polygons at high rates, including doing hidden-surface
        removal, shading, and texture mapping..

    2
Curves and Surface
       We introduce three ways to model curves and
        surfaces, paying most attention to the parametric
        polynomial forms.

       We also discuss how curves and surfaces can be
        rendered on current graphics systems, a process
        that usually involves subdividing the curved
        objects into collections of flat primitives.




    3
4
REPRESENTATION OF CURVES AND SURFACES
       Explicit Representation
         The explicit form of a curve in two dimensions
         gives the value of one variable,
         the dependent variable,
         in terms of the other,
         the independent variable.
         In x, y space, we might write y = f (x).
         a surface represented by an equation of the
          form z = f (x, y)


    5
REPRESENTATION OF CURVES AND SURFACES
       Implicit Representations
            In two dimensions, an implicit curve can be represented
            by the equation f (x, y) = 0
           The implicit form is less coordinate-system dependent
            than is the explicit form.
           In three dimensions, the implicit form f (x, y, z) = 0
           Curves in three dimensions are not as easily
            represented in implicit form.
           We can represent a curve as the intersection, if it
            exists, of the two surfaces: f (x, y, z) = 0, g(x, y, z) = 0.



    6
REPRESENTATION OF CURVES AND SURFACES
       Parametric Form
           The parametric form of a curve expresses the value of each spatial
            variable for points on the curve in terms of an independent variable, u, the
            parameter. In three dimensions, we have three explicit functions:
            x = x(u) , y = y(u) , z = z(u).

           One of the advantages of the parametric form is that it is the same in two
            and three dimensions. In the former case, we simply drop the equation for
            z.
           Parametric surfaces require two parameters. We can describe a surface
            by three equations of the form : x = x(u, v) , y = y(u, v) , z = z(u, v),




    7
8
DESIGN CRITERIA
       There are many considerations that determine why
        we prefer to use parametric polynomials of low
        degree, including:
         Local control of shape
         Smoothness and continuity
         Ability to evaluate derivatives
         Stability
         Ease of rendering




    9
CROSSE SECTION




Approximation of cross-section curve   Derivative discontinuity at join point
10
PARAMETRIC CUBIC POLYNOMIAL CURVES
    Once we have decided to use parametric polynomial
     curves, we must choose the degree of the curve.

    if we choose a high degree, we will have many
     parameters that we can set to form the desired shape,
     but evaluation of points on the curve will be costly.

    In addition, as the degree of a polynomial curve becomes
     higher, there is more danger that the curve will become
     rougher.
    On the other hand, if we pick too low a degree, we may
     not have enough parameters with which to work.
    11
PARAMETRIC CUBIC POLYNOMIAL CURVES
    However, if we design each curve segment over a short
     interval, we can achieve many of our purposes with low-
     degree curves.
     Although there may be only a few degrees of freedom
     these few may be sufficient to allow us to produce the
     desired shape in a small region. For this reason, most
     designers, at least initially, work with cubic polynomial
     curves




    12
Cubic interpolating polynomial
•    First example of a cubic parametric polynomial.
•    Although we rarely used
•    Illustrates the steps we must follow for our other types .




    13
Interpolating Curve

•    Given 4 control points P0, P1, P2, P3
•    Space 0 <= u <= 1 evenly
•    P0 = P(0), P1 = P(1/3), P2 = P(2/3), P3 = P(1)




    14
Interpolation Equations



    Apply the interpolating conditions at u=0, 1/3, 2/3, 1




    15
Interpolation Equations
    We can write these equations in matrix form as




    16
Interpolation Matrix
    Solving for c we find the interpolation matrix




    17
Blending Functions
    Rewriting the equation for p(u) .




    18
The Cubic Interpolating Patch
    Shows that we can build and analyze surfaces from our
     knowledge of curves




    19
HERMITE CURVES AND SURFACES
    Another cubic polynomial curve
    Specify two endpoints and their tangents




    20
The Hermite Form

    As Before



    Calculate derivative



    Yields




    21
Bezier Curves
    Widely used in computer graphics
    Approximate tangents by using control points




    22
Analysis Bezier form

    Is much better than the interpolating form
    But the derivatives are not continuous at join points




    What shall we do to solve this ?

    23
B-Splines
    Basis Splines
    Allows us to apply more continuity
    the curve must lie in the convex hull of the control points




    24
Spline Surfaces
    B-spline surfaces can be defined in a similar way




    25
GENERAL B-SPLINES
    We can extend to splines of any degree
    Data and conditions to not have to given at equally
     spaced values (the knots)
        Nonuniform and uniform splines
        Can have repeated knots
    Cox-deBoor recursion gives method of evaluation




    26
NURBS
    Nonuniform Rational B-Spline curves and surfaces add a
     fourth variable w to x,y,z
        Can interpret as weight to give more importance to some
         control data
        Can also interpret as moving to homogeneous coordinate
    Requires a perspective division
        NURBS act correctly for perspective viewing
    Quadrics are a special case of NURBS




    27
Rendering Curves and Surfaces
    Introduce methods to draw curves
    For explicit and parametric: we can evaluate the curve or
     surface at a sufficient number of points that we can
     approximate it with our standard flat objects
    For implicit surfaces: we can compute points on the
     object that are the intersection of rays from the center of
     projection through pixels with the object




    28
Evaluating Polynomials
    Simplest method to render a polynomial curve is to
     evaluate the polynomial at many points and form an
     approximating polyline
    For surfaces we can form an approximating mesh of
     triangles or quadrilaterals
    Use Horner’s method to evaluate polynomials
         p(u)=c0+u(c1+u(c2+uc3))




    29
Recursive Subdivision of Be´zier Polynomials
    The most elegant rendering method performs
    based on the use of the convex hull ‫الهياكل المحدبة‬
    never requires explicit evaluation of the polynomial ‫ال يتطلب‬
     ‫عرض واضح لكثيرة الحدود‬




    30
THE UTAH TEAPOT
    Most famous data set in computer graphics
     Widely available as a list of 306 3D vertices and the
     indices that define 32 Bezier patches




    31
THE UTAH TEAPOT - con
    We can shows the teapot as a wireframe and with
     constant shading




    32
ALGEBRAIC SURFACES - Quadrics
    Although quadrics can be generated as special case of
     NURBS curves
    Quadrics are described by implicit algebraic equations
    Quadric can be written in the form :




    33
Quadrics
    This class of surfaces includes ellipsoids, parabaloids, and
     hyperboloids
    We can write the general equation




    34
Rendering of Surfaces by Ray Casting
    Quadrics are easy to render
    we can find the intersection of a quadric with a ray by
     solving a scalar quadratic equation
    We represent the ray from p0 in the direction d
     parametrically as



    scalar equation for α:




    35
SUBDIVISION CURVES AND SURFACES




36
Mesh Subdivision
    A theory of subdivision surfaces has emerged that
     deals with both the theoretical and practical aspects of
     these ideas.
    We have two type of meshes:
        triangles meshes.
        quadrilaterals meshes.




    37
38
Meshes methods
    Catmull Clark method: use to form a quadrilateral mesh.
    produces a smoother surface
    This method tends to move edge vertices at corners
     more than other outer vertices.




    39
40
2- Loop subdivision method:-




 41
42
43
Seminar Team:
    Theoretical :
        Mawada Sayed Mohammed Mohammed
        Mohammed Mahmoud Ibrahim Musa
        Hams Ibrahim Mohammed Idris
        Abdallah Ahmed Modawi Mohammed
        Ethar Abasher Musa Hamad


    Practical :
        Mujahid Ahmed Mohammed Babeker
        Eltayb Babeker Mohammed Ahmed
        Salah Eldeen Mohammed Ismail Ibrahim




    44
Any Questions ?



45

More Related Content

What's hot

Chapter 3 Output Primitives
Chapter 3 Output PrimitivesChapter 3 Output Primitives
Chapter 3 Output PrimitivesPrathimaBaliga
 
Circle drawing algo.
Circle drawing algo.Circle drawing algo.
Circle drawing algo.Mohd Arif
 
Hidden surface removal
Hidden surface removalHidden surface removal
Hidden surface removalPunyajoy Saha
 
Computer graphics basic transformation
Computer graphics basic transformationComputer graphics basic transformation
Computer graphics basic transformationSelvakumar Gna
 
Character generation techniques
Character generation techniquesCharacter generation techniques
Character generation techniquesMani Kanth
 
Computer graphics - bresenham line drawing algorithm
Computer graphics - bresenham line drawing algorithmComputer graphics - bresenham line drawing algorithm
Computer graphics - bresenham line drawing algorithmRuchi Maurya
 
3d transformation computer graphics
3d transformation computer graphics 3d transformation computer graphics
3d transformation computer graphics University of Potsdam
 
Unit 3
Unit 3Unit 3
Unit 3ypnrao
 
Bezeir curve na B spline Curve
Bezeir curve na B spline CurveBezeir curve na B spline Curve
Bezeir curve na B spline CurvePooja Dixit
 
HOMOGENEOUS CO-ORDINATES IN COMPUTER GRAPHICS PPT
HOMOGENEOUS CO-ORDINATES IN COMPUTER GRAPHICS PPTHOMOGENEOUS CO-ORDINATES IN COMPUTER GRAPHICS PPT
HOMOGENEOUS CO-ORDINATES IN COMPUTER GRAPHICS PPTAhtesham Ullah khan
 
3D transformation in computer graphics
3D transformation in computer graphics3D transformation in computer graphics
3D transformation in computer graphicsSHIVANI SONI
 

What's hot (20)

Chapter 3 Output Primitives
Chapter 3 Output PrimitivesChapter 3 Output Primitives
Chapter 3 Output Primitives
 
Circle drawing algo.
Circle drawing algo.Circle drawing algo.
Circle drawing algo.
 
Bezier curve computer graphics
Bezier curve computer graphics Bezier curve computer graphics
Bezier curve computer graphics
 
Hidden surface removal
Hidden surface removalHidden surface removal
Hidden surface removal
 
Computer graphics
Computer graphicsComputer graphics
Computer graphics
 
Three dimensional concepts - Computer Graphics
Three dimensional concepts - Computer GraphicsThree dimensional concepts - Computer Graphics
Three dimensional concepts - Computer Graphics
 
Shading
ShadingShading
Shading
 
Computer graphics basic transformation
Computer graphics basic transformationComputer graphics basic transformation
Computer graphics basic transformation
 
Character generation techniques
Character generation techniquesCharacter generation techniques
Character generation techniques
 
Computer graphics - bresenham line drawing algorithm
Computer graphics - bresenham line drawing algorithmComputer graphics - bresenham line drawing algorithm
Computer graphics - bresenham line drawing algorithm
 
Clipping
ClippingClipping
Clipping
 
3d transformation computer graphics
3d transformation computer graphics 3d transformation computer graphics
3d transformation computer graphics
 
Clipping
ClippingClipping
Clipping
 
Unit 3
Unit 3Unit 3
Unit 3
 
Bezeir curve na B spline Curve
Bezeir curve na B spline CurveBezeir curve na B spline Curve
Bezeir curve na B spline Curve
 
Frame buffer
Frame bufferFrame buffer
Frame buffer
 
Depth Buffer Method
Depth Buffer MethodDepth Buffer Method
Depth Buffer Method
 
HOMOGENEOUS CO-ORDINATES IN COMPUTER GRAPHICS PPT
HOMOGENEOUS CO-ORDINATES IN COMPUTER GRAPHICS PPTHOMOGENEOUS CO-ORDINATES IN COMPUTER GRAPHICS PPT
HOMOGENEOUS CO-ORDINATES IN COMPUTER GRAPHICS PPT
 
3D transformation in computer graphics
3D transformation in computer graphics3D transformation in computer graphics
3D transformation in computer graphics
 
BRESENHAM’S LINE DRAWING ALGORITHM
BRESENHAM’S  LINE DRAWING ALGORITHMBRESENHAM’S  LINE DRAWING ALGORITHM
BRESENHAM’S LINE DRAWING ALGORITHM
 

Viewers also liked

Curves And Surfaces Representation And Application
Curves And Surfaces Representation And ApplicationCurves And Surfaces Representation And Application
Curves And Surfaces Representation And ApplicationDiaa ElKott
 
Engineering garphics section and development
Engineering garphics   section and developmentEngineering garphics   section and development
Engineering garphics section and developmentPranav Kulshrestha
 
Presentation on bezier curve
Presentation on bezier curvePresentation on bezier curve
Presentation on bezier curveSatyendra Rajput
 
Windows to viewport transformation
Windows to viewport transformationWindows to viewport transformation
Windows to viewport transformationPrashant Singh
 
Coons bicubic surface
Coons bicubic surfaceCoons bicubic surface
Coons bicubic surfaceramac123
 
Surface representation
Surface representationSurface representation
Surface representationSunith Guraddi
 
Hermite bicubic-surface-patch
Hermite bicubic-surface-patchHermite bicubic-surface-patch
Hermite bicubic-surface-patchRohit Gothwal
 
Window to viewport transformation
Window to viewport transformationWindow to viewport transformation
Window to viewport transformationAnkit Garg
 
Cellular manufacturing and group technology
Cellular manufacturing and group technologyCellular manufacturing and group technology
Cellular manufacturing and group technologyHitendrasinh Zala
 
FLEXIBLE MANUFACTURING SYSTEM
FLEXIBLE MANUFACTURING SYSTEMFLEXIBLE MANUFACTURING SYSTEM
FLEXIBLE MANUFACTURING SYSTEMAnand Khare
 
Concurrent Engineering
Concurrent EngineeringConcurrent Engineering
Concurrent Engineeringajithsrc
 

Viewers also liked (17)

Curves And Surfaces Representation And Application
Curves And Surfaces Representation And ApplicationCurves And Surfaces Representation And Application
Curves And Surfaces Representation And Application
 
Engineering garphics section and development
Engineering garphics   section and developmentEngineering garphics   section and development
Engineering garphics section and development
 
Curves
CurvesCurves
Curves
 
Geometric model & curve
Geometric model & curveGeometric model & curve
Geometric model & curve
 
Presentation on bezier curve
Presentation on bezier curvePresentation on bezier curve
Presentation on bezier curve
 
Windows to viewport transformation
Windows to viewport transformationWindows to viewport transformation
Windows to viewport transformation
 
Coons bicubic surface
Coons bicubic surfaceCoons bicubic surface
Coons bicubic surface
 
Surface representation
Surface representationSurface representation
Surface representation
 
Hermite bicubic-surface-patch
Hermite bicubic-surface-patchHermite bicubic-surface-patch
Hermite bicubic-surface-patch
 
Windows and viewport
Windows and viewportWindows and viewport
Windows and viewport
 
Window to viewport transformation
Window to viewport transformationWindow to viewport transformation
Window to viewport transformation
 
B spline
B splineB spline
B spline
 
Group Technology
Group TechnologyGroup Technology
Group Technology
 
Cellular manufacturing and group technology
Cellular manufacturing and group technologyCellular manufacturing and group technology
Cellular manufacturing and group technology
 
FLEXIBLE MANUFACTURING SYSTEM
FLEXIBLE MANUFACTURING SYSTEMFLEXIBLE MANUFACTURING SYSTEM
FLEXIBLE MANUFACTURING SYSTEM
 
Concurrent Engineering
Concurrent EngineeringConcurrent Engineering
Concurrent Engineering
 
Concurrent Engineering
Concurrent EngineeringConcurrent Engineering
Concurrent Engineering
 

Similar to Curves and surfaces

Implicit Interpolation Analytical Curves
Implicit Interpolation Analytical CurvesImplicit Interpolation Analytical Curves
Implicit Interpolation Analytical CurvesSharath Kumar
 
UNIT II GEOMETRIC MODELING (COMPUTER AIDED DESIGN AND MANUFACTURING )
UNIT II GEOMETRIC MODELING (COMPUTER AIDED DESIGN AND MANUFACTURING )UNIT II GEOMETRIC MODELING (COMPUTER AIDED DESIGN AND MANUFACTURING )
UNIT II GEOMETRIC MODELING (COMPUTER AIDED DESIGN AND MANUFACTURING )ravis205084
 
Unit 2-ME8691 & COMPUTER AIDED DESIGN AND MANUFACTURING
Unit 2-ME8691 & COMPUTER AIDED DESIGN AND    MANUFACTURINGUnit 2-ME8691 & COMPUTER AIDED DESIGN AND    MANUFACTURING
Unit 2-ME8691 & COMPUTER AIDED DESIGN AND MANUFACTURINGMohanumar S
 
Synthetic Curves.pdf
Synthetic Curves.pdfSynthetic Curves.pdf
Synthetic Curves.pdfMehulMunshi3
 
UNIT 2-Geometric Modeling.pptx
UNIT 2-Geometric Modeling.pptxUNIT 2-Geometric Modeling.pptx
UNIT 2-Geometric Modeling.pptxdinesh babu
 
Cs8092 computer graphics and multimedia unit 3
Cs8092 computer graphics and multimedia unit 3Cs8092 computer graphics and multimedia unit 3
Cs8092 computer graphics and multimedia unit 3SIMONTHOMAS S
 
Geomentric Modelling
Geomentric Modelling Geomentric Modelling
Geomentric Modelling Muthukumar V
 
Image segmentation
Image segmentationImage segmentation
Image segmentationRania H
 
UNIT 2 GEOMETRIC MODELING.pptx
UNIT 2  GEOMETRIC MODELING.pptxUNIT 2  GEOMETRIC MODELING.pptx
UNIT 2 GEOMETRIC MODELING.pptxCHINNARASUK
 
57892883 geometric-modeling
57892883 geometric-modeling57892883 geometric-modeling
57892883 geometric-modelingmanojg1990
 
57892883 geometric-modeling
57892883 geometric-modeling57892883 geometric-modeling
57892883 geometric-modelingmanojg1990
 
ResearchPaper
ResearchPaperResearchPaper
ResearchPaperIan Bloom
 
Techniques for Geometric Modelling
Techniques for Geometric ModellingTechniques for Geometric Modelling
Techniques for Geometric ModellingNafis Ahmad
 
Beginning direct3d gameprogrammingmath01_primer_20160324_jintaeks
Beginning direct3d gameprogrammingmath01_primer_20160324_jintaeksBeginning direct3d gameprogrammingmath01_primer_20160324_jintaeks
Beginning direct3d gameprogrammingmath01_primer_20160324_jintaeksJinTaek Seo
 
Surface models
Surface modelsSurface models
Surface modelsnmahi96
 
1st trimester exam coverage
1st trimester exam coverage1st trimester exam coverage
1st trimester exam coverageReymund Gonowon
 

Similar to Curves and surfaces (20)

Implicit Interpolation Analytical Curves
Implicit Interpolation Analytical CurvesImplicit Interpolation Analytical Curves
Implicit Interpolation Analytical Curves
 
Curves
CurvesCurves
Curves
 
UNIT II GEOMETRIC MODELING (COMPUTER AIDED DESIGN AND MANUFACTURING )
UNIT II GEOMETRIC MODELING (COMPUTER AIDED DESIGN AND MANUFACTURING )UNIT II GEOMETRIC MODELING (COMPUTER AIDED DESIGN AND MANUFACTURING )
UNIT II GEOMETRIC MODELING (COMPUTER AIDED DESIGN AND MANUFACTURING )
 
CAD
CADCAD
CAD
 
Unit 2-ME8691 & COMPUTER AIDED DESIGN AND MANUFACTURING
Unit 2-ME8691 & COMPUTER AIDED DESIGN AND    MANUFACTURINGUnit 2-ME8691 & COMPUTER AIDED DESIGN AND    MANUFACTURING
Unit 2-ME8691 & COMPUTER AIDED DESIGN AND MANUFACTURING
 
Synthetic Curves.pdf
Synthetic Curves.pdfSynthetic Curves.pdf
Synthetic Curves.pdf
 
UNIT 2-Geometric Modeling.pptx
UNIT 2-Geometric Modeling.pptxUNIT 2-Geometric Modeling.pptx
UNIT 2-Geometric Modeling.pptx
 
Cs8092 computer graphics and multimedia unit 3
Cs8092 computer graphics and multimedia unit 3Cs8092 computer graphics and multimedia unit 3
Cs8092 computer graphics and multimedia unit 3
 
Geometric modeling
Geometric modelingGeometric modeling
Geometric modeling
 
Geomentric Modelling
Geomentric Modelling Geomentric Modelling
Geomentric Modelling
 
Image segmentation
Image segmentationImage segmentation
Image segmentation
 
UNIT 2 GEOMETRIC MODELING.pptx
UNIT 2  GEOMETRIC MODELING.pptxUNIT 2  GEOMETRIC MODELING.pptx
UNIT 2 GEOMETRIC MODELING.pptx
 
57892883 geometric-modeling
57892883 geometric-modeling57892883 geometric-modeling
57892883 geometric-modeling
 
57892883 geometric-modeling
57892883 geometric-modeling57892883 geometric-modeling
57892883 geometric-modeling
 
ResearchPaper
ResearchPaperResearchPaper
ResearchPaper
 
Techniques for Geometric Modelling
Techniques for Geometric ModellingTechniques for Geometric Modelling
Techniques for Geometric Modelling
 
NCIT civil Syllabus 2013-2014
NCIT civil Syllabus 2013-2014NCIT civil Syllabus 2013-2014
NCIT civil Syllabus 2013-2014
 
Beginning direct3d gameprogrammingmath01_primer_20160324_jintaeks
Beginning direct3d gameprogrammingmath01_primer_20160324_jintaeksBeginning direct3d gameprogrammingmath01_primer_20160324_jintaeks
Beginning direct3d gameprogrammingmath01_primer_20160324_jintaeks
 
Surface models
Surface modelsSurface models
Surface models
 
1st trimester exam coverage
1st trimester exam coverage1st trimester exam coverage
1st trimester exam coverage
 

Recently uploaded

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 

Curves and surfaces

  • 1. Curves and Surface Alzaiem Alazhari University College of computer Science and Information Technology Chapter 10 – Advanced Computer Graphics 1
  • 2. Curves and Surface  The world around us is full of objects of remarkable shapes.  Nevertheless, in computer graphics, we continue to populate our virtual worlds with flat objects.  We have a good reason for such persistence.  Graphics systems can render flat three-dimensional polygons at high rates, including doing hidden-surface removal, shading, and texture mapping.. 2
  • 3. Curves and Surface  We introduce three ways to model curves and surfaces, paying most attention to the parametric polynomial forms.  We also discuss how curves and surfaces can be rendered on current graphics systems, a process that usually involves subdividing the curved objects into collections of flat primitives. 3
  • 4. 4
  • 5. REPRESENTATION OF CURVES AND SURFACES  Explicit Representation  The explicit form of a curve in two dimensions  gives the value of one variable,  the dependent variable,  in terms of the other,  the independent variable.  In x, y space, we might write y = f (x).  a surface represented by an equation of the form z = f (x, y) 5
  • 6. REPRESENTATION OF CURVES AND SURFACES  Implicit Representations In two dimensions, an implicit curve can be represented by the equation f (x, y) = 0  The implicit form is less coordinate-system dependent than is the explicit form.  In three dimensions, the implicit form f (x, y, z) = 0  Curves in three dimensions are not as easily represented in implicit form.  We can represent a curve as the intersection, if it exists, of the two surfaces: f (x, y, z) = 0, g(x, y, z) = 0. 6
  • 7. REPRESENTATION OF CURVES AND SURFACES  Parametric Form  The parametric form of a curve expresses the value of each spatial variable for points on the curve in terms of an independent variable, u, the parameter. In three dimensions, we have three explicit functions: x = x(u) , y = y(u) , z = z(u).  One of the advantages of the parametric form is that it is the same in two and three dimensions. In the former case, we simply drop the equation for z.  Parametric surfaces require two parameters. We can describe a surface by three equations of the form : x = x(u, v) , y = y(u, v) , z = z(u, v), 7
  • 8. 8
  • 9. DESIGN CRITERIA  There are many considerations that determine why we prefer to use parametric polynomials of low degree, including:  Local control of shape  Smoothness and continuity  Ability to evaluate derivatives  Stability  Ease of rendering 9
  • 10. CROSSE SECTION Approximation of cross-section curve Derivative discontinuity at join point 10
  • 11. PARAMETRIC CUBIC POLYNOMIAL CURVES  Once we have decided to use parametric polynomial curves, we must choose the degree of the curve.   if we choose a high degree, we will have many parameters that we can set to form the desired shape, but evaluation of points on the curve will be costly.  In addition, as the degree of a polynomial curve becomes higher, there is more danger that the curve will become rougher.  On the other hand, if we pick too low a degree, we may not have enough parameters with which to work. 11
  • 12. PARAMETRIC CUBIC POLYNOMIAL CURVES  However, if we design each curve segment over a short interval, we can achieve many of our purposes with low- degree curves.  Although there may be only a few degrees of freedom these few may be sufficient to allow us to produce the desired shape in a small region. For this reason, most designers, at least initially, work with cubic polynomial curves 12
  • 13. Cubic interpolating polynomial • First example of a cubic parametric polynomial. • Although we rarely used • Illustrates the steps we must follow for our other types . 13
  • 14. Interpolating Curve • Given 4 control points P0, P1, P2, P3 • Space 0 <= u <= 1 evenly • P0 = P(0), P1 = P(1/3), P2 = P(2/3), P3 = P(1) 14
  • 15. Interpolation Equations  Apply the interpolating conditions at u=0, 1/3, 2/3, 1 15
  • 16. Interpolation Equations  We can write these equations in matrix form as 16
  • 17. Interpolation Matrix  Solving for c we find the interpolation matrix 17
  • 18. Blending Functions  Rewriting the equation for p(u) . 18
  • 19. The Cubic Interpolating Patch  Shows that we can build and analyze surfaces from our knowledge of curves 19
  • 20. HERMITE CURVES AND SURFACES  Another cubic polynomial curve  Specify two endpoints and their tangents 20
  • 21. The Hermite Form  As Before  Calculate derivative  Yields 21
  • 22. Bezier Curves  Widely used in computer graphics  Approximate tangents by using control points 22
  • 23. Analysis Bezier form  Is much better than the interpolating form  But the derivatives are not continuous at join points  What shall we do to solve this ? 23
  • 24. B-Splines  Basis Splines  Allows us to apply more continuity  the curve must lie in the convex hull of the control points 24
  • 25. Spline Surfaces  B-spline surfaces can be defined in a similar way 25
  • 26. GENERAL B-SPLINES  We can extend to splines of any degree  Data and conditions to not have to given at equally spaced values (the knots)  Nonuniform and uniform splines  Can have repeated knots  Cox-deBoor recursion gives method of evaluation 26
  • 27. NURBS  Nonuniform Rational B-Spline curves and surfaces add a fourth variable w to x,y,z  Can interpret as weight to give more importance to some control data  Can also interpret as moving to homogeneous coordinate  Requires a perspective division  NURBS act correctly for perspective viewing  Quadrics are a special case of NURBS 27
  • 28. Rendering Curves and Surfaces  Introduce methods to draw curves  For explicit and parametric: we can evaluate the curve or surface at a sufficient number of points that we can approximate it with our standard flat objects  For implicit surfaces: we can compute points on the object that are the intersection of rays from the center of projection through pixels with the object 28
  • 29. Evaluating Polynomials  Simplest method to render a polynomial curve is to evaluate the polynomial at many points and form an approximating polyline  For surfaces we can form an approximating mesh of triangles or quadrilaterals  Use Horner’s method to evaluate polynomials p(u)=c0+u(c1+u(c2+uc3)) 29
  • 30. Recursive Subdivision of Be´zier Polynomials  The most elegant rendering method performs  based on the use of the convex hull ‫الهياكل المحدبة‬  never requires explicit evaluation of the polynomial ‫ال يتطلب‬ ‫عرض واضح لكثيرة الحدود‬ 30
  • 31. THE UTAH TEAPOT  Most famous data set in computer graphics  Widely available as a list of 306 3D vertices and the indices that define 32 Bezier patches 31
  • 32. THE UTAH TEAPOT - con  We can shows the teapot as a wireframe and with constant shading 32
  • 33. ALGEBRAIC SURFACES - Quadrics  Although quadrics can be generated as special case of NURBS curves  Quadrics are described by implicit algebraic equations  Quadric can be written in the form : 33
  • 34. Quadrics  This class of surfaces includes ellipsoids, parabaloids, and hyperboloids  We can write the general equation 34
  • 35. Rendering of Surfaces by Ray Casting  Quadrics are easy to render  we can find the intersection of a quadric with a ray by solving a scalar quadratic equation  We represent the ray from p0 in the direction d parametrically as  scalar equation for α: 35
  • 36. SUBDIVISION CURVES AND SURFACES 36
  • 37. Mesh Subdivision  A theory of subdivision surfaces has emerged that deals with both the theoretical and practical aspects of these ideas.  We have two type of meshes:  triangles meshes.  quadrilaterals meshes. 37
  • 38. 38
  • 39. Meshes methods  Catmull Clark method: use to form a quadrilateral mesh.  produces a smoother surface  This method tends to move edge vertices at corners more than other outer vertices. 39
  • 40. 40
  • 41. 2- Loop subdivision method:- 41
  • 42. 42
  • 43. 43
  • 44. Seminar Team:  Theoretical :  Mawada Sayed Mohammed Mohammed  Mohammed Mahmoud Ibrahim Musa  Hams Ibrahim Mohammed Idris  Abdallah Ahmed Modawi Mohammed  Ethar Abasher Musa Hamad  Practical :  Mujahid Ahmed Mohammed Babeker  Eltayb Babeker Mohammed Ahmed  Salah Eldeen Mohammed Ismail Ibrahim 44