SlideShare a Scribd company logo
Introduction To Curves
C. P. Divate
Abstract
• We present and study existing digital differential analyzer (DDA) algorithms for circle generation,
including an improved two-step DDA algorithm which can be implemented solely in terms of
elementary shifts, addition, and subtraction.
Introduction
• Digital interpolation algorithms are widely used in machine tools with numerical control, graphics
displays and plotters, and manipulation robots. Circles and circular arcs frequently appear in
computer graphics, computer-controlled printing, and automated control;
• One of most popular methods for generation of circles and arcs is known as digital differential
analyzer (DDA).
• In this chapter a new improved two-step algorithm for DDA circle generation is presented.
• The accuracy of this method is higher than the accuracy of other known algorithms.
• Because of its simplicity (it uses only elementary shift, addition, and subtraction); this method can
also be used in numerical control, planning mechanisms, and so forth.
DDA Algorithms
• The general class of DDA algorithms for circles generation is based on obvious trigonometric
transformations describing rotation of vector R in the coordinate plane x and y
• Advantages of DDA algorithms include simplicity and high speed in generating circle point coordinate
xn+1, yn+1 .
DDA Algorithms
Bezier Curve-
Bezier Curve may be defined as-
•Bezier Curve is parametric curve defined by a set of control points.
•Two points are ends of the curve.
•Other points determine the shape of the curve.
The concept of Bezier curves was given by Pierre Bezier.
Bezier Curve Example-
The following curve is an example of a Bezier curve-
Here,
• This bezier curve is defined by a set of control
points b0, b1, b2 and b3.
• Points b0 and b3 are ends of the curve.
• Points b1 and b2 determine the shape of the curve.
Bezier Curve Properties- Few important properties of a Bezier curve are-
Property-01: Bezier curve is always contained within a polygon called as convex hull of its control points.
Property-02:
• Bezier curve generally follows the shape of its defining polygon.
• The first and last points of the curve are coincident with the first and last points of the defining polygon.
Property-03:
• The degree of the polynomial defining the curve segment is one less than the total number of control
points.
Degree = Number of Control Points – 1
Bezier Curve Properties- Few important properties of a Bezier curve are-
Property-04:
• The order of the polynomial defining the curve segment is equal to the total number of control points.
Order = Number of Control Points
Property-05:
• Bezier curve exhibits the variation diminishing property.
• It means the curve do not oscillate about any straight line more often than the defining polygon.
Bezier Curve Equation-
A bezier curve is parametrically represented by-
Here,
• t is any parameter where 0 <= t <= 1
• P(t) = Any point lying on the bezier curve
• Bi = ith control point of the bezier curve
• n = degree of the curve
• Jn,i(t) = Blending function = C(n,i)ti(1-t)n-i where C(n,i) = n! / i!(n-i)!
Cubic Bezier Curve-
• Cubic bezier curve is a bezier curve with degree 3.
• The total number of control points in a cubic bezier curve is 4.
Here,
• This curve is defined by 4 control points b0, b1, b2 and b3.
• The degree of this curve is 3.
• So, it is a cubic bezier curve.
Substituting n = 3 for a cubic bezier curve, we get-
Cubic Bezier Curve-
• Cubic bezier curve is a bezier curve with degree 3.
• The total number of control points in a cubic bezier curve is 4.
Substituting n = 3 for a cubic bezier curve, we get-
Expanding the above equation, we get-
P (t) = B0J3,0(t) + B1J3,1(t) + B2J3,2(t) + B3J3,3(t) ………..(1)
Now,
Cubic Bezier Curve-
Expanding the above equation, we get-
P (t) = B0J3,0(t) + B1J3,1(t) + B2J3,2(t) + B3J3,3(t) ………..(1)
Now,
Cubic Bezier Curve-
Expanding the above equation, we get-
P (t) = B0J3,0(t) + B1J3,1(t) + B2J3,2(t) + B3J3,3(t) ………..(1)
Now,
Using (2), (3), (4) and (5) in (1), we get-
P(t) = B0(1-t)3 + B13t(1-t)2 + B23t2(1-t) + B3t3
This is the required parametric equation for a cubic bezier curve.
Applications of Bezier Curve-
Bezier curves have their applications in the following fields-
1. Computer Graphics-
• Bezier curves are widely used in computer graphics to model smooth curves.
• The curve is completely contained in the convex hull of its control points.
• So, the points can be graphically displayed & used to manipulate the curve intuitively.
2. Animation-
• Bezier curves are used to outline movement in animation applications such as Adobe Flash and synfig.
• Users outline the wanted path in bezier curves.
• The application creates the needed frames for the object to move along the path.
• For 3D animation, bezier curves are often used to define 3D paths as well as 2D curves.
3. Fonts-
• True type fonts use composite bezier curves composed of quadratic bezier curves.
• Modern imaging systems like postscript, asymptote etc use composite bezier curves composed of cubic bezier
curves for drawing curved shapes.
2
Koch Curve
What is Koch Curve?
The Koch snowflake (also known as the Koch curve, Koch star, or Koch island) is a
mathematical curve and one of the earliest fractal curves to have been described. It is
based on the Koch curve, which appeared in a 1904 paper titled “On a continuous curve
without tangents, constructible from elementary geometry” by the Swedish
mathematician Helge von Koch.
The progression for the area of the snowflake converges to 8/5 times the area of the
original triangle, while the progression for the snowflake’s perimeter diverges to infinity.
Consequently, the snowflake has a finite area bounded by an infinitely long line.
3
Depth 1
1 line segment
4
Depth 2
Contains 4 depth-1 curves
(4 line segments)
5
Depth 3
Contains 4 depth-2 curves
(16 line segments)
6
Depth 4
Contains 4 depth-3 curves
(64 line segments)
7
Depth 5
Contains 4 depth-4 curves
(256 line segments)
Construction
Step1: Draw an equilateral triangle. You can draw it with a compass or
protractor, or just eyeball it if you don’t want to spend too much time
drawing the snowflake.
It’s best if the length of the sides are divisible by 3, because of the nature
of this fractal. This will become clear in the next few steps.
Construction
Step2: Divide each side in three equal parts. This is why it is handy to have the
sides divisible by three.
Construction
Step3: Draw an equilateral triangle on each middle part. Measure the length of the
middle third to know the length of the sides of these new triangles.
Construction
Step4: Divide each outer side into thirds. You can see the 2nd generation of
triangles covers a bit of the first. These three line segments shouldn’t
be parted in three.
Construction
Step5: Draw an equilateral triangle on each middle part. Note how you draw each
next generation of parts that are one 3rd of the mast one.
8
Pseudocode Algorithm
Tomake a Koch Curve:
• Draw a straight line if depth is zero; otherwise
draw four smaller Koch Curves.
Koch Curve
The Koch curve is to divide a line into three equal segments and replace the
middle segment with two lines of the same length.
12
• The Koch snowflake can be constructed by starting
with an equilateral triangle, then recursively altering
each line segment as follows:
divide the line segment into fore segments of equal
length.
draw an equilateral triangle that has the middle
segment from step 1 as its base and points outward.
remove the line segment that is the base of the triangle
from step 2.
28
Koch Curve(Construction)
Koch Curve
Start with a line.
Line Segment Transformation
(x1,y1)
(x4,y4)
(x3,y3)
(x2,y2)
(x5,y5)
(x1,y1)
(x5,y5)
Segment Calculations
Calculating the Projection
l
l
y = √3/2l
x = ½l
m2 + (½ l)2 =l2
m2 + ¼ l2 =l2
√m2 = √¾ l2
m = √3/2l * 1/3 = √3l/6
1/3 length of each iteration

More Related Content

Similar to Computer Graphics Introduction To Curves

1516 contouring
1516 contouring1516 contouring
1516 contouring
Dr Fereidoun Dejahang
 
CAD - UNIT 2 (Geometric Modelling)
CAD - UNIT 2 (Geometric Modelling)CAD - UNIT 2 (Geometric Modelling)
CAD - UNIT 2 (Geometric Modelling)
Priscilla CPG
 
ME6501 Unit 2 geometric modeling
ME6501 Unit 2 geometric modelingME6501 Unit 2 geometric modeling
ME6501 Unit 2 geometric modeling
Javith Saleem
 
cg mod2.pdf
cg mod2.pdfcg mod2.pdf
cg mod2.pdf
ssuserf3db48
 
Surface models
Surface modelsSurface models
Surface models
nmahi96
 
10_1425_web_Lec_04_2D_Motion.pdf
10_1425_web_Lec_04_2D_Motion.pdf10_1425_web_Lec_04_2D_Motion.pdf
10_1425_web_Lec_04_2D_Motion.pdf
KumarRoshan23
 
Curve modeling bezier curves
Curve modeling bezier curvesCurve modeling bezier curves
Curve modeling bezier curves
jhansi1986
 
UNIT V.pptx
UNIT V.pptxUNIT V.pptx
UNIT V.pptx
srihariharika
 
Plastica 1º eso
Plastica 1º eso Plastica 1º eso
Plastica 1º eso
Conchita Fernandez
 
Eg unit 1 2
Eg unit 1 2Eg unit 1 2
Eg unit 1 2
Sundra3
 
Pictorial projection
Pictorial projectionPictorial projection
Pictorial projection
musadoto
 
curve one
curve onecurve one
curve one
Mahmudul Hasan
 
ch4.pptx
ch4.pptxch4.pptx
ch4.pptx
OnkarTalekar4
 
Anti aliasing,area sampling,koch curve and c curve
Anti aliasing,area sampling,koch curve and c curveAnti aliasing,area sampling,koch curve and c curve
Anti aliasing,area sampling,koch curve and c curve
Pallab Kumar Nandi
 
Construction class 9
Construction class 9Construction class 9
Construction class 9
Vijaya Singh
 
Construction of maths class 9th
Construction of maths class 9th Construction of maths class 9th
Construction of maths class 9th
Sanyam Gandotra
 
Diagrams part 4
Diagrams part 4Diagrams part 4
Diagrams part 4
AkkiMaruthi2
 
Surface design and visible surfaces
Surface design and visible surfacesSurface design and visible surfaces
Surface design and visible surfaces
Arti Parab Academics
 
Lect14
Lect14Lect14
Lect14
aa11bb11
 
Lec-4_Rendering-1.pdf
Lec-4_Rendering-1.pdfLec-4_Rendering-1.pdf
Lec-4_Rendering-1.pdf
RuatiBT20CS014
 

Similar to Computer Graphics Introduction To Curves (20)

1516 contouring
1516 contouring1516 contouring
1516 contouring
 
CAD - UNIT 2 (Geometric Modelling)
CAD - UNIT 2 (Geometric Modelling)CAD - UNIT 2 (Geometric Modelling)
CAD - UNIT 2 (Geometric Modelling)
 
ME6501 Unit 2 geometric modeling
ME6501 Unit 2 geometric modelingME6501 Unit 2 geometric modeling
ME6501 Unit 2 geometric modeling
 
cg mod2.pdf
cg mod2.pdfcg mod2.pdf
cg mod2.pdf
 
Surface models
Surface modelsSurface models
Surface models
 
10_1425_web_Lec_04_2D_Motion.pdf
10_1425_web_Lec_04_2D_Motion.pdf10_1425_web_Lec_04_2D_Motion.pdf
10_1425_web_Lec_04_2D_Motion.pdf
 
Curve modeling bezier curves
Curve modeling bezier curvesCurve modeling bezier curves
Curve modeling bezier curves
 
UNIT V.pptx
UNIT V.pptxUNIT V.pptx
UNIT V.pptx
 
Plastica 1º eso
Plastica 1º eso Plastica 1º eso
Plastica 1º eso
 
Eg unit 1 2
Eg unit 1 2Eg unit 1 2
Eg unit 1 2
 
Pictorial projection
Pictorial projectionPictorial projection
Pictorial projection
 
curve one
curve onecurve one
curve one
 
ch4.pptx
ch4.pptxch4.pptx
ch4.pptx
 
Anti aliasing,area sampling,koch curve and c curve
Anti aliasing,area sampling,koch curve and c curveAnti aliasing,area sampling,koch curve and c curve
Anti aliasing,area sampling,koch curve and c curve
 
Construction class 9
Construction class 9Construction class 9
Construction class 9
 
Construction of maths class 9th
Construction of maths class 9th Construction of maths class 9th
Construction of maths class 9th
 
Diagrams part 4
Diagrams part 4Diagrams part 4
Diagrams part 4
 
Surface design and visible surfaces
Surface design and visible surfacesSurface design and visible surfaces
Surface design and visible surfaces
 
Lect14
Lect14Lect14
Lect14
 
Lec-4_Rendering-1.pdf
Lec-4_Rendering-1.pdfLec-4_Rendering-1.pdf
Lec-4_Rendering-1.pdf
 

More from Chandrakant Divate

Web Technology LAB MANUAL for Undergraduate Programs
Web Technology  LAB MANUAL for Undergraduate ProgramsWeb Technology  LAB MANUAL for Undergraduate Programs
Web Technology LAB MANUAL for Undergraduate Programs
Chandrakant Divate
 
UNIVERSAL HUMAN VALUES- Harmony in the Nature
UNIVERSAL HUMAN VALUES- Harmony in the NatureUNIVERSAL HUMAN VALUES- Harmony in the Nature
UNIVERSAL HUMAN VALUES- Harmony in the Nature
Chandrakant Divate
 
Study of Computer Hardware System using Block Diagram
Study of Computer Hardware System using Block DiagramStudy of Computer Hardware System using Block Diagram
Study of Computer Hardware System using Block Diagram
Chandrakant Divate
 
Computer System Output Devices Peripherals
Computer System Output  Devices PeripheralsComputer System Output  Devices Peripherals
Computer System Output Devices Peripherals
Chandrakant Divate
 
Computer system Input Devices Peripherals
Computer system Input  Devices PeripheralsComputer system Input  Devices Peripherals
Computer system Input Devices Peripherals
Chandrakant Divate
 
Computer system Input and Output Devices
Computer system Input and Output DevicesComputer system Input and Output Devices
Computer system Input and Output Devices
Chandrakant Divate
 
Introduction to COMPUTER’S MEMORY RAM and ROM
Introduction to COMPUTER’S MEMORY RAM and ROMIntroduction to COMPUTER’S MEMORY RAM and ROM
Introduction to COMPUTER’S MEMORY RAM and ROM
Chandrakant Divate
 
Introduction to Computer Hardware Systems
Introduction to Computer Hardware SystemsIntroduction to Computer Hardware Systems
Introduction to Computer Hardware Systems
Chandrakant Divate
 
Fundamentals of Internet of Things (IoT) Part-2
Fundamentals of Internet of Things (IoT) Part-2Fundamentals of Internet of Things (IoT) Part-2
Fundamentals of Internet of Things (IoT) Part-2
Chandrakant Divate
 
Fundamentals of Internet of Things (IoT)
Fundamentals of Internet of Things (IoT)Fundamentals of Internet of Things (IoT)
Fundamentals of Internet of Things (IoT)
Chandrakant Divate
 
Introduction to Artificial Intelligence ( AI)
Introduction to Artificial Intelligence ( AI)Introduction to Artificial Intelligence ( AI)
Introduction to Artificial Intelligence ( AI)
Chandrakant Divate
 
Fundamentals of functions in C program.pptx
Fundamentals of functions in C program.pptxFundamentals of functions in C program.pptx
Fundamentals of functions in C program.pptx
Chandrakant Divate
 
Fundamentals of Structure in C Programming
Fundamentals of Structure in C ProgrammingFundamentals of Structure in C Programming
Fundamentals of Structure in C Programming
Chandrakant Divate
 
INPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN C
INPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN CINPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN C
INPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN C
Chandrakant Divate
 
Programming in C - Fundamental Study of Strings
Programming in C - Fundamental Study of  StringsProgramming in C - Fundamental Study of  Strings
Programming in C - Fundamental Study of Strings
Chandrakant Divate
 
Basics of Control Statement in C Languages
Basics of Control Statement in C LanguagesBasics of Control Statement in C Languages
Basics of Control Statement in C Languages
Chandrakant Divate
 
Features and Fundamentals of C Language for Beginners
Features and Fundamentals of C Language for BeginnersFeatures and Fundamentals of C Language for Beginners
Features and Fundamentals of C Language for Beginners
Chandrakant Divate
 
Basics of Programming Algorithms and Flowchart
Basics of Programming Algorithms and FlowchartBasics of Programming Algorithms and Flowchart
Basics of Programming Algorithms and Flowchart
Chandrakant Divate
 
Computer Graphics Three-Dimensional Geometric Transformations
Computer Graphics Three-Dimensional Geometric TransformationsComputer Graphics Three-Dimensional Geometric Transformations
Computer Graphics Three-Dimensional Geometric Transformations
Chandrakant Divate
 
Computer Graphics - Windowing and Clipping
Computer Graphics - Windowing and ClippingComputer Graphics - Windowing and Clipping
Computer Graphics - Windowing and Clipping
Chandrakant Divate
 

More from Chandrakant Divate (20)

Web Technology LAB MANUAL for Undergraduate Programs
Web Technology  LAB MANUAL for Undergraduate ProgramsWeb Technology  LAB MANUAL for Undergraduate Programs
Web Technology LAB MANUAL for Undergraduate Programs
 
UNIVERSAL HUMAN VALUES- Harmony in the Nature
UNIVERSAL HUMAN VALUES- Harmony in the NatureUNIVERSAL HUMAN VALUES- Harmony in the Nature
UNIVERSAL HUMAN VALUES- Harmony in the Nature
 
Study of Computer Hardware System using Block Diagram
Study of Computer Hardware System using Block DiagramStudy of Computer Hardware System using Block Diagram
Study of Computer Hardware System using Block Diagram
 
Computer System Output Devices Peripherals
Computer System Output  Devices PeripheralsComputer System Output  Devices Peripherals
Computer System Output Devices Peripherals
 
Computer system Input Devices Peripherals
Computer system Input  Devices PeripheralsComputer system Input  Devices Peripherals
Computer system Input Devices Peripherals
 
Computer system Input and Output Devices
Computer system Input and Output DevicesComputer system Input and Output Devices
Computer system Input and Output Devices
 
Introduction to COMPUTER’S MEMORY RAM and ROM
Introduction to COMPUTER’S MEMORY RAM and ROMIntroduction to COMPUTER’S MEMORY RAM and ROM
Introduction to COMPUTER’S MEMORY RAM and ROM
 
Introduction to Computer Hardware Systems
Introduction to Computer Hardware SystemsIntroduction to Computer Hardware Systems
Introduction to Computer Hardware Systems
 
Fundamentals of Internet of Things (IoT) Part-2
Fundamentals of Internet of Things (IoT) Part-2Fundamentals of Internet of Things (IoT) Part-2
Fundamentals of Internet of Things (IoT) Part-2
 
Fundamentals of Internet of Things (IoT)
Fundamentals of Internet of Things (IoT)Fundamentals of Internet of Things (IoT)
Fundamentals of Internet of Things (IoT)
 
Introduction to Artificial Intelligence ( AI)
Introduction to Artificial Intelligence ( AI)Introduction to Artificial Intelligence ( AI)
Introduction to Artificial Intelligence ( AI)
 
Fundamentals of functions in C program.pptx
Fundamentals of functions in C program.pptxFundamentals of functions in C program.pptx
Fundamentals of functions in C program.pptx
 
Fundamentals of Structure in C Programming
Fundamentals of Structure in C ProgrammingFundamentals of Structure in C Programming
Fundamentals of Structure in C Programming
 
INPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN C
INPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN CINPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN C
INPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN C
 
Programming in C - Fundamental Study of Strings
Programming in C - Fundamental Study of  StringsProgramming in C - Fundamental Study of  Strings
Programming in C - Fundamental Study of Strings
 
Basics of Control Statement in C Languages
Basics of Control Statement in C LanguagesBasics of Control Statement in C Languages
Basics of Control Statement in C Languages
 
Features and Fundamentals of C Language for Beginners
Features and Fundamentals of C Language for BeginnersFeatures and Fundamentals of C Language for Beginners
Features and Fundamentals of C Language for Beginners
 
Basics of Programming Algorithms and Flowchart
Basics of Programming Algorithms and FlowchartBasics of Programming Algorithms and Flowchart
Basics of Programming Algorithms and Flowchart
 
Computer Graphics Three-Dimensional Geometric Transformations
Computer Graphics Three-Dimensional Geometric TransformationsComputer Graphics Three-Dimensional Geometric Transformations
Computer Graphics Three-Dimensional Geometric Transformations
 
Computer Graphics - Windowing and Clipping
Computer Graphics - Windowing and ClippingComputer Graphics - Windowing and Clipping
Computer Graphics - Windowing and Clipping
 

Recently uploaded

Beckhoff Programmable Logic Control Overview Presentation
Beckhoff Programmable Logic Control Overview PresentationBeckhoff Programmable Logic Control Overview Presentation
Beckhoff Programmable Logic Control Overview Presentation
VanTuDuong1
 
Call For Paper -3rd International Conference on Artificial Intelligence Advan...
Call For Paper -3rd International Conference on Artificial Intelligence Advan...Call For Paper -3rd International Conference on Artificial Intelligence Advan...
Call For Paper -3rd International Conference on Artificial Intelligence Advan...
ijseajournal
 
DESIGN AND MANUFACTURE OF CEILING BOARD USING SAWDUST AND WASTE CARTON MATERI...
DESIGN AND MANUFACTURE OF CEILING BOARD USING SAWDUST AND WASTE CARTON MATERI...DESIGN AND MANUFACTURE OF CEILING BOARD USING SAWDUST AND WASTE CARTON MATERI...
DESIGN AND MANUFACTURE OF CEILING BOARD USING SAWDUST AND WASTE CARTON MATERI...
OKORIE1
 
EV BMS WITH CHARGE MONITOR AND FIRE DETECTION.pptx
EV BMS WITH CHARGE MONITOR AND FIRE DETECTION.pptxEV BMS WITH CHARGE MONITOR AND FIRE DETECTION.pptx
EV BMS WITH CHARGE MONITOR AND FIRE DETECTION.pptx
nikshimanasa
 
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
Paris Salesforce Developer Group
 
Height and depth gauge linear metrology.pdf
Height and depth gauge linear metrology.pdfHeight and depth gauge linear metrology.pdf
Height and depth gauge linear metrology.pdf
q30122000
 
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
nedcocy
 
openshift technical overview - Flow of openshift containerisatoin
openshift technical overview - Flow of openshift containerisatoinopenshift technical overview - Flow of openshift containerisatoin
openshift technical overview - Flow of openshift containerisatoin
snaprevwdev
 
一比一原版(uoft毕业证书)加拿大多伦多大学毕业证如何办理
一比一原版(uoft毕业证书)加拿大多伦多大学毕业证如何办理一比一原版(uoft毕业证书)加拿大多伦多大学毕业证如何办理
一比一原版(uoft毕业证书)加拿大多伦多大学毕业证如何办理
sydezfe
 
Call Girls Chennai +91-8824825030 Vip Call Girls Chennai
Call Girls Chennai +91-8824825030 Vip Call Girls ChennaiCall Girls Chennai +91-8824825030 Vip Call Girls Chennai
Call Girls Chennai +91-8824825030 Vip Call Girls Chennai
paraasingh12 #V08
 
Digital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptxDigital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptx
aryanpankaj78
 
Determination of Equivalent Circuit parameters and performance characteristic...
Determination of Equivalent Circuit parameters and performance characteristic...Determination of Equivalent Circuit parameters and performance characteristic...
Determination of Equivalent Circuit parameters and performance characteristic...
pvpriya2
 
A high-Speed Communication System is based on the Design of a Bi-NoC Router, ...
A high-Speed Communication System is based on the Design of a Bi-NoC Router, ...A high-Speed Communication System is based on the Design of a Bi-NoC Router, ...
A high-Speed Communication System is based on the Design of a Bi-NoC Router, ...
DharmaBanothu
 
Null Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAMNull Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAM
Divyanshu
 
Supermarket Management System Project Report.pdf
Supermarket Management System Project Report.pdfSupermarket Management System Project Report.pdf
Supermarket Management System Project Report.pdf
Kamal Acharya
 
Applications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdfApplications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdf
Atif Razi
 
This study Examines the Effectiveness of Talent Procurement through the Imple...
This study Examines the Effectiveness of Talent Procurement through the Imple...This study Examines the Effectiveness of Talent Procurement through the Imple...
This study Examines the Effectiveness of Talent Procurement through the Imple...
DharmaBanothu
 
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
MadhavJungKarki
 
Presentation on Food Delivery Systems
Presentation on Food Delivery SystemsPresentation on Food Delivery Systems
Presentation on Food Delivery Systems
Abdullah Al Noman
 
OOPS_Lab_Manual - programs using C++ programming language
OOPS_Lab_Manual - programs using C++ programming languageOOPS_Lab_Manual - programs using C++ programming language
OOPS_Lab_Manual - programs using C++ programming language
PreethaV16
 

Recently uploaded (20)

Beckhoff Programmable Logic Control Overview Presentation
Beckhoff Programmable Logic Control Overview PresentationBeckhoff Programmable Logic Control Overview Presentation
Beckhoff Programmable Logic Control Overview Presentation
 
Call For Paper -3rd International Conference on Artificial Intelligence Advan...
Call For Paper -3rd International Conference on Artificial Intelligence Advan...Call For Paper -3rd International Conference on Artificial Intelligence Advan...
Call For Paper -3rd International Conference on Artificial Intelligence Advan...
 
DESIGN AND MANUFACTURE OF CEILING BOARD USING SAWDUST AND WASTE CARTON MATERI...
DESIGN AND MANUFACTURE OF CEILING BOARD USING SAWDUST AND WASTE CARTON MATERI...DESIGN AND MANUFACTURE OF CEILING BOARD USING SAWDUST AND WASTE CARTON MATERI...
DESIGN AND MANUFACTURE OF CEILING BOARD USING SAWDUST AND WASTE CARTON MATERI...
 
EV BMS WITH CHARGE MONITOR AND FIRE DETECTION.pptx
EV BMS WITH CHARGE MONITOR AND FIRE DETECTION.pptxEV BMS WITH CHARGE MONITOR AND FIRE DETECTION.pptx
EV BMS WITH CHARGE MONITOR AND FIRE DETECTION.pptx
 
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
 
Height and depth gauge linear metrology.pdf
Height and depth gauge linear metrology.pdfHeight and depth gauge linear metrology.pdf
Height and depth gauge linear metrology.pdf
 
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
 
openshift technical overview - Flow of openshift containerisatoin
openshift technical overview - Flow of openshift containerisatoinopenshift technical overview - Flow of openshift containerisatoin
openshift technical overview - Flow of openshift containerisatoin
 
一比一原版(uoft毕业证书)加拿大多伦多大学毕业证如何办理
一比一原版(uoft毕业证书)加拿大多伦多大学毕业证如何办理一比一原版(uoft毕业证书)加拿大多伦多大学毕业证如何办理
一比一原版(uoft毕业证书)加拿大多伦多大学毕业证如何办理
 
Call Girls Chennai +91-8824825030 Vip Call Girls Chennai
Call Girls Chennai +91-8824825030 Vip Call Girls ChennaiCall Girls Chennai +91-8824825030 Vip Call Girls Chennai
Call Girls Chennai +91-8824825030 Vip Call Girls Chennai
 
Digital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptxDigital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptx
 
Determination of Equivalent Circuit parameters and performance characteristic...
Determination of Equivalent Circuit parameters and performance characteristic...Determination of Equivalent Circuit parameters and performance characteristic...
Determination of Equivalent Circuit parameters and performance characteristic...
 
A high-Speed Communication System is based on the Design of a Bi-NoC Router, ...
A high-Speed Communication System is based on the Design of a Bi-NoC Router, ...A high-Speed Communication System is based on the Design of a Bi-NoC Router, ...
A high-Speed Communication System is based on the Design of a Bi-NoC Router, ...
 
Null Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAMNull Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAM
 
Supermarket Management System Project Report.pdf
Supermarket Management System Project Report.pdfSupermarket Management System Project Report.pdf
Supermarket Management System Project Report.pdf
 
Applications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdfApplications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdf
 
This study Examines the Effectiveness of Talent Procurement through the Imple...
This study Examines the Effectiveness of Talent Procurement through the Imple...This study Examines the Effectiveness of Talent Procurement through the Imple...
This study Examines the Effectiveness of Talent Procurement through the Imple...
 
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
 
Presentation on Food Delivery Systems
Presentation on Food Delivery SystemsPresentation on Food Delivery Systems
Presentation on Food Delivery Systems
 
OOPS_Lab_Manual - programs using C++ programming language
OOPS_Lab_Manual - programs using C++ programming languageOOPS_Lab_Manual - programs using C++ programming language
OOPS_Lab_Manual - programs using C++ programming language
 

Computer Graphics Introduction To Curves

  • 2. Abstract • We present and study existing digital differential analyzer (DDA) algorithms for circle generation, including an improved two-step DDA algorithm which can be implemented solely in terms of elementary shifts, addition, and subtraction.
  • 3. Introduction • Digital interpolation algorithms are widely used in machine tools with numerical control, graphics displays and plotters, and manipulation robots. Circles and circular arcs frequently appear in computer graphics, computer-controlled printing, and automated control; • One of most popular methods for generation of circles and arcs is known as digital differential analyzer (DDA). • In this chapter a new improved two-step algorithm for DDA circle generation is presented. • The accuracy of this method is higher than the accuracy of other known algorithms. • Because of its simplicity (it uses only elementary shift, addition, and subtraction); this method can also be used in numerical control, planning mechanisms, and so forth.
  • 4. DDA Algorithms • The general class of DDA algorithms for circles generation is based on obvious trigonometric transformations describing rotation of vector R in the coordinate plane x and y • Advantages of DDA algorithms include simplicity and high speed in generating circle point coordinate xn+1, yn+1 .
  • 6. Bezier Curve- Bezier Curve may be defined as- •Bezier Curve is parametric curve defined by a set of control points. •Two points are ends of the curve. •Other points determine the shape of the curve. The concept of Bezier curves was given by Pierre Bezier. Bezier Curve Example- The following curve is an example of a Bezier curve- Here, • This bezier curve is defined by a set of control points b0, b1, b2 and b3. • Points b0 and b3 are ends of the curve. • Points b1 and b2 determine the shape of the curve.
  • 7. Bezier Curve Properties- Few important properties of a Bezier curve are- Property-01: Bezier curve is always contained within a polygon called as convex hull of its control points. Property-02: • Bezier curve generally follows the shape of its defining polygon. • The first and last points of the curve are coincident with the first and last points of the defining polygon. Property-03: • The degree of the polynomial defining the curve segment is one less than the total number of control points. Degree = Number of Control Points – 1
  • 8. Bezier Curve Properties- Few important properties of a Bezier curve are- Property-04: • The order of the polynomial defining the curve segment is equal to the total number of control points. Order = Number of Control Points Property-05: • Bezier curve exhibits the variation diminishing property. • It means the curve do not oscillate about any straight line more often than the defining polygon.
  • 9. Bezier Curve Equation- A bezier curve is parametrically represented by- Here, • t is any parameter where 0 <= t <= 1 • P(t) = Any point lying on the bezier curve • Bi = ith control point of the bezier curve • n = degree of the curve • Jn,i(t) = Blending function = C(n,i)ti(1-t)n-i where C(n,i) = n! / i!(n-i)!
  • 10. Cubic Bezier Curve- • Cubic bezier curve is a bezier curve with degree 3. • The total number of control points in a cubic bezier curve is 4. Here, • This curve is defined by 4 control points b0, b1, b2 and b3. • The degree of this curve is 3. • So, it is a cubic bezier curve. Substituting n = 3 for a cubic bezier curve, we get-
  • 11. Cubic Bezier Curve- • Cubic bezier curve is a bezier curve with degree 3. • The total number of control points in a cubic bezier curve is 4. Substituting n = 3 for a cubic bezier curve, we get- Expanding the above equation, we get- P (t) = B0J3,0(t) + B1J3,1(t) + B2J3,2(t) + B3J3,3(t) ………..(1) Now,
  • 12. Cubic Bezier Curve- Expanding the above equation, we get- P (t) = B0J3,0(t) + B1J3,1(t) + B2J3,2(t) + B3J3,3(t) ………..(1) Now,
  • 13. Cubic Bezier Curve- Expanding the above equation, we get- P (t) = B0J3,0(t) + B1J3,1(t) + B2J3,2(t) + B3J3,3(t) ………..(1) Now, Using (2), (3), (4) and (5) in (1), we get- P(t) = B0(1-t)3 + B13t(1-t)2 + B23t2(1-t) + B3t3 This is the required parametric equation for a cubic bezier curve.
  • 14. Applications of Bezier Curve- Bezier curves have their applications in the following fields- 1. Computer Graphics- • Bezier curves are widely used in computer graphics to model smooth curves. • The curve is completely contained in the convex hull of its control points. • So, the points can be graphically displayed & used to manipulate the curve intuitively. 2. Animation- • Bezier curves are used to outline movement in animation applications such as Adobe Flash and synfig. • Users outline the wanted path in bezier curves. • The application creates the needed frames for the object to move along the path. • For 3D animation, bezier curves are often used to define 3D paths as well as 2D curves. 3. Fonts- • True type fonts use composite bezier curves composed of quadratic bezier curves. • Modern imaging systems like postscript, asymptote etc use composite bezier curves composed of cubic bezier curves for drawing curved shapes.
  • 15. 2 Koch Curve What is Koch Curve? The Koch snowflake (also known as the Koch curve, Koch star, or Koch island) is a mathematical curve and one of the earliest fractal curves to have been described. It is based on the Koch curve, which appeared in a 1904 paper titled “On a continuous curve without tangents, constructible from elementary geometry” by the Swedish mathematician Helge von Koch. The progression for the area of the snowflake converges to 8/5 times the area of the original triangle, while the progression for the snowflake’s perimeter diverges to infinity. Consequently, the snowflake has a finite area bounded by an infinitely long line.
  • 16. 3 Depth 1 1 line segment
  • 17. 4 Depth 2 Contains 4 depth-1 curves (4 line segments)
  • 18. 5 Depth 3 Contains 4 depth-2 curves (16 line segments)
  • 19. 6 Depth 4 Contains 4 depth-3 curves (64 line segments)
  • 20. 7 Depth 5 Contains 4 depth-4 curves (256 line segments)
  • 21. Construction Step1: Draw an equilateral triangle. You can draw it with a compass or protractor, or just eyeball it if you don’t want to spend too much time drawing the snowflake. It’s best if the length of the sides are divisible by 3, because of the nature of this fractal. This will become clear in the next few steps.
  • 22. Construction Step2: Divide each side in three equal parts. This is why it is handy to have the sides divisible by three.
  • 23. Construction Step3: Draw an equilateral triangle on each middle part. Measure the length of the middle third to know the length of the sides of these new triangles.
  • 24. Construction Step4: Divide each outer side into thirds. You can see the 2nd generation of triangles covers a bit of the first. These three line segments shouldn’t be parted in three.
  • 25. Construction Step5: Draw an equilateral triangle on each middle part. Note how you draw each next generation of parts that are one 3rd of the mast one.
  • 26. 8 Pseudocode Algorithm Tomake a Koch Curve: • Draw a straight line if depth is zero; otherwise draw four smaller Koch Curves.
  • 27. Koch Curve The Koch curve is to divide a line into three equal segments and replace the middle segment with two lines of the same length. 12
  • 28. • The Koch snowflake can be constructed by starting with an equilateral triangle, then recursively altering each line segment as follows: divide the line segment into fore segments of equal length. draw an equilateral triangle that has the middle segment from step 1 as its base and points outward. remove the line segment that is the base of the triangle from step 2. 28 Koch Curve(Construction)
  • 32. Calculating the Projection l l y = √3/2l x = ½l m2 + (½ l)2 =l2 m2 + ¼ l2 =l2 √m2 = √¾ l2 m = √3/2l * 1/3 = √3l/6 1/3 length of each iteration